@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/CormorantGaramond-300i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/CormorantGaramond-300i-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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/CormorantGaramond-500i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/CormorantGaramond-500i-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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/CormorantGaramond-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/CormorantGaramond-300-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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/CormorantGaramond-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/CormorantGaramond-500-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: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/Jost-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/Jost-300-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: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Jost-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Jost-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: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Jost-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Jost-500-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: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/NotoKufiArabic-300-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: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/NotoKufiArabic-500-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;
}

:root{--bg:#0b0a09;--bg2:#121010;--bg3:#17140f;--ink:#f4efe6;--mute:#a9a093;--gold:#d6bc85;--gold2:#b8975a;--line:rgba(214,188,133,.22);--line2:rgba(244,239,230,.1);
--serif:"Cormorant Garamond","Didot","Bodoni 72",Georgia,serif;--sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--ar:"Noto Kufi Arabic","Geeza Pro",Tahoma,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.75;overflow-x:hidden;-webkit-font-smoothing:antialiased}
html[lang=ar] body{font-family:var(--ar);line-height:1.95;font-size:16px}
img,video{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--gold);color:#111}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.skip{position:absolute;inset-inline-start:8px;top:8px;transform:translateY(-300%);background:var(--gold);color:#111;padding:8px 14px;z-index:99}
.skip:focus{transform:none}
/* top bar */
.topbar{position:fixed;inset:0 0 auto 0;z-index:30;display:flex;align-items:center;gap:28px;padding:16px clamp(18px,4vw,56px);transition:background .5s var(--ease),padding .5s var(--ease),border-color .5s;border-bottom:1px solid transparent}
.topbar.solid{background:rgba(11,10,9,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line2);padding-top:10px;padding-bottom:10px}
.brand{display:block;line-height:0}
.brand img{height:54px;width:auto}
.nav{margin-inline-start:auto;display:flex;gap:34px}
.nav a{text-decoration:none;font-size:12px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);opacity:.75;transition:opacity .3s,color .3s;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .4s var(--ease)}
.nav a:hover{opacity:1;color:var(--gold)}.nav a:hover::after{transform:scaleX(1)}
html[lang=ar] .nav a{letter-spacing:0;font-size:14px}
.lang{display:flex;gap:2px}
.lang button{background:none;border:0;color:var(--mute);font:400 11px var(--sans);letter-spacing:.14em;padding:6px 8px;cursor:pointer;min-width:34px;min-height:34px;border-bottom:1px solid transparent}
.lang button[lang=ar]{font-family:var(--ar);font-size:14px}
.lang button[aria-pressed=true]{color:var(--gold);border-bottom-color:var(--gold)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font:400 12.5px var(--sans);letter-spacing:.24em;text-transform:uppercase;padding:16px 30px;min-height:50px;border-radius:0;transition:all .45s var(--ease);position:relative}
html[lang=ar] .btn{letter-spacing:0;font-family:var(--ar);font-size:14px}
.btn svg{flex:none}
.btn-gold{background:linear-gradient(135deg,#e6cf9c,#c9a868 55%,#b08d4f);color:#14110b;box-shadow:0 10px 30px -12px rgba(214,188,133,.45)}
.btn-gold:hover{filter:brightness(1.07);transform:translateY(-2px)}
.btn-line{border:1px solid rgba(214,188,133,.55);color:var(--ink)}
.btn-line:hover{border-color:var(--gold);color:var(--gold);background:rgba(214,188,133,.06)}
.btn-sm{padding:10px 20px;min-height:38px;font-size:11px}
.btn-big{padding:19px 34px}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;transform:scale(1.04)}
.hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(11,10,9,.35) 0%,rgba(11,10,9,.72) 70%),linear-gradient(to bottom,rgba(11,10,9,.55),rgba(11,10,9,.2) 35%,rgba(11,10,9,.95))}
.hero-copy{position:relative;padding:110px 22px 90px;max-width:980px;animation:rise 1.6s var(--ease) both .2s}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero-logo{width:min(440px,78vw);height:auto;margin:0 auto 26px;filter:drop-shadow(0 6px 24px rgba(0,0,0,.6))}
.eyebrow,.kicker{font-size:11.5px;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
html[lang=ar] .eyebrow,html[lang=ar] .kicker{letter-spacing:0;font-size:14px}
.lined{display:inline-flex;align-items:center;gap:16px}
.lined::before,.lined::after{content:"";width:42px;height:1px;background:var(--gold);opacity:.7}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.04;margin:0;letter-spacing:.005em}
html[lang=ar] h2,html[lang=ar] h3{font-family:var(--ar);font-weight:500;line-height:1.45}
h1{font-size:clamp(46px,8.4vw,118px)}
h1 .h1-b{font-style:italic}
h1 em{color:var(--gold);font-style:normal;font-weight:500;font-size:.42em;letter-spacing:.4em;vertical-align:.55em;margin-inline-start:.2em;font-family:var(--sans);text-transform:uppercase}
.lede{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.4vw,27px);color:#e9e2d6;max-width:36ch;margin:22px auto 38px;line-height:1.45}
html[lang=ar] .lede{font-family:var(--ar);font-style:normal;font-size:18px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.scroll-cue{position:absolute;bottom:26px;left:50%;width:1px;height:58px;background:linear-gradient(var(--gold),transparent);transform:translateX(-50%);overflow:hidden}
.scroll-cue span{position:absolute;inset:0;background:var(--ink);animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
/* intro statement */
.intro{padding:clamp(90px,13vw,170px) 22px clamp(40px,6vw,70px);text-align:center;max-width:980px;margin:0 auto}
.ornament{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--gold);font-size:13px;margin-bottom:38px}
.ornament span{width:70px;height:1px;background:var(--line)}
.statement{font-family:var(--serif);font-weight:300;font-size:clamp(28px,4.2vw,52px);line-height:1.22;margin:0}
html[lang=ar] .statement{font-family:var(--ar);font-size:clamp(22px,3vw,34px);line-height:1.7}
.sig{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:24px;margin:26px 0 0}
/* sections */
.section{padding:clamp(80px,11vw,150px) clamp(18px,5vw,64px)}
.section-head{max-width:1280px;margin:0 auto clamp(40px,6vw,70px)}
.section-head.center{text-align:center}
h2{font-size:clamp(40px,5.8vw,76px)}
.sub{color:var(--mute);margin:18px 0 0;max-width:52ch}
/* masonry gallery */
.masonry{max-width:1280px;margin:0 auto;columns:3 300px;column-gap:16px}
.m{margin:0 0 16px;break-inside:avoid;overflow:hidden;position:relative}
.m-btn{display:block;width:100%;padding:0;border:0;background:var(--bg2);cursor:zoom-in;position:relative;overflow:hidden}
.m-btn img{width:100%;height:auto;transition:transform 1.4s var(--ease),filter .8s;filter:saturate(.92)}
.m-btn::after{content:"";position:absolute;inset:10px;border:1px solid rgba(214,188,133,0);transition:border-color .6s var(--ease),inset .6s var(--ease)}
.m-btn:hover img{transform:scale(1.05);filter:saturate(1.05)}
.m-btn:hover::after{border-color:rgba(214,188,133,.6);inset:14px}
.more{text-align:center;margin:56px 0 0}
/* services */
.services{background:linear-gradient(180deg,var(--bg) 0%,var(--bg3) 50%,var(--bg) 100%);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.svc{list-style:none;margin:0 auto;padding:0;max-width:1100px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.svc li{display:flex;gap:28px;padding:44px 34px;border-bottom:1px solid var(--line)}
.svc li:nth-child(odd){border-inline-end:1px solid var(--line)}
.roman{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:30px;line-height:1;min-width:44px}
.svc h3{font-size:clamp(30px,3vw,40px);margin:0 0 10px}
.svc p{color:var(--mute);margin:0;font-size:16px}
/* about */
.about{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,7vw,110px);align-items:center;max-width:1280px;margin:0 auto}
.about-fig{margin:0;position:relative}
.about-fig::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--line);z-index:-1}
html[dir=rtl] .about-fig::before{inset:-18px -18px 18px 18px}
.about-fig img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:60% center}
.about-fig figcaption{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:16px;margin-top:14px}
.about-copy p{color:#d8d0c3}
.about-copy h2{margin-bottom:26px}
.facts{margin:38px 0 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.facts div{padding:18px 0 0}
.facts dt{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
html[lang=ar] .facts dt{letter-spacing:0;font-size:13px}
.facts dd{margin:0;font-family:var(--serif);font-size:21px}
html[lang=ar] .facts dd{font-family:var(--ar);font-size:16px}
/* contact */
.contact{position:relative;background:url(img/konsert-1.jpg) center/cover no-repeat;padding-block:clamp(100px,14vw,190px)}
.contact::before{content:"";position:absolute;inset:0;background:rgba(11,10,9,.86)}
.contact-card{position:relative;max-width:820px;margin:0 auto;text-align:center;padding:clamp(44px,6vw,80px) clamp(22px,5vw,70px);border:1px solid var(--line);background:rgba(11,10,9,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.contact h2{max-width:16ch;margin:0 auto}
.contact-lede{color:var(--mute);max-width:46ch;margin:24px auto 38px}
.phone{margin:30px 0 6px;font-family:var(--serif);font-size:26px}
.phone a{text-decoration:none;color:var(--ink);letter-spacing:.06em}
.phone a:hover{color:var(--gold)}
.based{color:var(--mute);font-size:13px;letter-spacing:.2em;text-transform:uppercase;margin:0}
html[lang=ar] .based{letter-spacing:0}
/* footer */
.footer{text-align:center;padding:56px 22px 46px;border-top:1px solid var(--line2)}
.f-brand{font-family:var(--serif);font-size:30px;letter-spacing:.32em;margin:0 0 10px}
.f-brand em{color:var(--gold);letter-spacing:.05em}
.f-small{color:var(--mute);font-size:13px;margin:0}
.f-small a{text-decoration:none;color:var(--gold)}
/* lightbox */
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(6,5,5,.96);display:flex;align-items:center;justify-content:center;padding:60px 64px;opacity:0;transition:opacity .4s var(--ease)}
.lightbox.open{opacity:1}
.lightbox[hidden]{display:none}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lightbox button{position:absolute;background:none;border:1px solid var(--line);color:var(--ink);width:48px;height:48px;font:300 30px/1 var(--serif);cursor:pointer;transition:all .3s}
.lightbox button:hover{border-color:var(--gold);color:var(--gold)}
.lb-close{top:16px;inset-inline-end:16px}
.lb-prev{left:12px;top:50%;transform:translateY(-50%)}
.lb-next{right:12px;top:50%;transform:translateY(-50%)}
/* reveal */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
@media (max-width:980px){
 .nav{display:none}
 .lang{margin-inline-start:auto}
 .about{grid-template-columns:1fr}
}
@media (max-width:720px){
 body{font-size:16px}
 .topbar{gap:10px;padding:12px 16px}
 .brand img{height:34px}
 .top-cta{display:none}
 .svc{grid-template-columns:1fr}
 .svc li{padding:32px 6px;gap:20px}
 .svc li:nth-child(odd){border-inline-end:0}
 .masonry{columns:2;column-gap:8px}
 .m{margin-bottom:8px}
 .m-btn::after{display:none}
 .cta-row .btn{flex:1 1 100%}
 .hero-copy{padding:100px 20px 90px}
 h1 em{display:block;margin:14px 0 0;vertical-align:0;font-size:.3em}
 .facts{grid-template-columns:1fr 1fr 1fr}
 .facts dd{font-size:18px}
 .lightbox{padding:64px 8px}
 .lb-prev,.lb-next{top:auto;bottom:10px;transform:none}
 .lb-prev{left:calc(50% - 58px)}.lb-next{right:calc(50% - 58px)}
 .about-fig::before{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}

.hero-h1{margin:0 auto 28px;line-height:0}
.hero-h1 img{width:min(560px,84vw);height:auto;margin:0 auto;filter:drop-shadow(0 8px 30px rgba(0,0,0,.65))}
.swe{display:block;font:400 13px/1 var(--sans);letter-spacing:.9em;margin:18px 0 0 .9em;color:var(--gold);text-transform:uppercase}
.hero .lined{margin-bottom:0}

@media (max-width:720px){
 .brand img{height:40px}
 .hero .lined{letter-spacing:.28em;font-size:10.5px}
 .hero .lined::before,.hero .lined::after{width:22px}
}

/* booking form */
.booking{background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);border-top:1px solid var(--line2)}
.booking .sub{margin-inline:auto}
.bk{max-width:920px;margin:0 auto;padding:clamp(30px,5vw,64px) clamp(20px,5vw,64px);border:1px solid var(--line);background:rgba(11,10,9,.55);position:relative}
.bk::before{content:"";position:absolute;inset:10px;border:1px solid rgba(214,188,133,.08);pointer-events:none}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px;position:relative}
.fld{display:flex;flex-direction:column;min-width:0}
.fld.full{grid-column:1/-1}
.fld label{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
html[lang=ar] .fld label{letter-spacing:0;font-size:13px}
.fld input,.fld select,.fld textarea{width:100%;font:300 18px/1.5 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(214,188,133,.35);border-radius:0;padding:10px 0;min-height:48px;outline:0;transition:border-color .4s var(--ease),background .4s var(--ease);-webkit-appearance:none;appearance:none;color-scheme:dark}
html[lang=ar] .fld input,html[lang=ar] .fld select,html[lang=ar] .fld textarea{font-family:var(--ar);font-size:16px}
.fld textarea{resize:vertical;min-height:110px}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-bottom-color:var(--gold);background:rgba(214,188,133,.04)}
.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible{outline:0;box-shadow:0 1px 0 var(--gold)}
.fld .bad{border-bottom-color:#d98a6c}
.fld select{cursor:pointer;padding-inline-end:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23d6bc85' stroke-width='1.3'/%3E%3C/svg%3E");background-position:right 4px center;background-size:12px 8px;background-repeat:no-repeat}
html[dir=rtl] .fld select{background-position:left 4px center}
html[dir=rtl] .fld input[type=date]{text-align:right}
.fld select:invalid{color:var(--mute)}
.fld option{background:#121010;color:var(--ink)}
.fld input[type=date]{min-height:48px}
.fld input[type=date]::-webkit-calendar-picker-indicator{filter:invert(78%) sepia(30%) saturate(500%) hue-rotate(5deg);cursor:pointer;opacity:.85}
html[dir=rtl] .fld input[type=tel]{text-align:right}
.bk-err{color:#e2a58c;margin:26px 0 0;font-size:15px;text-align:center}
.bk-foot{margin-top:44px;text-align:center;position:relative}
.bk-foot .btn{border:0;cursor:pointer;min-width:min(340px,100%)}
.bk-note{color:var(--mute);font-size:14px;margin:16px 0 0}
@media (max-width:720px){
 .bk-grid{grid-template-columns:1fr;gap:26px}
 .bk::before{display:none}
 .bk-foot .btn{width:100%}
}

/* digital wedding invitations */
.invites{background:radial-gradient(ellipse at 75% 40%,rgba(214,188,133,.09),transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);border-bottom:1px solid var(--line2);overflow:hidden}
.inv-wrap{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.inv-copy h2{margin-bottom:0}
.inv-list{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.inv-list li{display:flex;gap:16px;padding:22px 18px 22px 0;border-bottom:1px solid var(--line)}
html[dir=rtl] .inv-list li{padding:22px 0 22px 18px}
.inv-n{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:22px;line-height:1.2;min-width:30px}
.inv-list h3{font-size:clamp(22px,2vw,26px);margin:0 0 6px}
html[lang=ar] .inv-list h3{font-size:18px}
.inv-list p{color:var(--mute);margin:0;font-size:15px;line-height:1.6}
.inv-list .inv-url{color:var(--gold);font-size:13px;letter-spacing:.02em;margin-top:4px;word-break:break-all;text-align:left}
html[dir=rtl] .inv-list .inv-url{text-align:right}
.inv-cta{justify-content:flex-start;margin-top:40px}
.inv-phones{position:relative;display:flex;justify-content:center;align-items:center;min-height:clamp(420px,46vw,620px)}
.phone{margin:0;position:relative;width:clamp(150px,17vw,250px);aspect-ratio:540/1169;border-radius:clamp(22px,2.6vw,36px);padding:clamp(5px,.6vw,8px);background:linear-gradient(145deg,#2a251d,#0f0d0b 45%,#2b251c);box-shadow:0 0 0 1px rgba(214,188,133,.45),0 40px 80px -30px rgba(0,0,0,.9),0 18px 50px -20px rgba(214,188,133,.25)}
.phone::before{content:"";position:absolute;top:calc(clamp(5px,.6vw,8px) + 7px);left:50%;transform:translateX(-50%);width:30%;height:clamp(10px,1.2vw,16px);border-radius:20px;background:#050404;z-index:2}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:clamp(17px,2vw,29px);background:var(--bg2)}
.p-main{z-index:2;width:clamp(180px,20vw,290px)}
.p-side{position:absolute;opacity:.92}
.p-a{transform:translateX(-62%) rotate(-7deg) scale(.86)}
.p-b{transform:translateX(62%) rotate(7deg) scale(.86)}
@media (max-width:980px){
 .inv-wrap{grid-template-columns:1fr}
 .inv-phones{order:-1;min-height:0;padding:10px 0 20px}
}
@media (max-width:720px){
 .inv-list{grid-template-columns:1fr}
 .inv-list li,html[dir=rtl] .inv-list li{padding:20px 4px}
 .inv-cta .btn{flex:1 1 100%}
 .phone{width:31vw}
 .p-main{width:40vw}
 .p-a{transform:translateX(-66%) rotate(-7deg) scale(.88)}
 .p-b{transform:translateX(66%) rotate(7deg) scale(.88)}
}

/* mobile menu (hamburger) */
.burger{display:none;position:relative;width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:50%;cursor:pointer;padding:0;flex:0 0 44px}
.burger span{position:absolute;left:13px;right:13px;height:1px;background:var(--ink);transition:transform .4s var(--ease),opacity .3s,top .4s var(--ease)}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:21.5px}.burger span:nth-child(3){top:27px}
.menu-open .burger span:nth-child(1){top:21.5px;transform:rotate(45deg);background:var(--gold)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){top:21.5px;transform:rotate(-45deg);background:var(--gold)}
.menu-open .topbar{background:rgba(11,10,9,.98);border-bottom-color:var(--line2)}
.mnav{position:fixed;inset:0;z-index:29;background:rgba(9,8,7,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;padding:90px 24px 40px;opacity:0;transition:opacity .4s var(--ease)}
.mnav[hidden]{display:none}
.mnav.open{opacity:1}
.mnav nav{display:flex;flex-direction:column;align-items:center;gap:6px}
.mnav nav a{font-family:var(--serif);font-weight:300;font-size:34px;line-height:1.3;color:var(--ink);text-decoration:none;padding:6px 10px;opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease),color .3s}
.mnav.open nav a{opacity:1;transform:none}
.mnav.open nav a:nth-child(2){transition-delay:.05s}.mnav.open nav a:nth-child(3){transition-delay:.1s}.mnav.open nav a:nth-child(4){transition-delay:.15s}.mnav.open nav a:nth-child(5){transition-delay:.2s}.mnav.open nav a:nth-child(6){transition-delay:.25s}
.mnav nav a:hover,.mnav nav a[aria-current=page]{color:var(--gold)}
html[lang=ar] .mnav nav a{font-family:var(--ar);font-size:24px;line-height:1.9}
.mnav .btn{min-width:220px}
@media (max-width:980px){.burger{display:block}}

/* webdesign service (2026-11-11) */
.svc li.svc-wide{grid-column:1/-1;border-inline-end:0}
.svc .svc-ex{margin-top:12px;font-size:15px}
.svc .svc-ex a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(214,188,133,.45)}
.svc .svc-ex a:hover{border-bottom-color:var(--gold)}
.svc .svc-cta{margin-top:20px}

/* gallery filters */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1100px;margin:0 auto 34px}
.chip{font:400 .82rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);background:transparent;border:1px solid var(--line);border-radius:999px;padding:11px 18px;cursor:pointer;transition:color .3s,border-color .3s,background .3s}
.chip:hover{color:var(--ink);border-color:var(--gold2)}
.chip[aria-pressed="true"]{color:#0b0a09;background:var(--gold);border-color:var(--gold)}
.chip:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
[dir="rtl"] .chip{font-family:var(--ar);letter-spacing:0;text-transform:none}
.m[hidden]{display:none}
@media (max-width:720px){.filters{gap:8px;margin-bottom:24px}.chip{padding:9px 13px;font-size:.72rem;letter-spacing:.1em}}
@media (max-width:720px){.masonry{columns:2;column-gap:8px}.m{margin-bottom:8px}.m-btn::after{inset:6px}}

/* ================= v2 — editorial redesign (2026-11-12) ================= */
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Amiri-400-arabic.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-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}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Amiri-700-arabic.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-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}
.v2{--bg:#080706;--bg2:#0e0c0a;--bg3:#14110d;--ink:#f3ece0;--mute:#9d9486;--gold:#d9be86;--gold2:#a8854a;--goldg:linear-gradient(100deg,#f1dcae 0%,#cfae6e 38%,#9c7b42 62%,#e6cd96 100%);--line:rgba(217,190,134,.2);--arserif:"Amiri","Noto Naskh Arabic","Geeza Pro",serif}
.v2{background:var(--bg)}
/* film grain + vignette */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;background-image:url(img/grain.png);opacity:.075;mix-blend-mode:overlay;animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}17%{transform:translate(-3%,2%)}33%{transform:translate(2%,-4%)}50%{transform:translate(-4%,-1%)}67%{transform:translate(3%,3%)}83%{transform:translate(-1%,4%)}100%{transform:translate(0,0)}}
.progress{position:fixed;inset:0 0 auto 0;height:2px;z-index:40;pointer-events:none}
.progress span{display:block;height:100%;background:var(--goldg);transform-origin:0 50%;transform:scaleX(var(--p,0))}
html[dir=rtl] .progress span{transform-origin:100% 50%}
/* gold text helper */
.v2 .kicker,.v2 .eyebrow{color:var(--gold)}
/* top bar */
.v2 .topbar{padding-block:20px}
.v2 .topbar.solid{background:rgba(8,7,6,.78);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}
.v2 .brand img{transition:height .5s var(--ease)}
.v2 .lang button{font-size:10.5px}
/* ---- hero ---- */
.v2 .hero{min-height:100svh;align-items:flex-end;text-align:center;isolation:isolate}
.v2 .hero-media{transform:scale(1.12) translate3d(0,var(--py,0px),0);animation:kb 18s var(--ease) both;will-change:transform;filter:saturate(.85) contrast(1.08)}
@keyframes kb{from{scale:1.08}to{scale:1}}
.v2 .hero-shade{background:linear-gradient(to bottom,rgba(8,7,6,.62) 0%,rgba(8,7,6,.08) 26%,rgba(8,7,6,.1) 50%,rgba(8,7,6,.82) 82%,var(--bg) 100%),radial-gradient(120% 80% at 50% 45%,transparent 40%,rgba(0,0,0,.55) 100%)}
.v2 .hero-copy{padding:0 22px clamp(96px,14vh,150px);max-width:1100px;width:100%;animation:none}
.v2 .hero-h1{margin-bottom:22px}
.v2 .hero-h1 img{width:min(520px,80vw);opacity:0;animation:logoIn 1.8s var(--ease) .25s forwards}
@keyframes logoIn{from{opacity:0;filter:blur(12px) drop-shadow(0 8px 30px rgba(0,0,0,.65));transform:scale(1.04)}to{opacity:1;filter:blur(0) drop-shadow(0 8px 30px rgba(0,0,0,.65));transform:none}}
.v2 .swe{letter-spacing:1.1em;font-size:11px;margin-top:16px;opacity:0;animation:fadeUp 1.2s var(--ease) .9s forwards}
.v2 .hero .eyebrow,.v2 .hero .lede,.v2 .hero .cta-row{opacity:0;animation:fadeUp 1.2s var(--ease) forwards}
.v2 .hero .eyebrow{animation-delay:1.05s}.v2 .hero .lede{animation-delay:1.2s}.v2 .hero .cta-row{animation-delay:1.4s}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.v2 .lede{font-size:clamp(21px,2.5vw,30px);font-weight:300;color:#efe7da;margin:20px auto 34px;text-wrap:balance}
html[lang=ar] .v2 .lede{font-family:var(--arserif);font-size:21px;line-height:1.75}
/* viewfinder corners */
.vf{position:absolute;inset:clamp(76px,11vh,104px) clamp(14px,3.5vw,44px) clamp(28px,5vh,46px);pointer-events:none;z-index:1}
.vf i{position:absolute;width:26px;height:26px;border:0 solid rgba(243,236,224,.55);opacity:0;animation:fadeIn 1.4s var(--ease) 1.6s forwards}
.vf i:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}
.vf i:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}
.vf i:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}
.vf i:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}
@keyframes fadeIn{to{opacity:1}}
.hero-meta{position:absolute;z-index:2;top:clamp(88px,12.5vh,118px);margin:0;font:400 10px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(243,236,224,.7);opacity:0;animation:fadeIn 1.4s var(--ease) 1.8s forwards;display:flex;align-items:center;gap:8px}
.hm-l{left:clamp(26px,5vw,66px)}.hm-r{right:clamp(26px,5vw,66px)}
.rec{width:6px;height:6px;border-radius:50%;background:#d8573c;box-shadow:0 0 10px #d8573c;animation:blink 1.6s steps(2) infinite}
@keyframes blink{50%{opacity:.15}}
.v2 .scroll-cue{bottom:clamp(34px,5.5vh,52px);height:44px;z-index:2}
/* buttons */
.v2 .btn{letter-spacing:.26em;font-size:11.5px;overflow:hidden}
.v2 .btn-gold{background:var(--goldg);background-size:220% 100%;background-position:0 0;color:#120f09;box-shadow:0 14px 38px -16px rgba(217,190,134,.6);transition:background-position .9s var(--ease),transform .45s var(--ease),box-shadow .45s}
.v2 .btn-gold:hover{background-position:100% 0;transform:translateY(-2px);filter:none}
.v2 .btn-line{border-color:rgba(217,190,134,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(8,7,6,.25)}
.v2 .btn-line::before{content:"";position:absolute;inset:0;background:rgba(217,190,134,.1);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease)}
.v2 .btn-line:hover::before{transform:scaleX(1)}
html[lang=ar] .v2 .btn{letter-spacing:0;font-size:14.5px}
/* ---- marquee ---- */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--bg);padding:20px 0;position:relative;z-index:2}
.mq-track{display:flex;width:max-content;animation:mq 38s linear infinite}
.mq{display:flex;align-items:center;flex:none}
.mq span{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(26px,3.4vw,44px);line-height:1.2;color:var(--ink);padding:0 clamp(18px,2.4vw,34px);white-space:nowrap}
.mq span:nth-child(4n+3){color:transparent;-webkit-text-stroke:1px var(--gold)}
.mq b{color:var(--gold);font-size:14px;font-weight:400}
html[lang=ar] .mq span{font-family:var(--arserif);font-style:normal;font-size:clamp(24px,3vw,38px)}
@keyframes mq{to{transform:translateX(-50%)}}
html[dir=rtl] .mq-track{animation-name:mqr}
@keyframes mqr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
/* ---- intro ---- */
.v2 .intro{padding-top:clamp(100px,15vw,190px);max-width:1080px}
.v2 .ornament{color:var(--gold);gap:22px}
.v2 .ornament span{width:clamp(60px,10vw,120px);background:linear-gradient(90deg,transparent,var(--gold))}
.v2 .ornament span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.v2 .statement{font-size:clamp(32px,5.4vw,70px);line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
.v2 .statement::first-line{color:var(--ink)}
html[lang=ar] .v2 .statement{font-family:var(--arserif);font-size:clamp(28px,4.2vw,48px);line-height:1.6}
.v2 .sig{font-size:30px;background:var(--goldg);-webkit-background-clip:text;background-clip:text;color:transparent}
/* ---- section index numerals ---- */
.idx{margin:0 0 6px;line-height:.8;font-family:var(--serif);font-weight:300;font-size:clamp(76px,11vw,150px);color:transparent;-webkit-text-stroke:1px rgba(217,190,134,.45);letter-spacing:-.02em;user-select:none;font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1}
.v2 .idx{color:transparent}
.center .idx{text-align:center}
.idx span{display:inline-block}
.v2 h2{font-size:clamp(42px,6.4vw,92px);letter-spacing:-.015em}
html[lang=ar] .v2 h2{font-family:var(--arserif);font-weight:700;font-size:clamp(34px,5vw,62px);line-height:1.35}
html[lang=ar] .v2 h3{font-family:var(--arserif);font-weight:700}
.v2 .section-head .kicker{display:inline-flex;align-items:center;gap:14px}
.v2 .section-head .kicker::before{content:"";width:34px;height:1px;background:var(--gold)}
.v2 .section-head.center .kicker::after{content:"";width:34px;height:1px;background:var(--gold)}
/* ---- gallery ---- */
.v2 .work{padding-inline:clamp(10px,3vw,48px);counter-reset:shot}
.v2 .work .section-head{padding-inline:clamp(8px,2vw,16px)}
.v2 .masonry{max-width:1440px;columns:3 320px;column-gap:clamp(8px,1.2vw,18px)}
.v2 .m{margin-bottom:clamp(8px,1.2vw,18px);counter-increment:shot}
.v2 .m-btn{background:var(--bg3)}
.v2 .m-btn img{filter:saturate(.9) contrast(1.03);transform:scale(1.001)}
.v2 .m-btn::after{inset:0;border:0;background:linear-gradient(to top,rgba(8,7,6,.55),transparent 38%);opacity:.7;transition:opacity .6s var(--ease)}
.v2 .m-btn:hover::after{opacity:1;inset:0}
.v2 .m-btn:hover img{transform:scale(1.06)}
.js .v2 .m.reveal{transform:none;opacity:1;transition:none}
.js .v2 .m.reveal .m-btn{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s var(--ease)}
.js .v2 .m.reveal img{transform:scale(1.18);transition:transform 1.6s var(--ease)}
.js .v2 .m.reveal.in .m-btn{clip-path:inset(0 0 0 0)}
.js .v2 .m.reveal.in img{transform:scale(1.001)}
.js .v2 .m.reveal.in .m-btn:hover img{transform:scale(1.06)}
.v2 .chip{border-color:rgba(217,190,134,.3);backdrop-filter:blur(4px)}
.v2 .chip[aria-pressed="true"]{background:var(--goldg);border-color:transparent;color:#120f09}
.v2 .filters{position:sticky;top:64px;z-index:5;padding:10px 0;background:linear-gradient(var(--bg) 60%,transparent)}
/* ---- services: editorial cards ---- */
.v2 .services{background:var(--bg2);border:0}
.v2 .svc{max-width:1280px;border:0;gap:clamp(18px,2.4vw,34px);grid-template-columns:repeat(2,1fr)}
.v2 .svc li{position:relative;display:block;padding:0;border:0!important;background:var(--bg);overflow:hidden}
.v2 .svc li>div{padding:26px clamp(20px,2.6vw,36px) 34px;position:relative}
.svc-img{margin:0;overflow:hidden;aspect-ratio:3/2;position:relative}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease),filter .8s;filter:saturate(.8) brightness(.86)}
.svc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,transparent 55%)}
.v2 .svc li:hover .svc-img img{transform:scale(1.05);filter:saturate(1) brightness(.95)}
.v2 .roman{position:absolute;z-index:2;top:14px;inset-inline-start:18px;font-size:26px;color:var(--ink);min-width:0;padding:6px 12px;border:1px solid rgba(243,236,224,.35);background:rgba(8,7,6,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);line-height:1}
.v2 .svc h3{font-size:clamp(32px,3.4vw,46px);margin-top:-36px;position:relative}
html[lang=ar] .v2 .svc h3{font-size:30px}
.v2 .svc li.svc-wide{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch}
.v2 .svc li.svc-wide .svc-img{aspect-ratio:auto;min-height:340px}
.v2 .svc li.svc-wide .svc-img img{object-position:50% 20%}
.v2 .svc li.svc-wide .svc-img::after{background:linear-gradient(to left,var(--bg) 0%,transparent 45%)}
html[dir=rtl] .v2 .svc li.svc-wide .svc-img::after{background:linear-gradient(to right,var(--bg) 0%,transparent 45%)}
.v2 .svc li.svc-wide>div{align-self:center;padding-block:44px}
.v2 .svc li.svc-wide h3{margin-top:0}
/* ---- invitations ---- */
.v2 .invites{background:radial-gradient(ellipse at 70% 40%,rgba(217,190,134,.12),transparent 60%),var(--bg);border:0}
.v2 .inv-list{border-top-color:var(--line)}
.v2 figure.phone{box-shadow:0 0 0 1px rgba(217,190,134,.5),0 50px 90px -30px rgba(0,0,0,.95),0 20px 60px -20px rgba(217,190,134,.3)}
.v2 .inv-phones .p-main{animation:floaty 7s ease-in-out infinite}
@keyframes floaty{50%{translate:0 -10px}}
/* ---- about ---- */
.v2 .about{max-width:1320px}
.v2 .about-fig{overflow:visible}
.v2 .about-fig img{height:auto;filter:saturate(.85) contrast(1.05)}
.v2 .about-fig::before{border-color:rgba(217,190,134,.35)}
.v2 .about-fig::after{content:"Tito";position:absolute;z-index:2;top:-.5em;inset-inline-end:-.08em;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(90px,13vw,180px);line-height:1;background:var(--goldg);-webkit-background-clip:text;background-clip:text;color:transparent;pointer-events:none;direction:ltr}
.v2 .about-copy h2{font-style:italic}
html[lang=ar] .v2 .about-copy h2{font-style:normal}
.v2 .facts dd{font-size:23px}
/* ---- booking ---- */
.v2 .booking{background:var(--bg2);border:0}
.v2 .bk{background:linear-gradient(160deg,rgba(217,190,134,.06),rgba(8,7,6,.6) 40%);border-color:rgba(217,190,134,.28)}
/* ---- contact ---- */
.v2 .contact{background-attachment:scroll}
.v2 .contact::before{background:linear-gradient(rgba(8,7,6,.94),rgba(8,7,6,.72) 50%,rgba(8,7,6,.94))}
.v2 .contact-card{border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.v2 .contact h2{font-size:clamp(46px,7vw,104px);font-style:italic;max-width:14ch}
html[lang=ar] .v2 .contact h2{font-style:normal}
.v2 p.phone a{font-size:clamp(28px,3.4vw,40px)}
/* ---- footer ---- */
.v2 .footer{position:relative;overflow:hidden;padding-top:0;border-top:1px solid var(--line)}
.f-mark{margin:0 0 22px;font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(120px,30vw,420px);line-height:.95;color:transparent;-webkit-text-stroke:1px rgba(217,190,134,.32);letter-spacing:-.03em;direction:ltr;user-select:none}
/* ---- reveals: softer, longer ---- */
.js .v2 .reveal:not(.m){transform:translateY(40px);transition:opacity 1.3s var(--ease),transform 1.3s var(--ease)}
.js .v2 .reveal.in:not(.m){transform:none}
/* ---- lightbox ---- */
.v2 .lightbox{background:rgba(5,4,4,.97)}
/* ---- phones ---- */
@media (max-width:980px){
 .v2 .svc li.svc-wide{grid-template-columns:1fr}
 .v2 .svc li.svc-wide .svc-img{min-height:0;aspect-ratio:3/2}
 .v2 .svc li.svc-wide .svc-img::after,html[dir=rtl] .v2 .svc li.svc-wide .svc-img::after{background:linear-gradient(to top,var(--bg) 0%,transparent 55%)}
 .v2 .svc li.svc-wide h3{margin-top:-36px}
 .v2 .svc li.svc-wide>div{padding-block:26px 34px}
}
@media (max-width:720px){
 .v2 .topbar{padding:14px 16px}
 .hero-meta{font-size:8.5px;letter-spacing:.22em;top:84px}
 .hm-l{left:24px}.hm-r{right:24px}
 .vf{inset:72px 12px 24px}
 .vf i{width:18px;height:18px}
 .v2 .hero-copy{padding-bottom:96px}
 .v2 .hero-h1 img{width:82vw}
 .v2 .lede{font-size:21px;margin:16px auto 26px}
 .v2 .cta-row .btn{flex:1 1 100%}
 .marquee{padding:14px 0}
 .v2 .statement{font-size:clamp(30px,8.4vw,40px)}
 .idx{font-size:84px}
 .v2 h2{font-size:clamp(40px,11vw,54px)}
 html[lang=ar] .v2 h2{font-size:clamp(30px,8.6vw,40px)}
 .v2 .svc{grid-template-columns:1fr}
 .v2 .work{padding-inline:6px}
 .v2 .masonry{columns:2;column-gap:6px}
 .v2 .m{margin-bottom:6px}
 .v2 .filters{top:56px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:10px 10px 12px;margin-inline:-6px;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 22px),transparent)}
 .v2 .filters::-webkit-scrollbar{display:none}
 .v2 .chip{flex:none}
 .v2 .about-fig::after{font-size:96px}
 .v2 .about{gap:64px}
 .f-mark{font-size:38vw}
}
@media (prefers-reduced-motion:reduce){.grain{display:none}.mq-track{animation:none}.js .v2 .m.reveal .m-btn{clip-path:none}.js .v2 .m.reveal img{transform:none}.v2 .hero-h1 img,.v2 .swe,.v2 .hero .eyebrow,.v2 .hero .lede,.v2 .hero .cta-row,.vf i,.hero-meta{opacity:1}}

/* p.phone (contact number) must not inherit the invite phone-mockup frame */
.v2 p.phone{width:auto;aspect-ratio:auto;border-radius:0;padding:0;background:none;box-shadow:none;margin:30px 0 6px}
.v2 p.phone::before{display:none}
