@font-face { font-family:"Zen Kaku Gothic New"; src:url("../fonts/zen-kaku-light.ttf") format("truetype"); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"Zen Kaku Gothic New"; src:url("../fonts/zen-kaku-regular.ttf") format("truetype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Zen Kaku Gothic New"; src:url("../fonts/zen-kaku-medium.ttf") format("truetype"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Zen Kaku Gothic New"; src:url("../fonts/zen-kaku-bold.ttf") format("truetype"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Zen Kaku Gothic New"; src:url("../fonts/zen-kaku-black.ttf") format("truetype"); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:"Poiret One"; src:url("../fonts/poiret-one-regular.ttf") format("truetype"); font-weight:400; font-style:normal; font-display:swap; }

:root {
  --ink:#29251f;
  --cream:#f7f1e7;
  --sand:#dfc69f;
  --rust:#97482d;
  --night:#202724;
  --gold:#e4bd7f;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:"Zen Kaku Gothic New",Arial,sans-serif;
  font-weight:300;
}
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

.nav {
  position:fixed;
  z-index:50;
  top:0;
  left:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:28px max(4vw,24px);
  color:#fff;
  background:linear-gradient(180deg,rgba(24,29,27,.5),transparent);
}
.wordmark { font-family:"Poiret One","Zen Kaku Gothic New",sans-serif; font-size:23px; font-weight:400; letter-spacing:.14em; }
.nav-actions { display:flex; align-items:center; gap:14px; }
.lang-switch { padding:8px 4px; color:rgba(255,255,255,.9); font-size:11px; font-weight:500; letter-spacing:.15em; transition:color .2s ease; }
.lang-switch:hover { color:var(--gold); }
.nav-cta { padding:10px 18px; border-radius:999px; color:var(--night); background:rgba(247,241,231,.96); font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; transition:transform .2s ease,background .2s ease; }
.nav-cta:hover { transform:translateY(-2px); background:#fff; }

.hero {
  position:relative;
  min-height:100svh;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:145px 24px;
  text-align:center;
  color:#fff8eb;
  background:#553a2d;
}
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 56%; }
.hero-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(18,26,25,.82),rgba(24,29,27,.18) 48%,rgba(32,25,20,.58)); }
.grain { position:absolute; inset:0; z-index:2; opacity:.16; mix-blend-mode:soft-light; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E"); }
.hero-copy { position:relative; z-index:3; max-width:940px; }
.overline { margin:0 0 24px; text-transform:uppercase; text-decoration:none; text-decoration-line:none; font-size:11px; letter-spacing:.18em; font-weight:500; }
.overline.rust { color:var(--rust); }
.overline.gold { color:var(--gold); }
.hero h1 { margin:0; font-family:"Poiret One",sans-serif; font-size:clamp(5.6rem,17vw,13rem); font-weight:400; line-height:.82; letter-spacing:.015em; text-transform:uppercase; }
.hero-subtitle { margin:27px 0 0; font-size:clamp(1.3rem,2.6vw,2rem); font-weight:300; font-style:italic; line-height:1.3; }
.hero-intro { margin:32px auto 38px; font-size:17px; line-height:1.8; color:rgba(255,248,235,.92); text-shadow:0 1px 16px rgba(0,0,0,.35); }
.button { display:inline-flex; align-items:center; gap:30px; padding:15px 23px; border-radius:999px; text-transform:uppercase; font-size:11px; font-weight:500; letter-spacing:.1em; transition:transform .2s ease; }
.button:hover { transform:translateY(-2px); }
.button.light { border:1px solid rgba(255,255,255,.52); }
.button.primary { color:var(--night); background:var(--gold); }

.prose { font-size:18px; line-height:1.88; }
.prose h2 {
  margin:0;
  font-family:"Zen Kaku Gothic New",Arial,sans-serif;
  font-size:clamp(2.25rem,4.5vw,4.35rem);
  font-weight:300;
  line-height:1.08;
  letter-spacing:-.035em;
}
.story-intro h2,
.desert-text h2,
.invitation-copy h2,
.journey-copy > h2,
.integration-copy h2,
.closing-copy h2 {
  font-family:"Poiret One",sans-serif;
  font-weight:400;
  line-height:1.22;
  letter-spacing:.015em;
  padding:.24em 0 .34em;
  text-transform:uppercase;
  overflow:visible;
}
.prose .lead { font-size:clamp(1.2rem,2vw,1.55rem); font-weight:300; line-height:1.62; }
.quiet-emphasis { font-size:1.13em; font-style:italic; font-weight:300; line-height:1.7; }

.story { padding:135px 0 0; overflow:hidden; background:linear-gradient(180deg,var(--cream),#f1e5d1 68%,var(--sand)); }
.story-intro { max-width:860px; margin:0 auto; padding:0 24px 85px; text-align:center; }
.text-with-image { width:min(1120px,calc(100% - 48px)); margin:0 auto 120px; display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; align-items:center; }
.text-column { max-width:570px; }
.text-column p { margin:0 0 26px; }
.text-with-image img { width:100%; height:780px; object-fit:cover; object-position:center 48%; border-radius:32px; }
.truth-copy { max-width:760px; margin:0 auto 125px; padding:0 24px; }
.truth-copy p { margin:0 0 28px; }
.questions-inline { margin-top:54px !important; color:var(--rust); font-size:1.12em; font-style:italic; }

.desert-voice { position:relative; min-height:980px; display:flex; align-items:center; justify-content:center; overflow:hidden; color:#fff4e4; }
.desert-voice > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.desert-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(21,25,23,.34),rgba(19,24,22,.82)); }
.desert-text { position:relative; z-index:2; width:min(760px,calc(100% - 48px)); }
.desert-text h2 { margin-bottom:52px; }
.desert-text p { color:rgba(255,244,228,.88); }
.desert-text .quiet-emphasis { color:var(--gold); }
.desert-methods { margin:48px 0 0; }
.desert-methods .desert-methods-title { margin:0 0 24px; color:var(--ink); font-size:12px; font-style:normal; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.desert-methods ul { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.desert-methods li { position:relative; padding-left:31px; color:var(--rust); font-family:"Poiret One",sans-serif; font-size:clamp(1.25rem,2.1vw,1.7rem); line-height:1.25; letter-spacing:.04em; text-transform:uppercase; }
.desert-methods li::before { content:"🐚"; position:absolute; left:0; top:.08em; font-family:Arial,sans-serif; font-size:.66em; }

.movement-image { position:relative; width:min(1100px,calc(100% - 48px)); height:min(76vw,820px); margin:120px auto; overflow:hidden; border-radius:32px; }
.movement-image img { width:100%; height:100%; object-fit:cover; object-position:center 46%; }
.movement-image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(24,22,18,.62)); }
.movement-image figcaption { position:absolute; z-index:2; left:7%; right:7%; bottom:7%; color:#fff7e9; text-align:right; font-size:clamp(1.25rem,2.4vw,2rem); font-style:italic; font-weight:300; line-height:1.35; }
.invitation-copy { max-width:790px; margin:0 auto; padding:0 24px 135px; }
.invitation-copy h2 { margin-bottom:45px; }
.invitation-copy p { margin-bottom:27px; }

.journey { padding:135px 0; color:#f8efdf; background:var(--night); }
.journey-copy { max-width:790px; margin:0 auto; padding:0 24px; }
.journey-copy h2 { margin-bottom:80px; }
.journey-phase { display:grid; grid-template-columns:135px 1fr; gap:36px; padding:32px 0; }
.journey-phase p { margin:0; color:rgba(248,239,223,.8); }
.journey-phase .phase-body p + p { margin-top:26px; }
.journey-phase .quiet-emphasis { color:var(--gold); }
.phase-label { color:var(--gold) !important; font-size:15px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.aziz-gallery { width:min(1120px,calc(100% - 48px)); margin:90px auto 115px; display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.aziz-gallery figure { aspect-ratio:4/5; margin:0; overflow:hidden; border-radius:22px; }
.aziz-gallery img { width:100%; height:100%; object-fit:cover; }
.aziz-gallery figure:nth-child(1) img { object-position:center; }
.aziz-gallery figure:nth-child(2) img { object-position:center; }
.aziz-gallery figure:nth-child(3) img { object-position:center 40%; }
.aziz-gallery figure:nth-child(4) img { object-position:center 58%; }
.aziz-gallery figure:nth-child(5) img { object-position:center; }
.aziz-gallery figure:nth-child(6) img { object-position:center 40%; }
.integration-copy { max-width:760px; margin:0 auto; padding:0 24px; }
.integration-copy h2 { margin-bottom:48px; }
.integration-copy p { margin-bottom:27px; color:rgba(248,239,223,.8); }
.integration-copy .quiet-emphasis { color:var(--gold); }
.riad-stay { margin-top:130px; }
.riad-stay-copy { max-width:760px; margin:0 auto; padding:0 24px; }
.riad-stay-copy h2 {
  margin:0 0 48px;
  padding:.24em 0 .34em;
  color:#fff4e4;
  font-family:"Poiret One",sans-serif;
  font-weight:400;
  line-height:1.22;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.riad-stay-copy p { margin:0; color:rgba(248,239,223,.8); }
.riad-slider { display:flex; gap:18px; margin-top:70px; padding:0 max(4vw,24px) 24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:rgba(228,189,127,.62) rgba(255,255,255,.08); }
.riad-slider:focus-visible { outline:1px solid var(--gold); outline-offset:8px; }
.riad-slide { flex:0 0 min(46vw,560px); height:min(30vw,360px); margin:0; overflow:hidden; border-radius:24px; scroll-snap-align:center; background:#171c1a; }
.riad-slide.portrait { flex-basis:min(28vw,300px); }
.riad-slide img { width:100%; height:100%; object-fit:cover; }

.practical { padding:135px max(7vw,24px); background:var(--cream); }
.practical-copy { max-width:790px; margin:0 auto; text-align:center; }
.practical-copy .place { margin:22px 0 0; color:var(--rust); font-size:clamp(1.1rem,2vw,1.45rem); }
.price-section { max-width:790px; margin:90px auto 0; padding:55px 24px; text-align:center; border-top:1px solid #bcae97; border-bottom:1px solid #bcae97; }
.price-section p { margin:0; text-transform:uppercase; font-size:11px; font-weight:500; letter-spacing:.16em; color:var(--rust); }
.price-section strong { display:block; margin:12px 0; font-family:"Zen Kaku Gothic New",Arial,sans-serif; font-size:clamp(4rem,8vw,7rem); font-weight:500; line-height:1; letter-spacing:-.055em; }
.price-section span { display:block; color:#5e584e; }
.price-section .finance-note { margin:18px 0 8px; font-size:18px; font-style:italic; }
.price-section .regular-price { font-size:16px; }
.price-section .member-note { margin:2px 0 18px; color:#756d61; font-size:13px; line-height:1.55; }

.people { padding:40px max(7vw,24px) 150px; background:var(--cream); }
.people-intro { max-width:790px; margin:0 auto 105px; text-align:center; }
.people-intro h2 { margin:0; font-family:"Poiret One",sans-serif; font-size:clamp(2.7rem,5vw,5.2rem); font-weight:400; line-height:1.15; letter-spacing:.015em; text-transform:uppercase; }
.person-row { width:min(1120px,100%); margin:0 auto 130px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:clamp(55px,8vw,120px); align-items:center; }
.person-row:nth-of-type(odd) .person-image { order:2; }
.person-row:last-child { margin-bottom:0; }
.person-image { aspect-ratio:4/5; margin:0; overflow:hidden; border-radius:30px; background:#d9cab3; }
.person-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.person-image-wide img { object-position:58% center; }
.person-aziz .person-image img { transform:scale(1.55); transform-origin:center 28%; }
.person-copy { max-width:560px; }
.person-copy h3 { margin:0 0 34px; font-family:"Poiret One",sans-serif; font-size:clamp(2.8rem,5vw,5.5rem); font-weight:400; line-height:1; letter-spacing:.02em; text-transform:uppercase; }
.person-copy p { margin:0 0 25px; }

.closing { min-height:900px; display:flex; align-items:center; padding:135px max(8vw,24px); color:#f8efdf; background:linear-gradient(rgba(35,43,39,.72),rgba(35,43,39,.88)),url("../images/dana-camp.jpg") center 62%/cover no-repeat; }
.closing-copy { max-width:760px; }
.closing-copy h2 { margin-bottom:42px; }
.closing-copy > p { color:rgba(248,239,223,.84); }
.closing-copy .quiet-emphasis { color:var(--gold); }
.closing .button { margin-top:20px; }
.site-footer { display:grid; grid-template-columns:1.1fr .8fr 1.1fr; gap:clamp(42px,7vw,110px); padding:82px max(6vw,24px) 34px; color:rgba(255,255,255,.72); background:var(--night); font-size:14px; font-weight:300; line-height:1.7; letter-spacing:.025em; }
.footer-mark { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.footer-wordmark { color:#fff8ed; font-family:"Poiret One","Zen Kaku Gothic New",sans-serif; font-size:clamp(3.2rem,6vw,6rem); font-weight:400; line-height:.9; letter-spacing:.04em; text-transform:uppercase; }
.footer-mark > span:last-child { max-width:240px; color:rgba(255,255,255,.58); font-style:italic; }
.footer-contact p { margin:0 0 22px; }
.site-footer a { color:inherit; text-decoration:none; transition:color .2s ease; }
.site-footer a:hover { color:var(--gold); }
.footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.footer-links > div { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.footer-links > div > span { margin-bottom:7px; color:var(--gold); font-size:10px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:30px; padding-top:18px; color:rgba(255,255,255,.48); font-size:10px; font-weight:500; letter-spacing:.15em; text-transform:uppercase; }

@media (max-width:820px) {
  .text-with-image { grid-template-columns:1fr; gap:60px; }
  .text-with-image img { height:720px; }
}

@media (max-width:560px) {
  .nav { padding:18px 12px 34px; }
  .wordmark { font-size:17px; letter-spacing:.1em; }
  .nav-actions { gap:7px; }
  .lang-switch { padding:8px 2px; font-size:10px; }
  .nav-cta { padding:9px 12px; font-size:10px; }
  .hero { min-height:100svh; padding:0; }
  .hero-photo { object-position:center 52%; }
  .hero-overlay { background:linear-gradient(180deg,rgba(18,26,25,.68),rgba(24,29,27,.06) 42%,rgba(32,25,20,.62)); }
  .hero-copy { position:absolute; inset:0; width:100%; max-width:none; }
  .hero-copy > .overline { position:absolute; top:104px; left:20px; right:20px; margin:0; }
  .hero h1 { position:absolute; top:52svh; left:50%; width:100%; margin:0; transform:translate(-50%,-50%); font-size:clamp(5.6rem,25vw,6.4rem); }
  .hero-subtitle { position:absolute; top:calc(52svh + 50px); left:20px; right:20px; margin:0; font-size:1.25rem; }
  .hero-intro { position:absolute; right:20px; bottom:86px; left:20px; margin:0; font-size:15px; line-height:1.62; }
  .hero-copy > .button { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); }
  .hero-copy > .button:hover { transform:translateX(-50%); }
  .story,.journey,.practical,.closing { padding-block-start:100px; }
  .text-with-image { width:calc(100% - 32px); }
  .text-with-image img { height:620px; }
  .desert-voice { min-height:930px; }
  .movement-image { width:calc(100% - 32px); height:680px; margin-block:90px; }
  .movement-image figcaption { text-align:left; }
  .journey-phase { grid-template-columns:1fr; gap:10px; }
  .aziz-gallery { width:calc(100% - 32px); margin-block:72px 90px; grid-template-columns:repeat(6,72vw); gap:12px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .aziz-gallery::-webkit-scrollbar { display:none; }
  .aziz-gallery figure { border-radius:18px; scroll-snap-align:start; }
  .riad-stay { margin-top:96px; }
  .riad-stay-copy h2 { margin-bottom:36px; }
  .riad-slider { gap:12px; margin-top:52px; padding-inline:16px; }
  .riad-slide { flex-basis:74vw; height:260px; border-radius:18px; scroll-snap-align:start; }
  .riad-slide.portrait { flex-basis:50vw; }
  .people { padding:50px 16px 105px; }
  .people-intro { padding:0 8px; margin-bottom:72px; }
  .person-row { grid-template-columns:1fr; gap:38px; margin-bottom:90px; }
  .person-row:nth-of-type(odd) .person-image { order:0; }
  .person-image { border-radius:22px; }
  .person-copy { padding:0 8px; }
  .person-copy h3 { margin-bottom:26px; }
  .site-footer { grid-template-columns:1fr; gap:38px; padding-top:64px; }
  .footer-links { gap:24px; }
  .footer-bottom { flex-direction:column; gap:6px; padding-top:8px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
