@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/tajawal-400-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/tajawal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/tajawal-700-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/tajawal-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/tajawal-800-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/tajawal-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}


:root{--gold:#c9a24a;--gold-2:#e3c477;--gold-d:#9a7429;--ink:#0e0e0f;--ink-2:#17171a;--ink-3:#232327;--paper:#faf8f4;--soft:#f2ede3;--text:#1c1c1e;--muted:#5e5a52;--line:#e6dfd0;--r:14px;--wrap:1180px;--font:'Tajawal',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--paper);line-height:1.65;font-size:17px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}
.skip{position:absolute;inset-inline-start:8px;top:-80px;background:var(--gold);color:#000;padding:8px 14px;z-index:99}.skip:focus{top:8px}
:focus-visible{outline:3px solid var(--gold-2);outline-offset:3px;border-radius:6px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{letter-spacing:0;line-height:1.35}
h2{font-size:clamp(1.7rem,4.4vw,2.6rem)}
.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--gold-d);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;margin:0 0 10px}
html[lang=ar] .kicker{letter-spacing:0;font-size:.95rem;text-transform:none}
.kicker::before{content:"";width:28px;height:2px;background:currentColor}
.sub{color:var(--muted);max-width:60ch;margin-top:0}
.ico{width:1.15em;height:1.15em;fill:currentColor;flex:none}.ico-lg{width:1.6em;height:1.6em}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .2s,color .2s,border-color .2s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold) 55%,var(--gold-d));color:#141008}
.btn-gold:hover{filter:brightness(1.06)}
.btn-line{border-color:currentColor;background:transparent}
.btn-line:hover{background:rgba(201,162,74,.12)}
.btn-wa{background:#25d366;color:#06240f}
.btn-sm{min-height:40px;padding:0 16px;font-size:.92rem}
/* top bar */
.topbar{position:sticky;top:0;z-index:40;background:rgba(14,14,15,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);color:#fff;border-bottom:1px solid rgba(201,162,74,.25)}
.topbar-in{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:38px;height:auto}
.brand-txt{display:flex;flex-direction:column;line-height:1.05}.brand-txt b{font-size:1.1rem;color:var(--gold-2)}.brand-txt small{font-size:.72rem;color:#cfc8b8;letter-spacing:.06em}
html[lang=ar] .brand-txt small{letter-spacing:0;font-size:.8rem}
.nav{display:none;gap:22px;margin-inline-start:auto}
.nav a{text-decoration:none;color:#e9e4d8;font-weight:400;font-size:.95rem}.nav a:hover{color:var(--gold-2)}
.top-actions{display:flex;align-items:center;gap:8px;margin-inline-start:auto}
.lang{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.lang:hover{border-color:var(--gold)}
.top-call{display:none}
@media (min-width:980px){.nav{display:flex}.top-actions{margin-inline-start:12px}.top-call{display:inline-flex}}
/* hero */
.hero{position:relative;background:radial-gradient(120% 80% at 85% 10%,#2a2416 0,var(--ink) 55%) ;color:#fff;overflow:hidden;padding:36px 0 0}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.hero-in{display:grid;gap:28px;align-items:center}
.hero-logo{width:120px;margin-bottom:18px}
.eyebrow{color:var(--gold-2);font-weight:700;margin:0 0 8px;font-size:.95rem}
.hero h1{font-size:clamp(2.1rem,8.6vw,4.2rem);margin-bottom:16px}
.hero h1 span{display:block;color:#fff}
.hero h1 em{display:block;font-style:normal;background:linear-gradient(100deg,var(--gold-2),var(--gold) 50%,#f5dfa4);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.1rem;color:#d9d3c5;max-width:52ch;margin:0 0 24px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-cta .btn-line{color:#fff}
.place{display:flex;align-items:center;gap:8px;color:#bfb7a5;margin:22px 0 0;font-size:.95rem}.place .ico{color:var(--gold)}
.hero-art{margin:0;position:relative;justify-self:center;max-width:380px}
.hero-art img{filter:drop-shadow(0 30px 50px rgba(0,0,0,.6))}
.stats{list-style:none;padding:0;margin:34px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(201,162,74,.22);border:1px solid rgba(201,162,74,.22);border-radius:var(--r) var(--r) 0 0;overflow:hidden}
.stats li{background:var(--ink-2);padding:18px 16px;display:flex;flex-direction:column;gap:4px}
.stats b{font-size:1.6rem;color:var(--gold-2);font-weight:800;line-height:1;display:flex;align-items:center;min-height:1.6rem}
.stats span{color:#cfc8b8;font-size:.88rem;line-height:1.4}
@media (min-width:860px){.hero{padding-top:56px}.hero-in{grid-template-columns:1.15fr .85fr;gap:48px}.hero-logo{width:150px}.hero-art{max-width:440px}.stats{grid-template-columns:repeat(4,1fr);margin-top:50px}}
/* sections */
.sec{padding:72px 0}
@media (min-width:860px){.sec{padding:100px 0}}
.dark{background:var(--ink);color:#f1ece1}.dark .kicker{color:var(--gold-2)}.dark .sub{color:#bfb7a5}
.soft{background:var(--soft)}
.about-grid{display:grid;gap:36px}
.about-grid p{color:#3a3731}
.mv{display:grid;gap:18px;align-content:start}
.mv-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:0 10px 30px -18px rgba(60,40,0,.25)}
.mv-card h3{font-size:1.35rem;color:var(--gold-d);display:flex;align-items:center;gap:10px}
.mv-card h3::before{content:"";width:10px;height:10px;border-radius:50%;flex:none;background:var(--gold)}
.mv-card p{margin:0 0 .7em}.mv-card p:last-child{margin:0}
.mv-gold{background:linear-gradient(140deg,#1b1a17,#0e0e0f);color:#efe9dc;border-color:#2b2618}.mv-gold p{color:#e2dccd}.mv-gold h3{color:var(--gold-2)}
@media (min-width:960px){.about-grid{grid-template-columns:1.1fr .9fr;gap:60px}}
/* services */
.svc-grid{display:grid;gap:16px;margin-top:26px}
.svc{background:var(--ink-2);border:1px solid #2b2a27;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.svc:hover{border-color:rgba(201,162,74,.6);transform:translateY(-2px)}
.svc-img{aspect-ratio:16/10;overflow:hidden;background:#222}.svc-img img{width:100%;height:100%;object-fit:cover}
.svc-body{padding:20px 20px 22px}
.svc-n{color:var(--gold);font-weight:800;font-size:.85rem}
.svc h3{font-size:1.2rem;margin:4px 0 6px;color:#fff}.svc p{margin:0;color:#bdb6a6;font-size:.98rem}
.svc-note{margin:30px 0 0;text-align:center;font-weight:700;font-size:1.15rem;color:var(--gold-2)}
@media (min-width:640px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.svc-grid{grid-template-columns:repeat(3,1fr);gap:22px}}
/* gallery */
.filters{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin:18px -2px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.filters::-webkit-scrollbar{display:none}
.chip{flex:none;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit;font-weight:600;font-size:.92rem;cursor:pointer}
.chip.is-on{background:var(--ink);color:var(--gold-2);border-color:var(--ink)}
.gallery{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.g-item{position:relative;border-radius:10px;overflow:hidden;background:#e9e3d6;aspect-ratio:1/1}
.g-item[hidden]{display:none}
.g-link{display:block;width:100%;height:100%}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.g-link:hover img{transform:scale(1.05)}
@media (min-width:700px){.gallery{grid-template-columns:repeat(3,1fr);gap:12px}}
@media (min-width:1050px){.gallery{grid-template-columns:repeat(4,1fr)}}
.more-wrap{display:flex;justify-content:center;margin-top:22px}
.feature{margin-top:48px;border-radius:var(--r);overflow:hidden;background:var(--ink)}
.feature-imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.feature-imgs img{width:100%;height:100%;aspect-ratio:10/9;object-fit:cover;object-position:top}
.feature-t{color:var(--gold-2);text-align:center;margin:0;padding:18px 16px;font-size:clamp(1.15rem,3vw,1.5rem)}
.booth{margin-top:48px;padding:28px;border-inline-start:4px solid var(--gold);background:#fff;border-radius:0 var(--r) var(--r) 0;box-shadow:0 10px 30px -20px rgba(60,40,0,.3)}
html[dir=rtl] .booth{border-radius:var(--r) 0 0 var(--r)}
.booth h3{font-size:1.4rem}.booth p{color:#3a3731}
.booth-cta{font-weight:700;color:var(--gold-d)!important;margin-bottom:0}
/* process */
.steps{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px;counter-reset:s}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 18px;position:relative}
.step-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--ink);color:var(--gold-2);font-weight:800;margin-bottom:12px}
.step h3{font-size:1.15rem}
.step ul{margin:0;padding-inline-start:18px;color:var(--muted);font-size:.96rem}.step li{margin:.25em 0}.step li::marker{color:var(--gold)}
@media (min-width:700px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.steps{grid-template-columns:repeat(5,1fr)}}
/* team */
.team-grid{display:grid;gap:28px}
.deps{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.dep{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.dep-n{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--gold-2),var(--gold-d));color:#1a1307;font-weight:800}
.dep h3{font-size:1.08rem;margin:0}.dep-sub{color:var(--muted);font-size:.92rem}
@media (min-width:960px){.team-grid{grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}}
/* contact */
.cta-block{text-align:center;max-width:760px;margin:0 auto 56px}
.cta-block h2{background:linear-gradient(100deg,var(--gold-2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-block p{color:#cfc8b8;font-size:1.06rem}
.h-small{font-size:clamp(1.5rem,3.6vw,2.1rem)}
.branches{display:grid;gap:16px;margin-top:20px}
.branch{background:var(--ink-2);border:1px solid #2e2b24;border-radius:var(--r);padding:22px}
.branch-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.branch h3{color:#fff;font-size:1.3rem;margin:0}
.tag{font-size:.8rem;color:var(--gold-2);border:1px solid rgba(201,162,74,.45);padding:3px 10px;border-radius:999px}
.addr{display:flex;gap:8px;align-items:flex-start;color:#cfc8b8;margin:12px 0 6px}.addr .ico{color:var(--gold);margin-top:.25em}
.phone-big{display:inline-block;font-size:1.7rem;font-weight:800;color:var(--gold-2);text-decoration:none;margin:2px 0 16px;letter-spacing:.02em}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.actions .btn{padding:0 12px}
.actions .btn-line{grid-column:1/-1;color:#efe9dc}
@media (min-width:420px){.actions{grid-template-columns:repeat(3,1fr)}.actions .btn-line{grid-column:auto}}
@media (min-width:860px){.branches{grid-template-columns:1fr 1fr;gap:22px}.branch{padding:28px}}
.follow{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:40px;color:#cfc8b8;font-weight:600}
.soc{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(201,162,74,.5);color:var(--gold-2);transition:background .2s}
.soc:hover{background:rgba(201,162,74,.15)}.soc .ico{width:22px;height:22px}
.footer{background:#080809;color:#a9a294;padding:36px 0 96px;border-top:1px solid #222}
.footer-in{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.footer img{width:96px}.footer p{margin:0;font-size:.88rem}
.foot-links{display:flex;gap:12px}
.fab{position:fixed;inset-inline-end:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.35);z-index:30}
.fab .ico{width:30px;height:30px}
/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(6,6,7,.95);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb-fig{margin:0;max-width:94vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:10px}
.lb-fig img{max-width:94vw;max-height:80vh;width:auto;height:auto;border-radius:8px;object-fit:contain;touch-action:pan-y}
.lb-fig figcaption{color:#cfc8b8;font-size:.92rem}
.lb-btn{position:absolute;background:rgba(255,255,255,.1);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.lb-btn:hover{background:rgba(201,162,74,.35)}
.lb-close{top:calc(14px + env(safe-area-inset-top));inset-inline-end:14px}
.lb-prev{left:10px;top:50%;transform:translateY(-50%)}.lb-next{right:10px;top:50%;transform:translateY(-50%)}
@media (max-width:600px){.lb-prev,.lb-next{top:auto;bottom:calc(20px + env(safe-area-inset-bottom));transform:none}}
body.lb-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== motion & effects (CSS only, no libraries) ===== */
html{scroll-padding-top:76px}
:root{--ease:cubic-bezier(.2,.7,.2,1);--dir:1}
html[dir=rtl]{--dir:-1}
/* header mark: crop of the gold logo (whole mark, LTR-anchored so RTL does not clip it) */
.brand-mark{display:block;position:relative;width:46px;height:38.6px;overflow:hidden;flex:none;direction:ltr}
.brand .brand-mark img{position:absolute;left:-4px;top:0;width:52px;max-width:none;height:auto;transform:none}
/* scroll progress */
.progress{position:absolute;inset:auto 0 -1px 0;height:2px;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold-2),#fff1c4);transform:scaleX(0);transform-origin:left center;box-shadow:0 0 10px rgba(227,196,119,.7)}
html[dir=rtl] .progress i{transform-origin:right center;background:linear-gradient(270deg,var(--gold-d),var(--gold-2),#fff1c4)}
/* nav: gold animated underline + active section */
.nav a{position:relative;padding:6px 0;transition:color .25s}
.nav a::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gold-2),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);box-shadow:0 0 8px rgba(227,196,119,.6)}
html[dir=rtl] .nav a::after{transform-origin:right}
.nav a:hover::after,.nav a:focus-visible::after,.nav a.is-active::after{transform:scaleX(1)}
.nav a.is-active{color:var(--gold-2)}
/* gold buttons: light sweep */
.btn-gold{position:relative;overflow:hidden;isolation:isolate}
.btn-gold::after{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,250,230,.75) 48%,transparent 62%);transform:translateX(-110%);transition:transform .7s var(--ease)}
.btn-gold:hover::after,.btn-gold:focus-visible::after{transform:translateX(110%)}
.btn-gold:hover{box-shadow:0 8px 26px -8px rgba(227,196,119,.75)}
/* hero: Ken Burns backdrop */
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--ink)}
.hero-bg .kb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2s ease;will-change:opacity,transform}
.hero-bg .kb.on{opacity:1}
.js .hero-bg .kb.on{animation:kb 9s ease-out both}
.hero-bg .kb:nth-child(2n){transform-origin:20% 30%}.hero-bg .kb:nth-child(2n+1){transform-origin:80% 60%}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.16)}}
.hero-veil{position:absolute;inset:0;background:
 radial-gradient(70% 60% at 82% 18%,rgba(201,162,74,.22),transparent 65%),
 linear-gradient(180deg,rgba(14,14,15,.72),rgba(14,14,15,.88) 70%,var(--ink))}
@media (min-width:860px){.hero-veil{background:
 radial-gradient(60% 70% at 85% 20%,rgba(201,162,74,.2),transparent 65%),
 linear-gradient(90deg,rgba(14,14,15,.94) 0%,rgba(14,14,15,.8) 50%,rgba(14,14,15,.55) 100%),
 linear-gradient(180deg,transparent 60%,var(--ink))}
 html[dir=rtl] .hero-veil{background:
 radial-gradient(60% 70% at 15% 20%,rgba(201,162,74,.2),transparent 65%),
 linear-gradient(270deg,rgba(14,14,15,.94) 0%,rgba(14,14,15,.8) 50%,rgba(14,14,15,.55) 100%),
 linear-gradient(180deg,transparent 60%,var(--ink))}}
.hero-in,.hero .stats{position:relative;z-index:1}
/* hero: logo reveal with gold light sweep and glow */
.logo-wrap{position:relative;display:inline-block;margin-bottom:18px}
.logo-wrap .hero-logo{margin:0;filter:drop-shadow(0 0 18px rgba(227,196,119,.28))}
.logo-wrap::before{content:"";position:absolute;inset:-30%;background:radial-gradient(closest-side,rgba(227,196,119,.28),transparent);z-index:-1;opacity:.7;animation:breathe 5s ease-in-out infinite}
.logo-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(110deg,transparent 40%,rgba(255,240,195,.95) 50%,transparent 60%) no-repeat;background-size:300% 100%;background-position:120% 0;
 -webkit-mask:url(img/logo-white.png) center/contain no-repeat;mask:url(img/logo-white.png) center/contain no-repeat;
 animation:sweep 7s 1.3s var(--ease) infinite}
@keyframes sweep{0%{background-position:120% 0}22%,100%{background-position:-20% 0}}
@keyframes breathe{0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:.85;transform:scale(1.04)}}
.js .hero .logo-wrap{animation:logoIn 1.2s .15s var(--ease) both}
@keyframes logoIn{from{opacity:0;transform:scale(.82);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.js .hero .eyebrow,.js .hero h1 span,.js .hero h1 em,.js .hero .lead,.js .hero-cta,.js .hero .place{animation:up .9s var(--ease) both}
.js .hero .eyebrow{animation-delay:.45s}.js .hero h1 span{animation-delay:.6s}.js .hero h1 em{animation:up .9s .78s var(--ease) both,shimmer 7s 1.8s linear infinite,neon 1.6s .9s ease-out both}
.js .hero .lead{animation-delay:.95s}.js .hero-cta{animation-delay:1.1s}.js .hero .place{animation-delay:1.25s}
.js .hero-art{animation:artIn 1.3s .5s var(--ease) both}
.js .hero .stats li{animation:up .8s var(--ease) both;animation-delay:calc(1.2s + var(--i,0) * .1s)}
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes artIn{from{opacity:0;transform:translateX(calc(var(--dir) * 40px)) scale(.96)}to{opacity:1;transform:none}}
/* gold shimmer headings + illuminated-letter glow */
.hero h1 em,.cta-block h2,.feature-t,.svc-note,.q-title-gold{background:linear-gradient(100deg,var(--gold) 0%,var(--gold-2) 18%,#fff4d0 26%,var(--gold-2) 34%,var(--gold) 50%,var(--gold-2) 68%,#fff4d0 76%,var(--gold-2) 84%,var(--gold) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s linear infinite}
.hero h1 em{filter:drop-shadow(0 0 14px rgba(227,196,119,.38))}
@keyframes shimmer{from{background-position:0% 50%}to{background-position:-200% 50%}}
@keyframes neon{0%{filter:drop-shadow(0 0 0 rgba(227,196,119,0));opacity:.25}12%{opacity:1}16%{opacity:.4}22%{opacity:1}40%{filter:drop-shadow(0 0 26px rgba(227,196,119,.7))}100%{filter:drop-shadow(0 0 14px rgba(227,196,119,.38))}}
/* stats */
.stats b{font-variant-numeric:tabular-nums}
.stats li{position:relative;overflow:hidden}
.stats li::after{content:"";position:absolute;inset-inline:16px;bottom:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1s .2s var(--ease)}
html[dir=rtl] .stats li::after{transform-origin:right;background:linear-gradient(270deg,var(--gold),transparent)}
.stats.counted li::after{transform:scaleX(1)}
.stats li:last-child:nth-child(odd){grid-column:1/-1}
@media (min-width:860px){.stats{grid-template-columns:repeat(5,1fr)}.stats li:last-child:nth-child(odd){grid-column:auto}}
/* scroll reveal */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--td,0s)}
.js .rv.in{opacity:1;transform:none}
.kicker::before{transition:width .8s .2s var(--ease)}
.js .rv.kicker::before{width:0}.js .rv.kicker.in::before{width:28px}
/* service cards */
.svc{position:relative}
.svc-img img{transition:transform .9s var(--ease),filter .6s}
.svc:hover .svc-img img{transform:scale(1.07);filter:brightness(1.08)}
.svc:hover{box-shadow:0 18px 40px -20px rgba(201,162,74,.55)}
.svc::after,.branch::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(227,196,119,.14),transparent 60%)}
.svc:hover::after,.branch:hover::after{opacity:1}
.branch{position:relative;transition:border-color .3s}.branch:hover{border-color:rgba(201,162,74,.55)}
/* gallery: zoom + gold border glow, smooth filter swaps */
.g-item{transition:opacity .45s var(--ease),transform .45s var(--ease),box-shadow .35s;transition-delay:var(--td,0s)}
.g-item::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 0 rgba(227,196,119,0);transition:box-shadow .35s;background:linear-gradient(180deg,transparent 55%,rgba(14,14,15,.45));opacity:.0}
.g-item img{transition:transform .7s var(--ease),filter .5s}
.g-link:hover img,.g-link:focus-visible img,.g-link:active img{transform:scale(1.09);filter:brightness(1.07) saturate(1.08)}
.g-item:hover,.g-item:focus-within{box-shadow:0 14px 34px -12px rgba(201,162,74,.65);z-index:1}
.g-item:hover::after,.g-item:focus-within::after{opacity:1;box-shadow:inset 0 0 0 2px var(--gold-2),inset 0 0 26px rgba(227,196,119,.45)}
.gallery.is-swapping .g-item{opacity:0;transform:scale(.94);transition-delay:0s}
.chip{transition:background .25s,color .25s,border-color .25s,transform .15s}
.chip:hover{border-color:var(--gold)}
.chip:active{transform:scale(.96)}
.chip-n{display:inline-block;margin-inline-start:7px;font-size:.78rem;font-weight:700;color:var(--gold-d);font-variant-numeric:tabular-nums}
.chip.is-on .chip-n{color:var(--gold)}
.chip-n:empty{display:none}
.chip[hidden]{display:none}
/* 5 m printer block: parallax */
.feature-imgs{grid-template-columns:1fr 1fr}
.px{position:relative;overflow:hidden;aspect-ratio:10/9}
.px img{position:absolute;inset:0;width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover;transform:translate3d(0,var(--py,0px),0) scale(1.16);will-change:transform}
.px-wide{grid-column:1/-1;aspect-ratio:16/10}
.px-wide img{object-position:50% 40%!important}
.px-tall{grid-row:span 2;aspect-ratio:auto}
.px-tall img{object-position:50% 45%!important}
@media (min-width:760px){.feature-imgs{grid-template-columns:repeat(3,1fr)}.px-wide{aspect-ratio:21/9}.px-tall{grid-row:auto;aspect-ratio:10/9}.px-tall img{object-position:50% 30%!important}}
.feature{position:relative}
.feature::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(201,162,74,.35);z-index:2}
/* process & team */
.step{transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.step:hover{transform:translateY(-4px);border-color:rgba(201,162,74,.6);box-shadow:0 16px 34px -20px rgba(120,90,20,.5)}
.step-n{transition:box-shadow .4s}.step:hover .step-n{box-shadow:0 0 0 4px rgba(201,162,74,.25),0 0 18px rgba(227,196,119,.5)}
.dep{transition:transform .3s var(--ease),border-color .3s}.dep:hover{transform:translateX(calc(var(--dir) * 6px));border-color:rgba(201,162,74,.6)}
.dep:hover .dep-n{box-shadow:0 0 18px rgba(227,196,119,.6)}
/* floating WhatsApp: gentle pulse */
.fab{isolation:isolate;transition:transform .2s}
.fab:hover{transform:scale(1.06)}
.fab::before,.fab::after{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;z-index:-1;animation:ring 2.8s ease-out infinite}
.fab::after{animation-delay:1.4s}
@keyframes ring{0%{transform:scale(1);opacity:.45}80%,100%{transform:scale(1.7);opacity:0}}
/* request a quote (opens WhatsApp) */
.quote{display:grid;gap:26px;margin-top:44px;padding:26px;border-radius:calc(var(--r) + 4px);background:linear-gradient(150deg,#1d1a13,#121213 60%);border:1px solid rgba(201,162,74,.38);box-shadow:0 30px 60px -36px rgba(201,162,74,.45);position:relative;overflow:hidden}
.quote::before{content:"";position:absolute;width:420px;height:420px;inset-inline-end:-160px;top:-180px;background:radial-gradient(closest-side,rgba(227,196,119,.18),transparent);pointer-events:none}
.quote-intro p{color:#cfc8b8;margin:0 0 12px}
.quote-intro .h-small{color:#fff}
.quote-wa{display:flex;align-items:center;gap:8px;font-weight:700;color:#7fe0a4!important;font-size:.95rem}
.quote-form{display:grid;grid-template-columns:1fr;gap:14px;position:relative}
.field{display:flex;flex-direction:column;gap:6px;min-width:0;border:0;margin:0;padding:0}
.field label,.field legend{color:#e9e2d2;font-weight:700;font-size:.92rem;padding:0}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:#fff;background:#0c0c0d;border:1px solid #3a352a;border-radius:12px;padding:12px 14px;min-height:50px;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:110px}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-inline-end:40px}
html[dir=rtl] .field select{background-position:20px 50%,14px 50%}
.field select option{background:#151516;color:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 3px rgba(227,196,119,.22),0 0 22px -6px rgba(227,196,119,.6)}
.field.has-err input{border-color:#e0795f;box-shadow:0 0 0 3px rgba(224,121,95,.2)}
.branch-pick{flex-direction:row;flex-wrap:wrap;gap:10px}
.branch-pick legend{width:100%;margin-bottom:6px}
.seg{flex:1 1 140px;position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 14px;border-radius:999px;border:1px solid #3a352a;color:#e9e2d2;font-weight:700;transition:all .25s}
.seg input:checked+span{background:linear-gradient(135deg,var(--gold-2),var(--gold) 55%,var(--gold-d));color:#141008;border-color:transparent;box-shadow:0 6px 20px -8px rgba(227,196,119,.8)}
.seg input:focus-visible+span{outline:3px solid var(--gold-2);outline-offset:3px}
.q-err{margin:0;color:#ff9c84;font-weight:700;min-height:0}
.q-err:empty{display:none}
.btn-send{width:100%;min-height:54px;font-size:1.05rem;letter-spacing:.01em}
.btn-send::after{animation:sendShine 3.6s 1s var(--ease) infinite}
@keyframes sendShine{0%{transform:translateX(-110%)}35%,100%{transform:translateX(110%)}}
.btn-send:hover{transform:translateY(-1px)}
@media (min-width:640px){.quote-form{grid-template-columns:1fr 1fr}.field-full{grid-column:1/-1}}
@media (min-width:980px){.quote{grid-template-columns:.8fr 1.2fr;gap:44px;padding:40px;align-items:start}}
/* reduced motion: everything still, all content visible */
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js .rv{opacity:1!important;transform:none!important}
 .hero-bg .kb{transform:none!important}
 .px img{transform:scale(1.02)!important}
 .logo-wrap::after{display:none}
 .progress{display:none}
}

/* ===== 2026-10-20 pass: layout polish, circle filters, bento gallery, creative layer ===== */
h1,h2,h3,.feature-t{text-wrap:balance}
p,li{text-wrap:pretty}
.sec{position:relative;overflow:clip}
.sec>.wrap{position:relative;z-index:1}
.sec h2{margin-bottom:.45em}
.sec .sub{margin-bottom:0}
.booth .kicker,.cta-block .kicker{margin-bottom:10px}
.dark .booth .kicker{color:var(--gold-2)}
/* circle filters */
.filters{gap:12px;padding:10px 6px 14px;margin:26px -6px 20px;align-items:flex-start}
@media (min-width:900px){.filters{justify-content:center;gap:22px;overflow:visible}}
.chip{flex:none;display:flex;flex-direction:column;align-items:center;gap:9px;width:82px;min-height:0;padding:0;border:0;border-radius:0;background:none;color:var(--text);font:inherit;font-size:.8rem;line-height:1.3;position:relative}
.chip:hover{border-color:transparent}
.chip.is-on{background:none;color:var(--gold-d)}
.chip-ph{display:block;width:64px;height:64px;border-radius:50%;background:#17171a center/cover no-repeat;box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px rgba(201,162,74,.55);transition:box-shadow .35s,transform .35s var(--ease)}
.chip:hover .chip-ph,.chip:focus-visible .chip-ph{transform:translateY(-2px);box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--gold)}
.chip.is-on .chip-ph{box-shadow:0 0 0 2px var(--paper),0 0 0 4.5px var(--gold-2),0 0 24px 5px rgba(227,196,119,.55);animation:chipGlow 2.6s ease-in-out infinite}
@keyframes chipGlow{0%,100%{box-shadow:0 0 0 2px var(--paper),0 0 0 4.5px var(--gold-2),0 0 24px 5px rgba(227,196,119,.55)}50%{box-shadow:0 0 0 2px var(--paper),0 0 0 4.5px var(--gold-2),0 0 14px 2px rgba(227,196,119,.35)}}
.chip-all{display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#2b2b31,#0e0e0f)}
.chip-all svg{width:26px;height:26px;fill:none;stroke:var(--gold-2);stroke-width:1.5}
.chip-l{font-weight:700;text-align:center;max-width:100%}
.chip.is-on .chip-l{color:var(--gold-d)}
.chip-n{position:absolute;top:-2px;inset-inline-end:4px;margin:0;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--ink);color:var(--gold-2);font-size:.7rem;line-height:22px;text-align:center;box-shadow:0 0 0 2px var(--paper)}
.chip.is-on .chip-n{background:var(--gold-2);color:var(--ink)}
.chip:active{transform:scale(.97)}
@media (min-width:700px){.chip{width:108px;font-size:.88rem}.chip-ph{width:84px;height:84px}.chip-n{inset-inline-end:8px}}
/* bento gallery */
.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:calc((100vw - 50px)/2);grid-auto-flow:dense;gap:10px}
@media (min-width:700px){.gallery{grid-template-columns:repeat(3,1fr);grid-auto-rows:210px;gap:14px}}
@media (min-width:1050px){.gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:16px}}
.g-item{aspect-ratio:auto;border-radius:16px;background:#1a1a1d;box-shadow:0 0 0 1px rgba(201,162,74,.45)}
.g-big{grid-column:span 2;grid-row:span 2}
.g-tall{grid-row:span 2}
.g-wide{grid-column:span 2}
.g-item img{object-fit:cover}
.g-item:hover,.g-item:focus-within{box-shadow:0 0 0 1px var(--gold-2),0 18px 40px -14px rgba(201,162,74,.7)}
.g-item.tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-3px);transition:transform .12s linear,box-shadow .35s;transition-delay:0s}
.g-cap{position:absolute;inset-inline:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:3px;padding:44px 14px 12px;background:linear-gradient(180deg,transparent,rgba(10,10,11,.55) 40%,rgba(10,10,11,.92));color:#fff;text-align:start;pointer-events:none;transform:translateY(101%);transition:transform .45s var(--ease)}
.g-cap b{font-size:.98rem;font-weight:800;line-height:1.25}
.g-cap small{font-size:.74rem;font-weight:700;color:var(--gold-2);line-height:1.3}
.g-big .g-cap{padding:60px 20px 18px}.g-big .g-cap b{font-size:1.2rem}
.g-link:hover .g-cap,.g-link:focus-visible .g-cap{transform:none}
@media (hover:none){.g-cap{transform:none;padding:30px 10px 8px}.g-cap b{font-size:.8rem;font-weight:700}.g-cap small{display:none}.g-big .g-cap{padding:44px 14px 12px}.g-big .g-cap b{font-size:1rem}.g-big .g-cap small{display:block}}
/* printing card */
.feature-head{padding:24px 18px 20px;text-align:center;border-bottom:1px solid rgba(201,162,74,.28)}
.feature-head .kicker{color:var(--gold-2);justify-content:center;margin-bottom:8px}
.feature-head .feature-t{padding:0;margin:0 0 14px;font-size:clamp(1.35rem,4vw,1.9rem)}
.feat-pts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.feat-pts li{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;border:1px solid rgba(201,162,74,.5);border-radius:999px;color:#efe6cf;font-weight:700;font-size:.92rem;background:rgba(255,255,255,.03)}
.ln{width:22px;height:22px;fill:none;stroke:var(--gold-2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.feature-imgs{grid-template-columns:1fr 1fr}
.feature-imgs .px{aspect-ratio:1/1}
.feature-imgs .px-wide{grid-column:1/-1;aspect-ratio:16/10}
@media (min-width:760px){.feature-imgs{grid-template-columns:1fr 1fr}.feature-imgs .px{aspect-ratio:16/11}.feature-imgs .px-wide{aspect-ratio:21/9}}
/* 5 m measuring line */
.ruler{display:block;position:relative;height:12px;margin:9px 0 5px;width:100%;max-width:150px}
.ruler::before{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;border-radius:2px;background:var(--gold-2);box-shadow:0 0 8px rgba(227,196,119,.7);transform:scaleX(0);transform-origin:left;transition:transform 1.7s .15s var(--ease)}
html[dir=rtl] .ruler::before{transform-origin:right}
.ruler>i{position:absolute;inset-inline:0;bottom:2px;height:9px;background:repeating-linear-gradient(90deg,var(--gold) 0 1.5px,transparent 1.5px calc(20% - .3px));clip-path:inset(0 100% 0 0);transition:clip-path 1.7s .15s var(--ease)}
.ruler>i::after{content:"";position:absolute;inset-inline-end:0;bottom:0;width:1.5px;height:12px;background:var(--gold-2)}
html[dir=rtl] .ruler>i{background:repeating-linear-gradient(270deg,var(--gold) 0 1.5px,transparent 1.5px calc(20% - .3px));clip-path:inset(0 0 0 100%)}
.stats.counted .ruler::before{transform:scaleX(1)}
.stats.counted .ruler>i{clip-path:inset(0)}
html:not(.js) .ruler::before{transform:none}html:not(.js) .ruler>i{clip-path:none}
/* neon dividers */
.neon{position:absolute;top:0;left:50%;width:min(640px,74%);height:2px;transform:translateX(-50%);z-index:2;pointer-events:none}
.neon i{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold-2) 16%,#fff3cf 50%,var(--gold-2) 84%,transparent);opacity:.14}
.neon.on i{animation:neonOn 1.5s steps(1,end) forwards,neonHum 4.5s 1.6s ease-in-out infinite}
@keyframes neonOn{0%{opacity:.14}12%{opacity:1;box-shadow:0 0 14px 2px rgba(227,196,119,.85)}18%{opacity:.25;box-shadow:none}30%{opacity:1;box-shadow:0 0 14px 2px rgba(227,196,119,.85)}36%{opacity:.4;box-shadow:none}48%,100%{opacity:1;box-shadow:0 0 10px 1px rgba(227,196,119,.8),0 0 32px 5px rgba(227,196,119,.35)}}
@keyframes neonHum{0%,100%{box-shadow:0 0 10px 1px rgba(227,196,119,.8),0 0 32px 5px rgba(227,196,119,.35)}50%{box-shadow:0 0 6px rgba(227,196,119,.6),0 0 18px 2px rgba(227,196,119,.22)}}
/* drifting outlined watermark */
.wm{position:absolute;top:6%;inset-inline-end:-3%;z-index:0;pointer-events:none;user-select:none;font-family:var(--font);font-weight:800;font-size:clamp(150px,30vw,440px);line-height:1;white-space:nowrap;direction:rtl;color:transparent;-webkit-text-stroke:1.3px rgba(201,162,74,.2);transform:translate3d(var(--wx,0px),var(--wy,0px),0);animation:wmDrift 28s ease-in-out infinite alternate}
.dark .wm{-webkit-text-stroke-color:rgba(227,196,119,.14)}
@keyframes wmDrift{from{translate:-2% 0}to{translate:3% 0}}
/* cursor glow (desktop) */
.cursor-glow{position:fixed;left:0;top:0;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:40;background:radial-gradient(circle,rgba(227,196,119,.13) 0%,rgba(227,196,119,.05) 38%,transparent 66%);opacity:0;transition:opacity .4s;will-change:transform}
.cursor-glow.on{opacity:1}
/* icon rows: locations, WhatsApp, Instagram, Facebook */
.follow{flex-direction:column;gap:18px;margin-top:52px}
.follow-t{margin:0;color:#cfc8b8;font-weight:700;text-align:center}
.icon-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 20px}
.ib{display:flex;flex-direction:column;align-items:center;gap:8px;color:#e9e1cc;text-decoration:none;font-size:.84rem;font-weight:700}
.ib-c{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#26262b,#101012);box-shadow:inset 0 0 0 1.5px rgba(201,162,74,.8),0 8px 20px -10px rgba(0,0,0,.7);transition:transform .25s var(--ease),box-shadow .25s}
.ib:hover .ib-c,.ib:focus-visible .ib-c{transform:translateY(-3px);box-shadow:inset 0 0 0 1.5px var(--gold-2),0 0 20px rgba(227,196,119,.45)}
.icon-row-sm{gap:10px}.icon-row-sm .ib-c{width:42px;height:42px}.icon-row-sm .ln{width:19px;height:19px}
/* smaller floating WhatsApp */
.fab{width:44px;height:44px;inset-inline-end:14px;bottom:calc(14px + env(safe-area-inset-bottom))}
.fab .ico{width:24px;height:24px}
@media (min-width:700px){.fab{width:48px;height:48px;inset-inline-end:20px;bottom:calc(20px + env(safe-area-inset-bottom))}.fab .ico{width:26px;height:26px}}
/* lightbox caption: name + LTR-isolated counter */
.lb-fig figcaption{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 12px;text-align:center;padding:0 12px}
.lb-name{color:#fff;font-weight:700}
.lb-name:empty{display:none}
.lb-count{color:var(--gold-2);font-variant-numeric:tabular-nums;unicode-bidi:isolate}
@media (prefers-reduced-motion:reduce){.neon i{opacity:1;box-shadow:0 0 10px 1px rgba(227,196,119,.7)}.ruler::before{transform:none}.ruler>i{clip-path:none}.g-cap{transition:none}}

.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:773/1000;object-fit:cover;border-radius:22px;box-shadow:0 0 0 1px rgba(227,196,119,.75),0 0 0 7px rgba(14,14,15,.55),0 0 0 8px rgba(201,162,74,.35),0 30px 60px -20px rgba(0,0,0,.8);filter:none}
.hero-photo::after{content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;box-shadow:inset 0 0 40px rgba(227,196,119,.18)}
@media (max-width:859px){.hero-photo{max-width:300px}}

/* work videos */
.g-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.g-link:hover video{transform:scale(1.06)}
.g-play{position:absolute;top:10px;inset-inline-start:10px;z-index:1;width:30px;height:30px;border-radius:50%;background:rgba(14,14,15,.6);box-shadow:inset 0 0 0 1.5px var(--gold-2)}
.g-play::after{content:"";position:absolute;left:11px;top:9px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--gold-2)}
.feature-imgs .px video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.feature-imgs .px{aspect-ratio:4/5}
.feature-imgs .px-wide{grid-column:1/-1;aspect-ratio:16/10}
@media (min-width:760px){.feature-imgs{grid-template-columns:repeat(4,1fr)}.feature-imgs .px{aspect-ratio:3/4}.feature-imgs .px-wide{aspect-ratio:21/9}}
.lb-fig video{max-width:94vw;max-height:80vh;width:auto;height:auto;border-radius:8px;background:#000}
.lb-fig img[hidden],.lb-fig video[hidden]{display:none}

/* merged featured service card (01) spans two columns and lays out side by side */
@media (min-width:640px){.svc-wide{grid-column:span 2;flex-direction:row}.svc-wide .svc-img{flex:0 0 56%;aspect-ratio:auto;min-height:250px;position:relative}.svc-wide .svc-img img{position:absolute;inset:0}.svc-wide .svc-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:26px 26px 28px}.svc-wide h3{font-size:1.4rem}}

/* bundled gallery photos fade in once their bundle arrives */
.g-item img[data-k]{opacity:0;transition:opacity .5s,transform .7s var(--ease),filter .5s}
.g-item img[data-k].ld{opacity:1}
.lb-fig img:not([src]){visibility:hidden}
/* sound toggle on videos (autoplay stays muted) */
.snd{position:absolute;top:10px;inset-inline-end:10px;z-index:3;width:36px;height:36px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;cursor:pointer;background:rgba(14,14,15,.62);box-shadow:inset 0 0 0 1.5px var(--gold-2);color:var(--gold-2);-webkit-tap-highlight-color:transparent}
.snd svg{width:19px;height:19px;fill:currentColor}
.snd .snd-on,.snd.on .snd-off{display:none}.snd.on .snd-on{display:block}
.snd.on{background:var(--gold-2);color:#141414}
.snd:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
.px-v{position:relative}

/* ===== hero background: Al Reef sign at night, dimmed (single image) ===== */
.hero-bg .hero-bgimg{object-position:40% 45%}
.hero-veil{background:
 linear-gradient(180deg,rgba(14,14,15,.58) 0%,rgba(14,14,15,.62) 55%,rgba(14,14,15,.82) 88%,var(--ink) 100%)}
@media (min-width:860px){
 .hero-bg .hero-bgimg{width:58%;inset-inline-start:auto;inset-inline-end:0;object-position:40% 42%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
 html[dir=rtl] .hero-bg .hero-bgimg{-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 30%);mask-image:linear-gradient(270deg,transparent 0,#000 30%)}
 .hero-veil,html[dir=rtl] .hero-veil{background:linear-gradient(180deg,rgba(14,14,15,.6) 0%,rgba(14,14,15,.6) 70%,var(--ink) 100%)}}
/* hero framed card: Al Reef's own image, shown whole */
.hero-photo img{aspect-ratio:1206/1172;object-fit:contain;background:#0e0e0f;border-radius:18px}
.hero-photo::after{border-radius:18px}
/* ===== rounded corners on every photo ===== */
.svc-img{margin:10px 10px 0;border-radius:14px}
@media (min-width:640px){.svc-wide .svc-img{margin:10px;margin-inline-end:0}}
.g-item{border-radius:14px}
@media (min-width:700px){.g-item{border-radius:16px}}
.px{border-radius:16px}
.lb-fig img,.lb-fig video{border-radius:14px}
.svc-wide .svc-img{border-radius:14px}
/* ===== every icon in a gold-ringed circle ===== */
:root{--icbg:radial-gradient(circle at 30% 25%,#26262b,#101012)}
.btn .ico,.place .ico,.addr .ico,.quote-wa .ico,.feat-pts svg,.lang svg{box-sizing:border-box;width:2em;height:2em;padding:.42em;border-radius:50%;background-image:var(--icbg);color:var(--gold-2);fill:var(--gold-2);box-shadow:inset 0 0 0 1.5px rgba(201,162,74,.85);flex:none}
.btn .ico{margin-inline-start:-14px}
.btn-sm .ico{width:1.8em;height:1.8em;margin-inline-start:-10px}
.lang{padding-inline-start:5px}
.fab{background:var(--icbg);color:var(--gold-2);box-shadow:inset 0 0 0 2px var(--gold-2),0 10px 24px rgba(0,0,0,.45)}
.fab::before,.fab::after{background:rgba(227,196,119,.55)}
.soc{background-image:var(--icbg)}
/* ===== gold shine when an icon is hovered, pressed or tapped ===== */
.ib-c,.soc,.fab,.snd,.chip-ph{position:relative}
@keyframes icSweep{from{background-position:-150% 0,0 0}to{background-position:250% 0,0 0}}
@keyframes icGlow{0%{filter:none}35%{filter:drop-shadow(0 0 9px rgba(227,196,119,.95)) brightness(1.15)}100%{filter:none}}
@keyframes chipSweep{from{transform:translateX(-120%) rotate(20deg)}to{transform:translateX(120%) rotate(20deg)}}
.chip-ph{overflow:hidden}
.chip-ph::after{content:"";position:absolute;inset:-20%;background:linear-gradient(90deg,transparent 30%,rgba(255,236,180,.8) 50%,transparent 70%);transform:translateX(-120%) rotate(20deg);pointer-events:none}
@media (prefers-reduced-motion:no-preference){
 .shine.ib-c,.shine.soc,.shine.fab,.shine.snd:not(.on),svg.shine,
 .ib:active .ib-c,.soc:active,.fab:active,.snd:active:not(.on),.btn:active .ico{background-image:linear-gradient(115deg,transparent 35%,rgba(255,236,180,.85) 50%,transparent 65%),var(--icbg);background-size:250% 100%,100% 100%;background-repeat:no-repeat;animation:icSweep .65s ease-out,icGlow .65s ease-out}
 .shine.snd.on,.snd.on:active{animation:icGlow .65s ease-out}
 .shine.chip-ph,.chip:active .chip-ph{animation:icGlow .65s ease-out}
 .shine.chip-ph::after,.chip:active .chip-ph::after{animation:chipSweep .65s ease-out}
 @media (hover:hover){
  .ib:hover .ib-c,.soc:hover,.fab:hover,.snd:not(.on):hover,.btn:hover .ico,.lang:hover svg,.feat-pts li:hover svg{background-image:linear-gradient(115deg,transparent 35%,rgba(255,236,180,.85) 50%,transparent 65%),var(--icbg);background-size:250% 100%,100% 100%;background-repeat:no-repeat;animation:icSweep .65s ease-out,icGlow .65s ease-out}
  .chip:hover .chip-ph::after{animation:chipSweep .65s ease-out}}}

/* printing block: video_05 leads (portrait); five tiles in one row on desktop */
.feature-imgs .px-lead{grid-column:span 2;aspect-ratio:1/1}
@media (min-width:760px){.feature-imgs{grid-template-columns:repeat(5,1fr)}.feature-imgs .px-lead{grid-column:auto;aspect-ratio:3/4}}

/* ===== mobile menu (under 980px): gold-ringed round button opposite the logo, black/gold slide-down panel ===== */
.mburger{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background-image:var(--icbg);box-shadow:inset 0 0 0 1.5px rgba(201,162,74,.85);color:var(--gold-2);cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
.mb-l{position:relative;width:18px;height:14px;display:block}
.mb-l i{position:absolute;inset-inline:0;height:2px;border-radius:2px;background:var(--gold-2);transition:transform .3s var(--ease),opacity .2s,top .3s var(--ease)}
.mb-l i:nth-child(1){top:0}.mb-l i:nth-child(2){top:6px}.mb-l i:nth-child(3){top:12px}
.mburger[aria-expanded=true]{box-shadow:inset 0 0 0 1.5px var(--gold-2),0 0 14px rgba(227,196,119,.45)}
.mburger[aria-expanded=true] .mb-l i:nth-child(1){top:6px;transform:rotate(45deg)}
.mburger[aria-expanded=true] .mb-l i:nth-child(2){opacity:0}
.mburger[aria-expanded=true] .mb-l i:nth-child(3){top:6px;transform:rotate(-45deg)}
.mburger:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.mnav{position:absolute;top:100%;inset-inline:0;background:linear-gradient(180deg,#0e0e0f,#141416);border-bottom:1px solid rgba(201,162,74,.45);box-shadow:0 18px 40px rgba(0,0,0,.55);max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;padding:8px 20px 22px;animation:mnavIn .28s var(--ease)}
.mnav[hidden]{display:none}
@keyframes mnavIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.mnav-links{display:flex;flex-direction:column}
.mnav-links a{display:flex;align-items:center;min-height:52px;padding:0 4px;color:#e9e4d8;text-decoration:none;font-size:1.08rem;font-weight:500;border-bottom:1px solid rgba(201,162,74,.16);transition:color .2s,padding .25s}
.mnav-links a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);margin-inline-end:12px;opacity:.7;flex:none}
.mnav-links a:hover,.mnav-links a:active,.mnav-links a:focus-visible{color:var(--gold-2);padding-inline-start:10px}
.mnav-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.mnav-act .lang,.mnav-act .mnav-call{flex:1 1 140px;justify-content:center;min-height:46px}
.mnav-bg{position:fixed;inset:0;z-index:39;background:rgba(0,0,0,.5)}
.mnav-bg[hidden]{display:none}
html.mnav-open,html.mnav-open body{overflow:hidden}
@media (min-width:980px){.mburger,.mnav,.mnav-bg{display:none!important}}
@media (prefers-reduced-motion:no-preference){.shine.mburger,.mburger:active{background-image:linear-gradient(115deg,transparent 35%,rgba(255,236,180,.85) 50%,transparent 65%),var(--icbg);background-size:250% 100%,100% 100%;background-repeat:no-repeat;animation:icSweep .65s ease-out,icGlow .65s ease-out}}

/* watermark «الريف» as ONE joined outline: the word is filled, and an SVG filter traces the outside of the merged shape,
   so the joins between the Arabic letters carry no seams (a text-stroke outlines each glyph separately); without filter support it is a faint fill */
.wm{-webkit-text-stroke:0;color:rgba(201,162,74,.07);filter:url(#wmLine)}
.dark .wm{color:rgba(227,196,119,.06);filter:url(#wmLineDk)}
@media (min-width:960px){#about .wm{font-size:250px;inset-inline:auto}html[dir=rtl] #about .wm{right:2%}html:not([dir=rtl]) #about .wm{left:2%}}  /* desktop: behind the About text column, clear of the white/black mission cards that hid it */
@media (max-width:959.98px){#about .wm{left:0;right:0;margin-inline:auto;width:max-content;font-size:min(150px,36vw)}}  /* phones: the whole word inside the screen, no letter cut at the edge */
.hero h1 em{font-size:.6em;line-height:1.25;margin-top:.3em}  /* subtitle line «نحن نصنع الحضور» at 60% of the headline */

/* ===== 2026-10-20 SEO pass: brand line inside the H1 looks exactly like the old eyebrow; services keyword line ===== */
.hero h1 .h1-eyebrow{display:block;color:var(--gold-2);font-size:.95rem;font-weight:700;letter-spacing:normal;line-height:1.65;margin:0 0 8px;text-wrap:wrap;background:none;filter:none}
.js .hero h1 .h1-eyebrow{animation:up .9s .45s var(--ease) both}
.svc-kw{max-width:880px;margin:14px auto 0;text-align:center;color:#bdb6a6;font-size:.95rem;line-height:1.9}

/* v2: keep the hidden "show more" button hidden (.btn display beat [hidden]) */
#moreBtn[hidden]{display:none}
