:root{--ink:#11100f;--paper:#fff;--ivory:#f5f1ea;--stone:#c8b9a6;--taupe:#7d6b5c;--serif:Georgia,"Times New Roman",serif;--sans:Arial,"Helvetica Neue",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6}
body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{color:inherit}
button{cursor:pointer}
a{text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:5px}
[hidden]{display:none!important}
img{display:block;width:100%}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.skip{position:fixed;top:10px;left:10px;background:#111;color:#fff;padding:10px 14px;z-index:100;transform:translateY(-160%)}
.skip:focus{transform:none}
.micro{margin:0 0 18px;font-size:13px;letter-spacing:.22em;text-transform:uppercase}

.header{position:relative;z-index:20;background:#fff}
.brand-row{height:112px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 34px}
.brand{display:flex;flex-direction:column;align-items:center;line-height:1}
.brand strong{font:400 clamp(38px,4.6vw,65px)/.9 var(--serif);letter-spacing:.045em}
.brand span{font-size:12px;letter-spacing:.46em;margin-top:15px;padding-left:.46em}
.language{justify-self:end;border:0;background:transparent;display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.1em;min-height:44px}
.language i{width:20px;height:1px;background:#111}.language b{font-weight:400}
.menu-toggle{visibility:hidden;border:0;background:transparent;width:44px;height:44px;padding:6px 0;display:flex;flex-direction:column;justify-content:center;gap:7px}
.menu-toggle span{width:28px;height:1px;background:#111}
.nav{height:70px;border-top:1px solid #ece9e4;display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,52px);padding:0 28px}
.nav a{font-size:13px;letter-spacing:.15em;text-transform:uppercase;position:relative;white-space:nowrap;padding:12px 0}
.nav a:after{content:"";position:absolute;bottom:-7px;left:0;width:0;height:1px;background:#111;transition:width .25s}
.nav a:hover:after{width:100%}
.book-outline,.discover,.light-button,.dark-button{display:inline-block;border:1px solid currentColor;background:transparent;padding:14px 24px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;transition:.25s;min-height:48px;text-align:center}
.book-outline:hover,.discover:hover{background:#111;color:#fff}

.hero{height:min(720px,72vw);min-height:560px;position:relative;overflow:hidden;color:#fff}
.hero>img{height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,13,11,.6),rgba(16,13,11,.18) 43%,transparent 72%)}
.hero-copy{position:absolute;left:4.6vw;bottom:8.2%;z-index:2}
.hero-copy p{font-size:13px;letter-spacing:.25em;margin:0 0 16px}
.hero h1{font:400 clamp(58px,7vw,108px)/.84 var(--serif);letter-spacing:-.055em;margin:0 0 28px}
.discover{display:inline-block;color:#fff;padding:13px 40px}
.discover:hover{background:#fff;color:#111}

.intro{text-align:center;padding:76px 24px 54px}
.intro h2{font:400 clamp(38px,4.8vw,68px)/1.05 var(--serif);letter-spacing:-.04em;margin:0}
.intro em{display:block;font:italic 19px/1.2 var(--serif);color:#6d6055;margin-top:10px}
.intro-body{max-width:640px;margin:28px auto 0;color:#6c6259;font-size:17px}

.services{max-width:1260px;margin:0 auto;padding:0 40px 110px;display:grid;grid-template-columns:repeat(3,1fr);gap:48px 24px}
.service-card:last-child:nth-child(3n + 1){grid-column:2}
.service-card>a{display:block;width:100%;text-align:center}
.service-image{display:block;height:470px;overflow:hidden;position:relative;background:var(--ivory)}
.service-image img{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.service-card:hover img{transform:scale(1.035)}
.service-image i{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.9);padding:7px 9px;font:normal 12px/1 var(--sans);letter-spacing:.12em}
.service-card strong{display:block;font:400 20px/1.2 var(--serif);letter-spacing:.14em;margin-top:19px}
.service-card small{display:block;color:#706256;font-size:14px;letter-spacing:.02em;margin-top:8px}

.atelier-note{border-top:1px solid #d9d4cd;border-bottom:1px solid #d9d4cd;max-width:1260px;margin:0 auto 110px;padding:52px 40px;display:grid;grid-template-columns:60px 1.2fr 1fr;gap:40px;align-items:start}
.note-number{font:italic 28px/1 var(--serif);color:#9b8c7c}
.note-title h2{font:400 clamp(42px,4.8vw,70px)/.95 var(--serif);letter-spacing:-.04em;margin:0}
.note-copy p{color:#665d55;margin:0 0 27px;max-width:460px}
.text-link{border:0;border-bottom:1px solid currentColor;background:transparent;padding:10px 0;display:inline-flex;align-items:center;gap:24px;font-size:13px;letter-spacing:.12em;min-height:44px}

.ritual-feature{min-height:760px;background:#221d19;color:#fff;display:grid;grid-template-columns:54% 46%}
.ritual-photo{min-height:620px}.ritual-photo img{height:100%;object-fit:cover}
.ritual-copy{padding:clamp(65px,8vw,120px);align-self:center}
.ritual-copy h2{font:400 clamp(50px,5.8vw,82px)/.92 var(--serif);letter-spacing:-.045em;margin:0 0 32px}
.ritual-copy h2 i{font-weight:400}.ritual-copy>p:not(.micro){color:#c9c0b8;max-width:440px;margin:0 0 34px}
.light-button{color:#fff;padding:15px 30px}.light-button:hover{background:#fff;color:#111}

.full-menu{padding:110px max(40px,calc((100vw - 1260px)/2));background:var(--ivory)}
.full-menu>div:first-child{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #cfc7bc;padding-bottom:34px}
.full-menu h2{font:400 clamp(42px,5vw,72px)/1 var(--serif);letter-spacing:-.04em;margin:0}
.menu-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;padding:50px 0}
.menu-columns h3{font:400 19px/1 var(--serif);letter-spacing:.16em;margin:0 0 20px}
.menu-columns p{color:#665d55;line-height:2;margin:0}
.menu-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px 34px}
.dark-button{background:#111;color:#fff;border-color:#111}.dark-button:hover{background:transparent;color:#111}

.find{background:#91806f;color:#fff;padding:100px max(40px,calc((100vw - 1260px)/2))}
.find-heading h2{font:400 clamp(58px,7vw,108px)/.9 var(--serif);letter-spacing:-.05em;margin:0 0 70px}
.find-details{border-top:1px solid rgba(255,255,255,.35);padding-top:34px;display:grid;grid-template-columns:1fr 1fr auto;gap:70px;align-items:start}
.find-details h3{font-size:13px;letter-spacing:.2em;font-weight:400;margin:0 0 18px}
.find-details p,.find-details a{display:block;color:#f0eae3;margin:0 0 8px}
.find-details .light-button{align-self:center}

footer{background:#111;color:#fff;padding:38px 40px 26px}
.footer-brand{text-align:center;font:400 clamp(58px,10vw,160px)/.9 var(--serif);letter-spacing:-.04em;white-space:nowrap;border-bottom:1px solid #343230;padding-bottom:34px}
.footer-meta{padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:13px;letter-spacing:.1em}

.floating-book{position:fixed;right:20px;bottom:20px;z-index:15;border:0;background:#111;color:#fff;padding:13px 16px;display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.1em;min-height:48px;box-shadow:0 10px 34px rgba(0,0,0,.2)}
.floating-book svg{width:17px;height:17px}

dialog{border:0;padding:0;background:#fbfaf7;color:#111;box-shadow:0 30px 90px rgba(0,0,0,.32)}
dialog::backdrop{background:rgba(15,12,10,.62);backdrop-filter:blur(6px)}
.panel{width:min(680px,calc(100% - 26px));max-height:92vh;overflow:auto;padding:48px}
.panel h2{font:400 clamp(42px,5vw,65px)/.95 var(--serif);letter-spacing:-.04em;margin:0 0 36px}
.dialog-close{position:absolute;right:20px;top:20px;border:1px solid #cfc8c0;background:transparent;width:40px;height:40px;display:grid;place-items:center}
.booking-note{color:#665d55;font-size:16px;margin:-16px 0 24px}
form label{display:block;margin:20px 0;font-size:13px;letter-spacing:.12em}
form input,form select,form textarea{display:block;width:100%;border:0;border-bottom:1px solid #bfb7ae;background:transparent;padding:12px 2px;font-size:17px;letter-spacing:normal}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.full{width:100%;justify-content:center;display:flex;gap:10px;align-items:center}
[dir=rtl] .hero-overlay{background:linear-gradient(270deg,rgba(16,13,11,.6),rgba(16,13,11,.18) 43%,transparent 72%)}
[dir=rtl] .hero-copy{left:auto;right:4.6vw}
[dir=rtl] .text-link svg{transform:scaleX(-1)}
[dir=rtl] .service-image i{left:auto;right:14px}
[dir=rtl] .micro,[dir=rtl] .nav a,[dir=rtl] .book-outline,[dir=rtl] .light-button,[dir=rtl] .dark-button,[dir=rtl] .text-link,[dir=rtl] form label,[dir=rtl] .service-card strong{letter-spacing:normal}

.services-intro{background:var(--ivory);display:grid;grid-template-columns:1.1fr .9fr;min-height:480px}
.services-intro-copy{align-self:center;padding:70px 6vw}
.services-intro h1{font:400 clamp(52px,6vw,86px)/.98 var(--serif);letter-spacing:-.045em;margin:0 0 24px}
.services-intro-copy>p:last-child{color:#665d55;max-width:420px;margin:0}
.services-intro-photo{position:relative;overflow:hidden;min-height:480px;max-height:580px}
.services-intro-photo img{height:100%;object-fit:cover;object-position:center 38%}
.services-intro-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,241,234,.15),transparent 35%)}
.service-directory{max-width:1260px;margin:0 auto;padding:48px 40px 100px}
.category-links{display:flex;flex-wrap:wrap;gap:8px 28px;border-bottom:1px solid #d9d4cd;padding-bottom:28px;margin-bottom:34px}
.category-links a{font-size:14px;letter-spacing:.06em;padding:8px 0;border-bottom:1px solid transparent;min-height:44px}
.category-links a:hover{border-color:#111}
.nav a[aria-current=page]:after{width:100%}
.service-search-form{max-width:560px;margin:0}
.service-search-form label{margin:0 0 10px;font-size:13px;color:#665d55}
.search-field{display:flex;border:1px solid #bfb7ae;align-items:center;padding:0 16px;gap:14px;background:#fff}
.search-field input{border:0;margin:0;padding:14px 0;min-width:0;flex:1}
.search-field button{border:0;background:transparent;padding:8px;font-size:13px;min-height:44px}
.search-status{font-size:14px;color:#665d55;margin:14px 0 0}
.catalog-section{border-top:1px solid #d9d4cd;margin-top:54px;padding-top:44px;scroll-margin-top:28px}
.catalog-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}
.catalog-heading h2{font:400 clamp(36px,4.4vw,60px)/1.08 var(--serif);letter-spacing:-.035em;margin:0}
.catalog-heading .micro{margin-bottom:12px;color:#665d55}
.catalog-groups{display:grid;grid-template-columns:1fr 1fr;gap:36px 70px;align-items:start}
.catalog-group h3{font:400 23px/1.3 var(--serif);margin:0 0 15px}
.catalog-list{list-style:none;padding:0;margin:0}
.catalog-list li{padding:13px 0;border-bottom:1px solid #e8e3db;font-size:17px;color:#51483f;line-height:1.5}
.catalog-section.single-group .catalog-groups{grid-template-columns:1fr;max-width:720px}
.search-empty{padding:54px 0;color:#665d55}
.directory-end{margin-top:80px;text-align:center;padding:70px 24px;background:var(--ivory)}
.directory-end h2{font:400 clamp(38px,5vw,64px)/1.05 var(--serif);letter-spacing:-.035em;margin:0 0 28px}
[dir=rtl] .category-links a{letter-spacing:normal}

/* Match the visual scale of the English lettering without spaced Arabic glyphs. */
:lang(ar) body{font-size:20px;line-height:1.75}
:lang(ar) [data-ar]{letter-spacing:normal}
:lang(ar) .nav a,:lang(ar) .book-outline,:lang(ar) .discover,:lang(ar) .light-button,:lang(ar) .dark-button,:lang(ar) .text-link,:lang(ar) .floating-book,:lang(ar) form label,:lang(ar) .service-search-form label,:lang(ar) .search-field button{font-size:16px;letter-spacing:normal}
:lang(ar) .intro h2,:lang(ar) .note-title h2,:lang(ar) .ritual-copy h2,:lang(ar) .full-menu h2,:lang(ar) .find-heading h2,:lang(ar) .panel h2,:lang(ar) .services-intro h1,:lang(ar) .catalog-heading h2,:lang(ar) .directory-end h2{line-height:1.3;letter-spacing:normal}
:lang(ar) .intro h2{font-size:clamp(44px,5.6vw,78px)}
:lang(ar) .intro em{font-size:23px;line-height:1.6;font-style:normal}
:lang(ar) .intro-body,:lang(ar) .booking-note,:lang(ar) .catalog-list li,:lang(ar) form input,:lang(ar) form select,:lang(ar) form textarea{font-size:20px}
:lang(ar) .service-card strong{font-size:24px;line-height:1.4}
:lang(ar) .service-card small{font-size:18px;line-height:1.7}
:lang(ar) .note-title h2{font-size:clamp(48px,5.6vw,80px)}
:lang(ar) .ritual-copy h2{font-size:clamp(58px,6.6vw,94px)}
:lang(ar) .full-menu h2{font-size:clamp(48px,5.8vw,82px)}
:lang(ar) .menu-columns h3{font-size:24px;line-height:1.4}
:lang(ar) .find-heading h2{font-size:clamp(64px,7.8vw,116px)}
:lang(ar) .find-details h3,:lang(ar) .footer-meta [data-ar],:lang(ar) .micro[data-ar]{font-size:16px;letter-spacing:normal}
:lang(ar) .panel h2{font-size:clamp(48px,5.8vw,74px)}
:lang(ar) .services-intro h1{font-size:clamp(58px,6.8vw,98px)}
:lang(ar) .category-links a,:lang(ar) .search-status{font-size:18px;letter-spacing:normal}
:lang(ar) .catalog-heading h2{font-size:clamp(42px,5.2vw,70px)}
:lang(ar) .catalog-group h3{font-size:28px;line-height:1.5}
:lang(ar) .directory-end h2{font-size:clamp(44px,5.8vw,74px)}

@media(min-width:801px) and (max-width:1040px){
  .nav{gap:20px;padding:0 20px}.nav a{letter-spacing:.07em;font-size:12px}.book-outline{padding:14px 16px;font-size:12px}
  .find-details{gap:30px}.ritual-copy{padding:60px 34px}.catalog-groups{gap:36px 40px}
}

@media(max-width:800px){
  .brand-row{height:98px;padding:0 14px;grid-template-columns:44px minmax(0,1fr) 44px}.brand strong{font-size:clamp(24px,6.9vw,34px)}.brand span{font-size:9px;letter-spacing:.16em;padding-left:.16em;margin-top:12px}.menu-toggle{visibility:visible}.language{font-size:12px;gap:5px}.language i{width:8px}
  .nav{display:none;position:absolute;top:98px;left:0;right:0;height:auto;background:#fff;flex-direction:column;align-items:stretch;padding:22px 30px 30px;gap:12px;border-top:1px solid #ddd}.nav.open{display:flex}.nav a{font-size:14px}.book-outline{align-self:start}
  .hero{height:72vh;min-height:540px}.hero>img{object-position:64% center}.hero-overlay,[dir=rtl] .hero-overlay{background:linear-gradient(0deg,rgba(16,13,11,.7),transparent 72%)}
  .hero-copy,[dir=rtl] .hero-copy{left:22px;right:22px;bottom:48px}.hero h1{font-size:56px}
  .intro{padding:58px 20px 42px}.intro h2{font-size:40px}
  .services{padding:0 18px 75px;grid-template-columns:1fr;gap:42px}.service-card:last-child:nth-child(3n + 1){grid-column:auto}.service-image{height:470px}
  .atelier-note{margin:0 18px 75px;padding:42px 0;grid-template-columns:1fr;gap:18px}.note-number{display:none}.note-title h2{font-size:50px}
  .ritual-feature{grid-template-columns:1fr}.ritual-photo{min-height:520px}.ritual-copy{padding:70px 26px}.ritual-copy h2{font-size:58px}
  .full-menu{padding:75px 22px}.full-menu>div:first-child{display:block}.full-menu h2{font-size:50px}.menu-columns{grid-template-columns:1fr;gap:36px}
  .find{padding:75px 24px}.find-heading h2{font-size:58px;margin-bottom:48px}.find-details{grid-template-columns:1fr;gap:35px}
  footer{padding:34px 18px 24px}.footer-brand{font-size:13vw}.footer-meta{flex-direction:column;align-items:center}
  .floating-book{right:12px;bottom:12px}.floating-book span{display:none}
  .panel{padding:36px 22px}.form-grid{grid-template-columns:1fr;gap:0}
  .services-intro{grid-template-columns:1fr}.services-intro-copy{padding:52px 24px 42px}.services-intro h1{font-size:52px}.services-intro-photo{min-height:340px;max-height:420px}.services-intro-photo img{object-position:center 32%}
  .service-directory{padding:34px 22px 70px}.category-links{gap:4px 22px;margin-bottom:28px}.category-links a{font-size:14px}
  .catalog-section{margin-top:42px;padding-top:34px}.catalog-heading{align-items:start;flex-direction:column;gap:14px;margin-bottom:28px}.catalog-heading h2{font-size:42px}.catalog-heading .text-link{font-size:12px}
  .catalog-groups{grid-template-columns:1fr;gap:32px}.catalog-list li{font-size:17px}.directory-end{margin-top:54px;padding:54px 22px}
  :lang(ar) .nav a{font-size:18px}
  :lang(ar) .intro h2{font-size:46px}
  :lang(ar) .note-title h2,:lang(ar) .full-menu h2{font-size:56px}
  :lang(ar) .ritual-copy h2{font-size:66px}
  :lang(ar) .find-heading h2{font-size:64px}
  :lang(ar) .services-intro h1{font-size:58px}
  :lang(ar) .catalog-heading h2{font-size:48px}
}
@media(max-width:360px){.brand span{font-size:8px}.language{font-size:11px;gap:4px}.brand strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
