/* Cairo Voyage: shared stylesheet for all four languages.
   Tokens on :root are the Latin-language look; :root[data-site="ar"] swaps fonts for the Arabic pages. */
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%;display:block}
[hidden]{display:none!important}
:root{
  --bg:#F3EDE2; --surface:#FFFDF9; --ink:#16203D; --muted:#5D6275; --line:rgba(22,32,61,.12);
  --dark:#1B2B57; --dark2:#243769; --on-dark:#F5EFE4; --on-dark-muted:#B8BFD3; --dark-line:rgba(245,239,228,.16);
  --accent:#C9A04A; --accent-strong:#85661F; --accent-ink:#16203D;
  --display:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:18px; --ok:#2E7D5B; --warn:#B07A1E; --info:#2F5E8C;
  color-scheme:light;
}
:root[data-site="ar"]{
  --bg:#F3EDE2; --surface:#FFFDF9; --ink:#16203D; --muted:#5D6275; --line:rgba(22,32,61,.12);
  --dark:#1B2B57; --dark2:#243769; --on-dark:#F5EFE4; --on-dark-muted:#B8BFD3; --dark-line:rgba(245,239,228,.16);
  --accent:#C9A04A; --accent-strong:#85661F; --accent-ink:#16203D;
  --display:"IBM Plex Sans Arabic",Tahoma,sans-serif;
  --body:"IBM Plex Sans Arabic",Tahoma,"Segoe UI",sans-serif;
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--dark)}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1200px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:500;text-wrap:balance;margin:0;line-height:1.1}
p{margin:0}
.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--accent-strong)}
.ar .eyebrow{letter-spacing:0;font-size:.95rem}
.dark-band .eyebrow{color:var(--accent)}

/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--dark);color:var(--on-dark);border-bottom:1px solid var(--dark-line)}
.ar .hdr{background:rgba(242,236,225,.94);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.hdr .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.logo{display:flex;align-items:baseline;gap:10px;text-decoration:none;white-space:nowrap}
.logo .l1{font-family:var(--display);font-size:1.6rem;letter-spacing:.14em;font-weight:500}
.logo .l2{font-family:"IBM Plex Sans Arabic",sans-serif;font-size:.95rem;color:var(--accent)}
.ar .logo .l1{letter-spacing:0;font-size:1.9rem;color:var(--dark);font-weight:600}
.ar .logo .l2{font-family:"Manrope",sans-serif;letter-spacing:.2em;font-size:.72rem;color:var(--accent)}
.nav{display:flex;gap:22px;margin-inline-start:auto;font-size:.9rem}
.nav a{text-decoration:none;opacity:.82}
.nav a:hover{opacity:1;color:var(--accent)}
.langs{display:flex;gap:2px;border:1px solid var(--dark-line);border-radius:999px;padding:2px}
.ar .langs{border-color:var(--line)}
.langs button{background:none;border:0;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:600;cursor:pointer;letter-spacing:.04em}
.langs button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:0;cursor:pointer;font-weight:600;font-size:.92rem;padding:12px 22px;border-radius:var(--radius);transition:background .2s,transform .2s;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn-acc{background:var(--accent);color:var(--accent-ink)}
.btn-acc:hover{background:var(--accent-strong);color:#fff}
.btn-ghost{background:transparent;border:1px solid currentColor;color:inherit}
.btn-ghost:hover{background:rgba(127,127,127,.12)}
.hdr .btn{padding:9px 16px}
.menu-btn{display:none;background:none;border:1px solid var(--dark-line);border-radius:var(--radius);padding:6px 10px;cursor:pointer}
.ar .menu-btn{border-color:var(--line)}
@media (max-width:980px){
  .nav{display:none;position:absolute;inset-inline:0;top:100%;flex-direction:column;gap:0;background:var(--dark);padding:8px max(20px,env(safe-area-inset-left,0px)) 16px;border-bottom:1px solid var(--dark-line)}
  .ar .nav{background:var(--surface);border-bottom:1px solid var(--line)}
  .nav a{padding:10px 0;border-bottom:1px solid var(--dark-line)}
  .ar .nav a{border-color:var(--line)}
  .hdr.open .nav{display:flex}
  .menu-btn{display:block;margin-inline-start:auto}
  .hdr .btn-wa-h{display:none}
}
@media (max-width:520px){.logo .l2{display:none}.langs button{padding:4px 7px}}

section{scroll-margin-top:80px}
.sec{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:grid;gap:12px;margin-bottom:clamp(28px,4vw,48px);max-width:720px}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.sec-head p{color:var(--muted);max-width:60ch}
.dark-band{background:var(--dark);color:var(--on-dark)}
.dark-band .sec-head p{color:var(--on-dark-muted)}

/* ---------- LTR hero ---------- */
.hero-lt{position:relative;background:var(--dark);color:var(--on-dark);overflow:hidden}
.hero-lt .scene{position:absolute;inset:0;opacity:.9}
.hero-lt .scene svg{width:100%;height:100%;display:block}
.hero-lt .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,31,64,.96) 0%,rgba(20,31,64,.78) 45%,rgba(20,31,64,.25) 100%)}
.hero-lt .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:end;padding-block:clamp(56px,9vw,120px) clamp(48px,6vw,80px)}
.hero-lt h1{font-size:clamp(2.8rem,7vw,5.8rem);font-weight:400;letter-spacing:-.01em;margin-block:18px 22px}
.hero-lt h1 em{font-style:italic;color:var(--accent)}
.hero-lt .sub{font-size:1.08rem;color:var(--on-dark-muted);max-width:52ch}
.hero-lt .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.book{background:rgba(23,32,42,.82);border:1px solid var(--dark-line);border-radius:var(--radius);padding:24px;backdrop-filter:blur(10px);display:grid;gap:14px;min-width:0}
.book h3{font-size:1.5rem}
.book .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fld{display:grid;gap:5px;min-width:0}
.fld label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted);font-weight:600}
.fld input,.fld select{width:100%;background:rgba(236,231,222,.06);border:1px solid var(--dark-line);border-radius:var(--radius);padding:10px 12px;color:var(--on-dark);min-width:0}
.fld select option{color:#111;background:#fff}
.book .note{font-size:.8rem;color:var(--on-dark-muted)}
@media (max-width:900px){.hero-lt .wrap{grid-template-columns:1fr}.hero-lt .veil{background:linear-gradient(180deg,rgba(20,31,64,.7),rgba(20,31,64,.95))}}
@media (max-width:420px){.book .row{grid-template-columns:1fr}}

/* ---------- Arabic hero ---------- */
.pattern{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%230F3F3D' stroke-opacity='.09' stroke-width='1'%3E%3Cpath d='M28 6l6.5 15.5L50 28l-15.5 6.5L28 50l-6.5-15.5L6 28l15.5-6.5z'/%3E%3Crect x='16' y='16' width='24' height='24' transform='rotate(45 28 28)'/%3E%3Crect x='16' y='16' width='24' height='24'/%3E%3C/g%3E%3C/svg%3E")}
.hero-ar{padding-block:clamp(40px,6vw,80px)}
.hero-ar .grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:center}
.hero-ar h1{font-size:clamp(2.8rem,7.2vw,5.6rem);font-weight:600;color:var(--dark);line-height:1.15;margin-block:14px 18px}
.hero-ar h1 em{font-style:normal;color:var(--accent)}
.hero-ar .sub{font-size:1.15rem;color:var(--muted);max-width:46ch;line-height:1.8}
.hero-ar .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-ar .btn-ghost{color:var(--dark)}
.arch{position:relative;aspect-ratio:4/5;max-width:100%;border-radius:999px 999px 18px 18px;overflow:hidden;border:6px solid var(--surface);box-shadow:0 0 0 1px var(--line),0 30px 60px -30px rgba(15,63,61,.45)}
.arch svg{width:100%;height:100%;display:block}
.arch .tag{position:absolute;inset-inline:16px;bottom:16px;background:var(--surface);border-radius:12px;padding:12px 14px;font-size:.92rem;display:flex;gap:10px;align-items:center;color:var(--ink)}
.arch .tag b{color:var(--dark)}
.arch .tag svg{width:22px;height:22px;flex:none;color:var(--accent)}
.book-ar{margin-top:clamp(36px,5vw,64px);background:var(--dark);color:var(--on-dark);border-radius:20px;padding:22px;display:grid;gap:14px}
.book-ar .top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:baseline}
.book-ar h3{font-size:1.45rem}
.book-ar .fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.book-ar .fld label{text-transform:none;letter-spacing:0;font-size:.85rem}
.book-ar .fld input,.book-ar .fld select{border-radius:10px;background:rgba(244,239,230,.08)}
.book-ar .act{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.book-ar .note{font-size:.88rem;color:var(--on-dark-muted)}
@media (max-width:900px){.hero-ar .grid{grid-template-columns:1fr}.arch{max-width:380px;margin-inline:auto;aspect-ratio:1/1;width:100%}.book-ar .fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.book-ar .fields{grid-template-columns:1fr}}

/* ---------- trust strip ---------- */
.trust{border-bottom:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.trust div{padding:18px 16px;display:flex;gap:10px;align-items:center;font-size:.9rem;font-weight:500;border-inline-start:1px solid var(--line)}
.trust div:first-child{border-inline-start:0;padding-inline-start:0}
.trust svg{width:20px;height:20px;color:var(--accent-strong);flex:none}
.ar .trust{border-bottom:0;padding-top:20px}
.ar .trust div{border:0;padding:12px 0}
@media (max-width:820px){.trust .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.trust div{border-inline-start:0;padding-inline-start:0}}

/* ---------- services (LTR rows) ---------- */
.svc-rows{border-top:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.9fr);gap:32px;padding-block:30px;border-bottom:1px solid var(--line);align-items:start}
.svc-row h3{font-size:clamp(1.5rem,2.4vw,2rem);display:flex;gap:14px;align-items:baseline}
.svc-row h3 svg{width:22px;height:22px;color:var(--accent-strong);flex:none;transform:translateY(3px)}
.svc-row p{color:var(--muted)}
.svc-row ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.92rem}
.svc-row li{display:flex;gap:8px}
.svc-row li::before{content:"";width:12px;height:1px;background:var(--accent);margin-top:.8em;flex:none}
.svc-row .go{margin-top:12px;font-weight:600;font-size:.88rem;text-decoration:none;color:var(--accent-strong);display:inline-block}
.svc-row .go:hover{text-decoration:underline}
@media (max-width:860px){.svc-row{grid-template-columns:1fr;gap:12px}}

/* ---------- services (Arabic cards) ---------- */
.svc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.svc-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;gap:12px;align-content:start}
.svc-card .ic{width:46px;height:46px;border-radius:12px;background:rgba(15,63,61,.08);display:grid;place-items:center;color:var(--dark)}
.svc-card .ic svg{width:24px;height:24px}
.svc-card h3{font-size:1.4rem;color:var(--dark)}
.svc-card p{color:var(--muted)}
.svc-card ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.svc-card li{font-size:.82rem;background:var(--bg);border-radius:999px;padding:3px 10px}
.svc-card .go{font-weight:600;color:var(--accent);text-decoration:none;font-size:.95rem}
.svc-card.feat{grid-column:span 2;grid-row:span 1;background:var(--dark);color:var(--on-dark);border-color:var(--dark)}
.svc-card.feat h3{color:var(--on-dark);font-size:2rem}
.svc-card.feat p{color:var(--on-dark-muted);font-size:1.05rem;max-width:52ch}
.svc-card.feat .ic{background:rgba(244,239,230,.1);color:var(--on-dark)}
.svc-card.feat li{background:rgba(244,239,230,.1)}
.svc-card.feat .go{color:#F0B48F}
@media (max-width:900px){.svc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.svc-cards{grid-template-columns:1fr}.svc-card.feat{grid-column:auto}}

/* ---------- cities ---------- */
.cities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.city{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--dark-line);border-radius:var(--radius);overflow:hidden;background:var(--dark2)}
.ar .city{border-radius:18px}
.city .pic{aspect-ratio:4/3;max-width:100%}
.city .pic svg{width:100%;height:100%;display:block}
.city .tx{padding:18px;display:grid;gap:8px;align-content:start}
.city h3{font-size:1.5rem}
.city p{color:var(--on-dark-muted);font-size:.92rem}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.chips span{font-size:.75rem;border:1px solid var(--dark-line);border-radius:999px;padding:2px 9px;color:var(--on-dark)}
@media (max-width:980px){.cities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.cities{grid-template-columns:1fr}}

/* ---------- tours ---------- */
.tours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tour{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.ar .tour{border-radius:18px}
.tour .pic{aspect-ratio:16/9;max-width:100%;position:relative}
.tour .pic svg{width:100%;height:100%;display:block}
.tour .where{position:absolute;inset-inline-start:12px;top:12px;background:rgba(20,31,64,.72);color:#F2EEE6;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.ar .tour .where{background:var(--surface);color:var(--dark);letter-spacing:0;font-size:.8rem;font-weight:600}
.tour .tx{padding:20px;display:grid;gap:10px;align-content:start}
.tour h3{font-size:1.35rem}
.ar .tour h3{color:var(--dark)}
.tour p{color:var(--muted);font-size:.93rem}
.tour .meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:4px;font-size:.88rem}
.tour .meta span{display:inline-flex;gap:6px;align-items:center;font-variant-numeric:tabular-nums}
.tour .meta svg{width:16px;height:16px;color:var(--accent-strong)}
.tour .price{font-weight:700}
.tour .go{font-weight:600;color:var(--accent-strong);text-decoration:none;font-size:.9rem}
.tour .go:hover{text-decoration:underline}
@media (max-width:980px){.tours{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.tours{grid-template-columns:1fr}}

/* ---------- explorer (categories → all places) ---------- */
.ex-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ex-cat{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;text-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;cursor:pointer;transition:background .2s,border-color .2s}
.ar .ex-cat{border-radius:16px}
.ex-cat:hover{border-color:var(--accent)}
.ex-cat .ic{grid-row:span 2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--accent-strong)}
.ex-cat .ic svg{width:22px;height:22px}
.ex-cat b{font-family:var(--display);font-weight:500;font-size:1.2rem;line-height:1.2}
.ar .ex-cat b{font-weight:600}
.ex-cat small{color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}
.ex-cat[aria-pressed="true"]{background:var(--dark);color:var(--on-dark);border-color:var(--dark)}
.ex-cat[aria-pressed="true"] small{color:var(--on-dark-muted)}
.ex-cat[aria-pressed="true"] .ic{background:rgba(255,255,255,.1);color:var(--accent)}
.ex-panel{margin-top:28px;display:grid;gap:16px}
.ex-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;border-bottom:1px solid var(--line);padding-bottom:16px}
.ex-top h3{font-size:clamp(1.6rem,3vw,2.2rem)}
.ar .ex-top h3{color:var(--dark);font-weight:600}
.ex-top p{color:var(--muted);font-size:.95rem;margin-top:4px}
.ex-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.fchips{display:flex;flex-wrap:wrap;gap:6px}
.fchips button{background:transparent;border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:.85rem;cursor:pointer}
.fchips button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.fchips .sep{width:1px;background:var(--line);margin-inline:4px}
.ex-search{position:relative;flex:1 1 240px;max-width:340px}
.ex-search input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:9px 14px;padding-inline-start:38px}
.ex-search svg{position:absolute;inset-inline-start:13px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--muted)}
.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.place{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:grid;gap:6px;align-content:start;min-width:0}
.ar .place{border-radius:14px}
.place.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.place h4{margin:0;font-family:var(--body);font-weight:700;font-size:1.02rem;line-height:1.35}
.place .alt{font-family:"IBM Plex Sans Arabic",sans-serif;font-size:.85rem;color:var(--muted);direction:rtl;text-align:start}
.lt .place .alt{text-align:left}
.place .loc{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.82rem;color:var(--muted)}
.place .loc svg{width:14px;height:14px;color:var(--accent-strong)}
.place .tg{font-size:.72rem;border:1px solid var(--line);border-radius:999px;padding:1px 8px;color:var(--ink)}
.place .meta{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}
.place .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.sbtn{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;border-radius:var(--radius);padding:7px 12px;text-decoration:none;cursor:pointer;border:1px solid var(--line);background:transparent}
.ar .sbtn{border-radius:10px}
.sbtn svg{width:15px;height:15px}
.sbtn.go{background:var(--dark);border-color:var(--dark);color:var(--on-dark)}
.sbtn.go:hover{background:var(--dark2)}
.sbtn[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.ex-empty{color:var(--muted);padding:24px 0}
.tray{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;background:var(--dark);color:var(--on-dark);border-radius:var(--radius);padding:14px 16px;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;box-shadow:0 18px 40px -16px rgba(0,0,0,.5)}
.ar .tray{border-radius:16px}
.tray b{font-family:var(--display);font-size:1.2rem;font-weight:500}
.tray .picks{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 280px;min-width:0}
.tray .picks span{font-size:.8rem;border:1px solid var(--dark-line);border-radius:999px;padding:2px 10px}
.tray .btn{padding:10px 16px}
.tray .clr{background:none;border:0;color:var(--on-dark-muted);cursor:pointer;text-decoration:underline;font-size:.85rem}
body.has-picks .fab{display:none}
@media (max-width:980px){.ex-cats{grid-template-columns:repeat(2,minmax(0,1fr))}.places{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.places{grid-template-columns:1fr}.ex-cat{padding:12px}.ex-cat .ic{width:36px;height:36px}.ex-cat b{font-size:1.02rem}}

/* accordion + collapsed booking */
.hero-lt .wrap{grid-template-columns:minmax(0,1fr)}
.hero-lt .wrap > div{max-width:640px}
#s-explore{padding-top:clamp(40px,6vw,72px)}
.ex-cat{position:relative}
.ex-panel[hidden]{display:none!important}
.ex-cat .chev,.bk-chev{position:absolute;inset-inline-end:14px;top:50%;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.5;transition:transform .2s}
.ex-cat[aria-expanded="true"] .chev{transform:translateY(-30%) rotate(-135deg)}
.ex-cats .ex-panel{grid-column:1/-1;margin:4px 0 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.ar .ex-cats .ex-panel{border-radius:16px}
.ex-top{align-items:center}
.ex-top h3{font-size:clamp(1.3rem,2.4vw,1.8rem)}
.ex-close{background:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;font-size:.82rem;color:var(--muted)}
.ex-more{display:block;margin:4px auto 0;background:none;border:1px solid var(--accent);color:var(--accent-strong);border-radius:999px;padding:9px 22px;font-weight:600;cursor:pointer}
.ex-more:hover{background:var(--accent);color:var(--accent-ink)}
.place{background:var(--bg)}
#exTray .tray{margin-top:16px}
.bk-sec{padding-bottom:clamp(32px,5vw,56px)}
.bookbox{background:var(--dark);color:var(--on-dark);border-radius:var(--radius)}
.ar .bookbox{border-radius:18px}
.bookbox summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:center;padding:16px 46px 16px 18px;padding-inline:18px 46px;position:relative}
.bookbox summary::-webkit-details-marker{display:none}
.bookbox .bk-ic{width:42px;height:42px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:none}
.bookbox .bk-ic svg{width:22px;height:22px}
.bookbox .bk-t{display:grid;gap:2px}
.bookbox .bk-t b{font-family:var(--display);font-weight:500;font-size:1.25rem}
.bookbox .bk-t small{color:var(--on-dark-muted);font-size:.85rem}
.bookbox[open] .bk-chev{transform:translateY(-30%) rotate(-135deg)}
.bookbox .book-ar{margin:0;border-radius:0 0 18px 18px;padding-top:4px;background:transparent}
.fld input[type=date],.fld input[type=time]{-webkit-appearance:none;appearance:none;display:block;min-height:46px;line-height:1.4;text-align:start}
.lt .book-ar .fld label{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}

/* ===== Latin languages: black & gold chauffeur + airy rounded cards ===== */
.lt h1,.lt h2,.lt h3{font-weight:700;letter-spacing:-.025em}
.lt h1 em,.lt h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}
.lt .logo .l1{font-family:var(--body);font-weight:800;letter-spacing:.32em;font-size:1.25rem}
#site .btn{border-radius:999px}
.lt .eyebrow{color:var(--accent-strong);letter-spacing:.2em;font-size:.72rem}
.lt .dark-band .eyebrow,.lt .hero-lt .eyebrow{color:var(--accent)}
#site .sec-head{margin-inline:auto;text-align:center;justify-items:center}
#site .sec-head p{margin-inline:auto}
#site .faq-grid .sec-head{margin-inline:0;text-align:start;justify-items:start}
#site .faq-grid .sec-head p{margin-inline:0}
.lt .hero-lt h1{font-weight:700;font-size:clamp(2.6rem,6.4vw,5.2rem);letter-spacing:-.035em;line-height:1.02}
.lt .hero-lt h1 em{font-size:1.08em;color:var(--accent)}
.lt .hero-lt .veil{background:linear-gradient(90deg,rgba(20,31,64,.95) 0%,rgba(20,31,64,.72) 50%,rgba(20,31,64,.2) 100%)}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.hero-pills span{display:inline-flex;gap:7px;align-items:center;font-size:.8rem;border:1px solid var(--dark-line);background:rgba(255,255,255,.05);border-radius:999px;padding:6px 12px;color:var(--on-dark)}
.hero-pills svg{width:15px;height:15px;color:var(--accent)}
#site .trust{display:none}
#site .svc-card{border-radius:22px;box-shadow:0 1px 0 rgba(0,0,0,.02),0 12px 30px -22px rgba(0,0,0,.25)}
#site .svc-card .ic{background:var(--bg);color:var(--accent-strong);border-radius:50%}
#site .svc-card h3{color:var(--ink);font-size:1.3rem}
#site .svc-card.feat{background:var(--dark);border-color:var(--dark)}
#site .svc-card.feat h3{color:var(--on-dark);font-size:1.9rem}
#site .svc-card.feat .ic{background:rgba(255,255,255,.08);color:var(--accent)}
#site .svc-card.feat .go{color:var(--accent)}
#site .svc-card .go{color:var(--accent-strong)}
#site .ex-cat{border-radius:20px;background:var(--surface)}
#site .ex-cat[aria-pressed="true"]{background:var(--dark)}
#site .ex-cat .ic{border-radius:50%}
#site .ex-cats .ex-panel{border-radius:22px}
#site .place{border-radius:16px}
#site .sbtn{border-radius:999px}
#site .city{border-radius:22px}
#site .bookbox{border-radius:22px}
#site .tray{border-radius:22px}
.bk-tabs{display:flex;flex-wrap:wrap;gap:6px}
.bk-tabs button{background:transparent;border:1px solid var(--dark-line);color:var(--on-dark-muted);border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer}
.bk-tabs button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.lt .bk-tabs button{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
/* Arabic: same black & gold look, Arabic type */
.ar h1,.ar h2,.ar h3{font-weight:700}
.ar .logo .l1{font-family:"Reem Kufi","IBM Plex Sans Arabic",sans-serif;color:var(--on-dark)}
.ar .hdr{background:rgba(20,31,64,.96);color:var(--on-dark);border-bottom:1px solid var(--dark-line)}
.ar .langs,.ar .menu-btn{border-color:var(--dark-line)}
@media (max-width:980px){.ar .nav{background:var(--dark)}.ar .nav a{border-color:var(--dark-line)}}
.ar .hero-ar{background-color:var(--dark);color:var(--on-dark);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23C9A04A' stroke-opacity='.10' stroke-width='1'%3E%3Cpath d='M28 6l6.5 15.5L50 28l-15.5 6.5L28 50l-6.5-15.5L6 28l15.5-6.5z'/%3E%3Crect x='16' y='16' width='24' height='24' transform='rotate(45 28 28)'/%3E%3Crect x='16' y='16' width='24' height='24'/%3E%3C/g%3E%3C/svg%3E")}
.ar .hero-ar h1{color:var(--on-dark);font-weight:700}
.ar .hero-ar .sub{color:var(--on-dark-muted)}
.ar .hero-ar .eyebrow{color:var(--accent)}
.ar .hero-ar .btn-ghost{color:var(--on-dark)}
.ar .arch{border-color:var(--dark2);box-shadow:0 0 0 1px var(--dark-line),0 30px 60px -30px rgba(0,0,0,.7)}
.ar .arch .tag{background:var(--dark2);color:var(--on-dark)}
.ar .arch .tag b{color:var(--accent)}
.ar .sec-head h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}
@media (max-width:900px){.ar .arch{aspect-ratio:4/3;max-width:340px}}

/* car cards with a "photo" panel */
.car .shot{position:relative;aspect-ratio:16/10;max-width:100%;background:linear-gradient(180deg,var(--dark2),var(--dark));color:var(--on-dark);overflow:hidden;border-radius:14px}
.car .shot .sky{max-width:none;position:absolute;inset:auto 0 22% 0;width:100%;height:55%;color:var(--on-dark);opacity:.10}
.car .shot::after{content:"";position:absolute;inset:auto 0 0 0;height:24%;background:rgba(255,255,255,.06)}
.car .shot .cv{position:absolute;inset:auto 8% 10% 8%;display:flex;justify-content:center}
.car .shot .cv svg{width:100%;max-width:200px;color:var(--on-dark);opacity:.95;position:relative;z-index:1}
.car .ct{display:grid;gap:8px;padding-top:14px}
#site .fleet{border:0;gap:16px}
#site .car{background:var(--surface);border:1px solid var(--line)!important;border-radius:22px;padding:10px 10px 20px;text-align:center}
#site .car .ct{padding-inline:10px;justify-items:center}
#site .car .spec{justify-content:center}
.ar .car .shot{border-radius:12px}

/* ---------- fleet ---------- */
.fleet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--radius)}
.ar .fleet{border:0;gap:14px}
.car{padding:24px;display:grid;gap:8px;border-inline-start:1px solid var(--line);align-content:start}
.car:first-child{border-inline-start:0}
.ar .car{background:var(--surface);border:1px solid var(--line);border-radius:18px}
.car svg{width:100%;max-width:170px;height:auto;color:var(--ink);opacity:.86}
.ar .car svg{color:var(--dark)}
.car h3{font-size:1.35rem}
.car .spec{display:flex;gap:14px;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}
.car .spec span{display:inline-flex;gap:5px;align-items:center}
.car .spec svg{width:15px;height:15px;color:var(--accent-strong)}
.car p{color:var(--muted);font-size:.9rem}
@media (max-width:900px){.fleet{grid-template-columns:repeat(2,minmax(0,1fr))}.car:nth-child(3){border-inline-start:0}.car:nth-child(n+3){border-top:1px solid var(--line)}.ar .car{border-top:1px solid var(--line)}}
@media (max-width:480px){.fleet{grid-template-columns:1fr}.car{border-inline-start:0!important;border-top:1px solid var(--line)}.car:first-child{border-top:0}.ar .car:first-child{border-top:1px solid var(--line)}}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;counter-reset:st}
.step{display:grid;gap:10px;align-content:start;border-top:1px solid var(--dark-line);padding-top:20px}
.step .n{font-family:var(--display);font-size:3rem;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.step h3{font-size:1.4rem}
.step p{color:var(--on-dark-muted)}
@media (max-width:760px){.steps{grid-template-columns:1fr;gap:20px}}

/* ---------- promises ---------- */
.prom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 36px}
.pr{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.pr svg{width:24px;height:24px;color:var(--accent-strong);margin-top:4px}
.pr h3{font-size:1.2rem;font-family:var(--body);font-weight:700;margin-bottom:4px}
.pr p{color:var(--muted);font-size:.93rem}
@media (max-width:860px){.prom{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.prom{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px}
.faq details{border-bottom:1px solid var(--line);padding-block:18px}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:1.06rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent-strong);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--muted);margin-top:10px;max-width:62ch}
@media (max-width:820px){.faq-grid{grid-template-columns:1fr;gap:8px}}

/* ---------- contact ---------- */
.contact .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.cbox{border:1px solid var(--dark-line);border-radius:var(--radius);padding:28px;display:grid;gap:14px;align-content:start;min-width:0}
.ar .cbox{border-radius:18px;background:var(--dark2)}
.cbox .k{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-muted);font-weight:600}
.ar .cbox .k{letter-spacing:0;font-size:.9rem}
.cbox .v{font-family:var(--display);font-size:clamp(1.4rem,3vw,2.2rem);word-break:break-word;direction:ltr;text-align:start;user-select:all}
.ar .cbox .v{text-align:right;font-family:"Manrope",sans-serif;font-weight:600}
.cbox .acts{display:flex;flex-wrap:wrap;gap:10px}
.cbox .btn-ghost{color:var(--on-dark)}
@media (max-width:760px){.contact .grid{grid-template-columns:1fr}}

.foot{background:var(--dark);color:var(--on-dark-muted);border-top:1px solid var(--dark-line);font-size:.85rem}
.foot .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;padding-block:28px 96px}
.foot .logo .l1{color:var(--on-dark)}

.fab{position:fixed;z-index:40;bottom:calc(18px + env(safe-area-inset-bottom,0px));inset-inline-end:calc(18px + env(safe-area-inset-right,0px));background:#14703F;color:#fff;border-radius:999px;padding:12px 18px;display:flex;gap:8px;align-items:center;text-decoration:none;font-weight:600;box-shadow:0 10px 30px -8px rgba(0,0,0,.4)}
.fab svg{width:22px;height:22px}
.fab:hover{background:#0F5A32}


/* real photos (when added from the dashboard) */
.hero-lt .scene img,.arch img,.city .pic img,.car .shot img,.place .thumb img{width:100%;height:100%;object-fit:cover}
.car .shot img{position:absolute;inset:0}
.place .thumb{aspect-ratio:16/9;border-radius:12px;overflow:hidden;margin-bottom:6px}
.lang-pick{font-family:var(--body)}
.langs a{text-decoration:none;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:600;letter-spacing:.04em}
.langs a[aria-current="true"]{background:var(--accent);color:var(--accent-ink)}
.place .tour-d{color:var(--muted);font-size:.88rem}
@media (max-width:520px){.langs a{padding:4px 7px}}
.hero-lt .scene img{object-position:65% 60%}
.lt .hero-lt .scene{opacity:1}

/* logo mark (lapis palette) */
.logo{align-items:center}
.logo .mark{width:36px;height:36px;flex:none;color:var(--on-dark)}
.logo .mark .leg{fill:var(--accent)}
.logo .mark .cut{stroke:var(--dark)}
.foot .logo .mark{width:28px;height:28px}
/* two-word brand name */
.lt .logo .l1{letter-spacing:.16em;font-size:1.08rem}
.ar .logo .l1{font-size:1.5rem}
.logo{gap:8px}
@media (max-width:520px){.lt .logo .l1{font-size:.92rem;letter-spacing:.1em}.ar .logo .l1{font-size:1.2rem}.logo .mark{width:30px;height:30px}}
@media (max-width:520px){.hdr .wrap{gap:10px}.lt .logo .l1{font-size:.82rem;letter-spacing:.06em}.langs a{padding:4px 6px;font-size:.72rem}.menu-btn{padding:6px 8px}}
@media (max-width:380px){.lt .logo .l1{display:none}.menu-btn{font-size:.85rem}}
#site{overflow-x:clip}

/* ---------- North Coast page ---------- */
.nav .nav-sahel{color:var(--accent);opacity:1;font-weight:700}
.nav .nav-sahel[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.city-more{display:inline-block;margin-top:10px;font-weight:700;color:var(--accent);text-decoration:none}
.city-more:hover{text-decoration:underline}
.hero-nc .scene img{object-position:50% 60%}
.ar .hero-lt .veil{background:linear-gradient(270deg,rgba(20,31,64,.95) 0%,rgba(20,31,64,.72) 50%,rgba(20,31,64,.2) 100%)}
.ar .hero-lt h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.2;margin-block:16px 20px}
.ar .hero-lt h1 em{font-style:normal}
@media (max-width:900px){.ar .hero-lt .veil{background:linear-gradient(180deg,rgba(20,31,64,.7),rgba(20,31,64,.95))}}
.calc-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.calc-wrap .sec-head{margin:0;text-align:start!important;justify-items:start!important}
.calc-wrap .sec-head p{margin-inline:0!important}
.calc{background:var(--dark2);border:1px solid var(--dark-line);border-radius:22px;padding:24px;display:grid;gap:14px}
.calc .fld label{text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--on-dark-muted)}
.calc .fld select{border-radius:12px;padding:12px;background:rgba(245,239,228,.08);color:var(--on-dark);border:1px solid var(--dark-line);width:100%}
.calc .fld select option{color:#111;background:#fff}
.calc-out{font-size:1.3rem;font-weight:700;color:var(--accent);min-height:1.6em;margin:4px 0}
@media (max-width:860px){.calc-wrap{grid-template-columns:1fr;gap:20px}}
.coast{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative}
.coast::before{content:"";position:absolute;top:9px;inset-inline:6%;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 10px,transparent 10px 18px)}
.zone{position:relative;padding-top:34px;display:grid;gap:8px;align-content:start}
.zone .dot{position:absolute;top:2px;inset-inline-start:0;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--bg)}
.zone h3{font-size:1.3rem;color:var(--ink)}
.zone .times{display:grid;gap:4px;font-size:.85rem;color:var(--muted);margin:0}
.zone .times span{display:inline-flex;gap:6px;align-items:center}
.zone .times svg{width:15px;height:15px;color:var(--accent-strong)}
.zone .chips a{font-size:.78rem;border:1px solid var(--line);border-radius:999px;padding:3px 10px;text-decoration:none;color:var(--ink);background:var(--surface)}
.zone .chips a:hover{border-color:var(--accent)}
@media (max-width:900px){.coast{grid-template-columns:1fr 1fr}.coast::before{display:none}}
@media (max-width:520px){.coast{grid-template-columns:1fr}}
.tips .pr h3{color:var(--on-dark)}
.tips .pr p{color:var(--on-dark-muted)}
.tips .pr svg{color:var(--accent)}
/* touch targets: language links at least 32px */
.langs{gap:4px}
.langs a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}
@media (max-width:520px){.langs a{min-width:30px;min-height:30px;padding:2px 4px}.hdr .wrap{gap:8px}}
