:root {
  --ink: #17202a;
  --navy: #1c2a38;
  --gold: #c4a46a;
  --gold-deep: #80612c;
  --cream: #f6f1e8;
  --paper: #fffcf7;
  --muted: #56616c;
  --line: rgba(18, 24, 31, 0.14);
  --white: #fff;
  --shadow: 0 20px 50px rgba(18, 24, 31, 0.12);
  --radius: 18px;
  --max: 1180px;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Figtree", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; min-width: 0; overflow-x: hidden; font-family: var(--sans); color: var(--ink); background: var(--paper); font-size: 1rem; line-height: 1.7; }
main { min-width: 0; }
img, video, svg { display: block; max-width: 100%; }
img, video { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { max-width: 100%; font: inherit; }
p, li { overflow-wrap: break-word; }
h1, h2, h3, .display { font-family: var(--serif); font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; overflow-wrap: break-word; }
h2 { font-size: clamp(1.8rem, 7vw, 2.7rem); }
h3 { font-size: 1.4rem; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.skip { position: fixed; left: 12px; top: -100px; z-index: 100; background: var(--white); padding: 10px 14px; border-radius: 8px; box-shadow: var(--shadow); }
.skip:focus { top: 12px; }
.promo-bar { background: var(--navy); color: var(--white); padding: 8px 16px; text-align: center; font-size: 0.84rem; line-height: 1.4; }
.promo-bar a { color: var(--gold); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.site-header { position: sticky; top: 0; z-index: 40; background: rgba(255,252,247,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.header-inner { position: relative; display: flex; align-items: center; gap: 12px; width: min(100%, var(--max)); margin: 0 auto; padding: 11px 16px; }
.logo { display: flex; min-width: 0; align-items: center; gap: 9px; }
.logo-mark { width: 38px; height: 38px; flex: 0 0 auto; }
.logo-text { display: flex; min-width: 0; flex-direction: column; line-height: 1.1; }
.logo-text strong { font-family: var(--serif); font-size: 1.12rem; font-weight: 600; white-space: nowrap; }
.logo-text span { display: none; color: var(--muted); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.menu-toggle { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; color: var(--navy); background: var(--white); cursor: pointer; }
.menu-icon, .menu-icon::before, .menu-icon::after { display: block; width: 18px; height: 2px; background: currentColor; content: ""; }
.menu-icon { position: relative; }
.menu-icon::before { position: absolute; top: -6px; }
.menu-icon::after { position: absolute; top: 6px; }
.nav { display: none; position: absolute; top: calc(100% + 1px); left: 10px; right: 10px; max-height: calc(100vh - 92px); overflow-y: auto; overscroll-behavior: contain; padding: 10px; border: 1px solid var(--line); border-radius: 0 0 16px 16px; background: var(--white); box-shadow: var(--shadow); }
.nav.is-open { display: flex; flex-direction: column; align-items: stretch; }
.nav > a, .nav-group > a { display: block; padding: 11px 10px; color: var(--navy); font-size: .96rem; font-weight: 500; }
.nav a.is-active { color: var(--gold-deep); }
.nav-group { display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: center; }
.submenu-toggle { min-height: 44px; border: 0; background: transparent; color: var(--navy); cursor: pointer; font-size: 1.2rem; }
.dropdown-panel { display: none; padding: 2px 8px 8px 18px; }
.dropdown.is-expanded .dropdown-panel { display: grid; }
.dropdown-panel a { display: block; padding: 9px 10px; border-left: 2px solid var(--cream); color: var(--muted); font-size: .92rem; }
.nav-cta { margin-top: 6px; border-radius: 999px; background: var(--ink); color: var(--cream) !important; text-align: center; }

.breadcrumbs { border-bottom: 1px solid var(--line); background: var(--white); }
.breadcrumbs ol { display: flex; width: min(100%, var(--max)); min-width: 0; margin: 0 auto; padding: 10px 16px; overflow-x: auto; list-style: none; scrollbar-width: none; }
.breadcrumbs li { display: flex; flex: 0 0 auto; align-items: center; color: var(--muted); font-size: .8rem; white-space: nowrap; }
.breadcrumbs li + li::before { content: "/"; padding: 0 9px; color: #9ba2a9; }
.breadcrumbs a { color: var(--gold-deep); }

.hero { position: relative; display: grid; min-height: 70svh; align-items: end; overflow: hidden; color: var(--white); }
.hero > img, .hero > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,24,31,.18), rgba(18,24,31,.72) 72%); content: ""; }
.hero-copy { position: relative; z-index: 1; width: min(100%, var(--max)); min-width: 0; margin: 0 auto; padding: clamp(72px, 18vh, 150px) 16px 48px; }
.hero h1 { max-width: 13ch; margin: 0 0 16px; font-size: clamp(2.6rem, 12vw, 5.4rem); }
.hero p { max-width: 48ch; color: rgba(255,255,255,.9); font-size: clamp(1rem, 3vw, 1.15rem); }
.eyebrow { margin: 0 0 10px; color: var(--gold-deep); font-size: .74rem; font-weight: 600; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.hero .eyebrow { color: #e0c48f; }
.hero-actions, .actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.btn { display: inline-flex; width: auto; min-height: 46px; align-items: center; justify-content: center; padding: 11px 18px; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font-weight: 600; line-height: 1.35; text-align: center; }
.btn-primary { background: var(--gold); color: var(--ink); }
.btn-secondary { border-color: currentColor; background: transparent; color: inherit; }
.btn-dark { background: var(--ink); color: var(--cream); }
.btn-ghost { border-color: var(--line); background: transparent; }
.travel-selector.is-current { border-color: var(--gold-deep); background: var(--gold); color: var(--ink); box-shadow: 0 6px 18px rgba(128,97,44,.18); }

.page-hero { padding: 48px 16px 34px; background: linear-gradient(180deg, var(--cream), var(--paper)); }
.page-hero { position: relative; isolation: isolate; overflow: hidden; }
.page-hero::after { position: absolute; z-index: -1; right: -70px; bottom: -95px; width: 230px; height: 230px; border: 1px solid rgba(196,164,106,.38); border-radius: 50%; box-shadow: 0 0 0 30px rgba(196,164,106,.07), 0 0 0 62px rgba(196,164,106,.045); content: ""; pointer-events: none; }
.page-about { --page-image: url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1400&q=85"); }
.page-services { --page-image: url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1400&q=85"); }
.page-contact { --page-image: url("https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=1400&q=85"); }
.page-uae { --page-image: url("https://images.unsplash.com/photo-1518684079-3c830dcef090?auto=format&fit=crop&w=1600&q=85"); }
.page-explore { --page-image: url("https://images.unsplash.com/photo-1488646953014-85cb44e25828?auto=format&fit=crop&w=1600&q=85"); }
.page-destinations { --page-image: url("https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=1600&q=85"); }
.page-packages { --page-image: url("https://images.unsplash.com/photo-1503220317375-aaad61436b1b?auto=format&fit=crop&w=1600&q=85"); }
.page-travel { --page-image: url("https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=1600&q=85"); }
.page-learning { --page-image: url("https://images.unsplash.com/photo-1523050854058-8df90110c9f1?auto=format&fit=crop&w=1600&q=85"); }
.page-corporate { --page-image: url("https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=1600&q=85"); }
.page-inspiration { --page-image: url("https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1600&q=85"); }
.page-find-your-way { --page-image: url("https://images.unsplash.com/photo-1501555088652-021faa106b9b?auto=format&fit=crop&w=1600&q=85"); }
.page-plan { --page-image: url("https://images.unsplash.com/photo-1469854523086-cc02fe5d8800?auto=format&fit=crop&w=1600&q=85"); }
.page-partners { --page-image: url("https://images.unsplash.com/photo-1522071820081-009f0129c71c?auto=format&fit=crop&w=1600&q=85"); }
.page-faq { --page-image: url("https://images.unsplash.com/photo-1504150558240-0b4fd8946624?auto=format&fit=crop&w=1600&q=85"); }
.page-thank-you { --page-image: url("https://images.unsplash.com/photo-1527631746610-bca00a040d60?auto=format&fit=crop&w=1600&q=85"); }
.page-404 { --page-image: url("https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=1600&q=85"); }
.page-hero-featured { padding-bottom: 278px; background: linear-gradient(145deg, #f8f2e8, var(--paper)); }
.page-hero-featured::before { position: absolute; z-index: -1; right: 16px; bottom: 24px; left: 16px; height: 220px; border-radius: 120px 120px 18px 18px; background-image: linear-gradient(180deg, transparent, rgba(18,24,31,.18)), var(--page-image, url("https://images.unsplash.com/photo-1469854523086-cc02fe5d8800?auto=format&fit=crop&w=1600&q=85")); background-position: center; background-size: cover; box-shadow: var(--shadow); content: ""; }
.page-hero-featured::after { z-index: 0; right: 22px; bottom: 202px; width: 70px; height: 70px; border: 1px solid rgba(255,255,255,.75); box-shadow: none; }
.page-services .page-hero-featured { background: radial-gradient(circle at 85% 20%, rgba(196,164,106,.2), transparent 28%), linear-gradient(145deg, #f8f2e8, var(--paper)); }
.page-services .page-hero-featured::before { border-radius: 18px 18px 120px 120px; }
.page-hero h1 { max-width: 18ch; margin: 8px 0 14px; font-size: clamp(2.35rem, 10vw, 4.25rem); }
.page-hero p { max-width: 64ch; margin-bottom: 0; color: var(--muted); }
.section { padding: 56px 16px; }
.section-inner { width: min(100%, var(--max)); min-width: 0; margin: 0 auto; }
.section-head { max-width: 680px; margin-bottom: 28px; }
.section-head h2 { margin: 0 0 12px; }
.muted { color: var(--muted); }
.grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 1px 0 rgba(18,24,31,.04); }
a.card { transition: transform .2s ease, box-shadow .2s ease; }
a.card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(18,24,31,.1); }
.card img { width: 100%; height: 210px; object-fit: cover; }
.card-body { padding: 19px; }
.card h3 { margin: 0 0 8px; }
.card p:last-child { margin-bottom: 0; }
.card .meta { color: var(--muted); font-size: .84rem; line-height: 1.5; }
.way-card { position: relative; min-height: 230px; overflow: hidden; border-radius: var(--radius); color: var(--white); }
.way-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.way-card:hover img { transform: scale(1.03); }
.way-card::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(0,0,0,.68)); content: ""; }
.way-card span { position: absolute; z-index: 1; left: 18px; right: 18px; bottom: 16px; font-family: var(--serif); font-size: 1.55rem; }

.story-section { background: var(--white); }
.home-intro { display: grid; min-width: 0; gap: 38px; align-items: center; }
.home-intro-visual { position: relative; min-height: 430px; padding: 0 30px 36px 0; }
.home-intro-visual::before { position: absolute; top: 24px; right: 0; bottom: 0; left: 30px; border-radius: 22px 120px 22px 22px; background: var(--gold); content: ""; }
.home-intro-visual > img { position: absolute; z-index: 1; inset: 0 30px 36px 0; width: calc(100% - 30px); height: calc(100% - 36px); border-radius: 150px 22px 22px 22px; object-fit: cover; box-shadow: var(--shadow); }
.intro-note { position: absolute; z-index: 2; right: 0; bottom: 0; display: grid; min-width: 190px; padding: 16px 18px; border: 7px solid var(--paper); border-radius: 15px; background: var(--navy); color: var(--white); }
.intro-note strong { font-family: var(--serif); font-size: 1.25rem; }
.intro-note span { color: var(--gold); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.home-intro-copy > h2 { max-width: 12ch; margin: 0 0 16px; font-size: clamp(2.3rem, 8vw, 4rem); }
.lead-copy { color: var(--muted); font-size: 1.06rem; }
.intro-principles { margin: 26px 0 18px; border-top: 1px solid var(--line); }
.intro-principles article { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.intro-principles article > span { padding-top: 4px; color: var(--gold-deep); font-size: .7rem; font-weight: 600; letter-spacing: .1em; }
.intro-principles h3 { margin: 0 0 3px; font-size: 1.3rem; }
.intro-principles p { margin: 0; color: var(--muted); font-size: .9rem; }
.text-link-dark { color: var(--navy); }
.story-layout { display: grid; min-width: 0; gap: 38px; }
.travel-collage { position: relative; min-height: 420px; }
.travel-collage figure { margin: 0; overflow: hidden; background: var(--cream); }
.travel-collage img { width: 100%; height: 100%; object-fit: cover; }
.collage-main { position: absolute; inset: 0 42px 58px 0; border-radius: 160px 160px 20px 20px; }
.collage-small { position: absolute; right: 0; bottom: 0; width: 45%; height: 42%; border: 8px solid var(--white); border-radius: 18px; box-shadow: var(--shadow); }
.collage-stamp { position: absolute; top: 28px; right: 0; display: grid; width: 102px; height: 102px; place-items: center; border-radius: 50%; background: var(--gold); color: var(--ink); font-family: var(--serif); font-size: 1rem; line-height: 1.05; text-align: center; transform: rotate(7deg); }
.story-copy { display: grid; }
.story-block { position: relative; padding: 22px 0 22px 54px; border-top: 1px solid var(--line); }
.story-block:last-child { border-bottom: 1px solid var(--line); }
.story-block h2 { margin: 0 0 8px; font-size: clamp(1.8rem, 6vw, 2.35rem); }
.story-block p { margin: 0; color: var(--muted); }
.story-number { position: absolute; top: 29px; left: 0; color: var(--gold-deep); font-size: .75rem; font-weight: 600; letter-spacing: .12em; }
.values-section { position: relative; overflow: hidden; background: var(--navy); color: var(--white); }
.values-section::before { position: absolute; top: -160px; right: -110px; width: 420px; height: 420px; border: 1px solid rgba(196,164,106,.2); border-radius: 50%; box-shadow: 0 0 0 44px rgba(196,164,106,.04), 0 0 0 88px rgba(196,164,106,.03); content: ""; }
.values-section .section-inner { position: relative; }
.values-section .eyebrow { color: var(--gold); }
.value-card { border-color: rgba(255,255,255,.13); background: rgba(255,255,255,.07); color: var(--white); backdrop-filter: blur(8px); }
.value-icon { display: grid; width: 52px; height: 52px; margin: 20px 0 0 20px; place-items: center; border: 1px solid rgba(196,164,106,.55); border-radius: 50%; color: var(--gold); font-size: 1.35rem; }
.value-card p { color: rgba(255,255,255,.72); }

.service-grid { counter-reset: service; }
.service-card { position: relative; min-height: 245px; padding-top: 54px; background: linear-gradient(145deg, var(--white), #f3eadc); counter-increment: service; }
.service-card:nth-child(3n+2) { background: var(--navy); color: var(--white); }
.service-card p { color: #4f5a65; font-size: .95rem; line-height: 1.65; }
.service-card:nth-child(3n+2) p { color: rgba(255,255,255,.78); }
.service-card::before { position: absolute; top: 18px; left: 20px; color: var(--gold-deep); content: counter(service, decimal-leading-zero); font-size: .76rem; font-weight: 600; letter-spacing: .14em; }
.service-card:nth-child(3n+2)::before { color: var(--gold); }
.service-card h3 { font-size: clamp(1.5rem, 3vw, 1.85rem); }
.service-card .card-body { position: relative; z-index: 1; }
.service-card::after { position: absolute; right: -48px; bottom: -62px; width: 150px; height: 150px; border: 1px solid rgba(196,164,106,.2); border-radius: 50%; box-shadow: 0 0 0 20px rgba(196,164,106,.035); content: ""; pointer-events: none; }
.service-mark { position: absolute; top: 24px; right: 25px; width: 22px; height: 22px; transform: rotate(45deg); }
.service-mark::before { position: absolute; inset: 3px; border: 1px solid var(--gold-deep); content: ""; }
.service-mark::after { position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--gold); content: ""; transform: translate(-50%,-50%); }
.service-card:nth-child(3n+2) .service-mark::before { border-color: var(--gold); }
.page-travel .section > .grid .card, .page-uae .section > .grid .card { border-top: 3px solid var(--gold); background: linear-gradient(145deg, var(--white), var(--cream)); }
.page-travel .section > .grid .card:nth-child(2) { border-top-color: var(--navy); background: var(--navy); color: var(--white); }
.page-travel .section > .grid .card:nth-child(2) p { color: rgba(255,255,255,.72); }
.page-faq .faq { counter-reset: question; }
.page-faq .faq details { position: relative; padding-left: 58px; counter-increment: question; }
.page-faq .faq details::before { position: absolute; top: 13px; left: 16px; color: var(--gold-deep); content: counter(question, decimal-leading-zero); font-family: var(--serif); font-size: 1rem; }
.page-plan .form, .page-partners .form, .page-learning .form, .page-corporate .form, .page-contact .form { box-shadow: 0 20px 54px rgba(18,24,31,.08); }

.contact-panel { overflow: hidden; padding: 0 22px 26px; border-radius: var(--radius); background: var(--navy); color: var(--white); box-shadow: var(--shadow); }
.contact-panel p { color: rgba(255,255,255,.72); }
.contact-panel .eyebrow { color: var(--gold); }
.contact-panel h2 { margin-bottom: 6px; }
.contact-image { height: 230px; margin: 0 -22px 24px; overflow: hidden; }
.contact-image img { width: 100%; height: 100%; object-fit: cover; }
.text-link { display: inline-flex; gap: 12px; align-items: center; margin-top: 12px; color: var(--gold); font-weight: 600; }
.text-link span { font-size: 1.3rem; }

.uae-experiences { background: linear-gradient(180deg, var(--paper), #f2eadf); }
.experience-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
.experience-card { position: relative; min-height: 280px; overflow: hidden; border-radius: var(--radius); background: var(--navy); color: var(--white); box-shadow: 0 12px 30px rgba(18,24,31,.11); }
.experience-card::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,24,31,.06) 20%, rgba(18,24,31,.88) 100%); content: ""; }
.experience-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease, filter .45s ease; }
.experience-card:hover img { transform: scale(1.045); filter: saturate(1.08); }
.experience-number { position: absolute; z-index: 1; top: 16px; right: 17px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.58); border-radius: 50%; font-size: .7rem; letter-spacing: .08em; }
.experience-copy { position: absolute; z-index: 1; right: 20px; bottom: 18px; left: 20px; display: grid; gap: 5px; }
.experience-copy strong { font-family: var(--serif); font-size: clamp(1.55rem, 6vw, 2.1rem); line-height: 1.05; }
.experience-copy small { max-width: 34ch; color: rgba(255,255,255,.78); font-size: .88rem; line-height: 1.45; }
.experience-link { display: flex; gap: 8px; align-items: center; margin-top: 5px; color: var(--gold); font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.experience-link b { font-size: 1rem; }
.uae-cta { position: relative; overflow: hidden; background: var(--navy); color: var(--white); }
.uae-cta::after { position: absolute; right: -100px; bottom: -180px; width: 420px; height: 420px; border: 1px solid rgba(196,164,106,.24); border-radius: 50%; box-shadow: 0 0 0 45px rgba(196,164,106,.04), 0 0 0 90px rgba(196,164,106,.03); content: ""; }
.uae-cta-inner { position: relative; z-index: 1; display: grid; gap: 22px; }
.uae-cta .eyebrow { color: var(--gold); }
.uae-cta h2 { max-width: 12ch; margin: 0 0 10px; font-size: clamp(2.4rem, 9vw, 4.4rem); }
.uae-cta p { max-width: 55ch; color: rgba(255,255,255,.72); }

.detail-grid { align-items: start; }
.detail-panel { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 16px 40px rgba(18,24,31,.06); }
.detail-panel-warm { background: linear-gradient(145deg, var(--cream), var(--white)); }
.detail-panel h2:not(:first-child) { margin-top: 30px; }
.detail-panel li { margin-bottom: 8px; padding-left: 5px; }
.legal-hero .section-inner { max-width: 820px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.72); box-shadow: var(--shadow); backdrop-filter: blur(12px); }

.form { display: grid; min-width: 0; gap: 15px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.form-row { display: grid; min-width: 0; gap: 15px; }
label { display: grid; min-width: 0; gap: 6px; color: var(--navy); font-size: .92rem; font-weight: 500; }
input, select, textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #c8cdd1; border-radius: 10px; background: var(--paper); color: var(--ink); }
input[type="checkbox"] { width: 18px; }
textarea { min-height: 120px; resize: vertical; }
.hp { position: absolute; left: -9999px; }
.finder { min-width: 0; padding: 20px; border-radius: 22px; background: var(--navy); color: var(--white); }
.finder h2 { margin-top: 0; }
.steps { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 22px; }
.step-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.25); }
.step-dot.is-on { background: var(--gold); }
.choice-grid { display: grid; min-width: 0; gap: 10px; }
.choice { min-width: 0; padding: 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(255,255,255,.06); color: var(--white); cursor: pointer; text-align: left; }
.choice.is-selected { border-color: var(--gold); background: rgba(196,164,106,.18); }
.finder-panel { display: none; }
.finder-panel.is-visible { display: block; }
.notice, .error { margin-bottom: 18px; padding: 13px 15px; border-radius: 12px; }
.notice { border: 1px solid #cfe3c4; background: #eef6ea; color: #234016; }
.error { border: 1px solid #e7c4c4; background: #fbeaea; color: #6b1d1d; }
.filters { display: grid; gap: 10px; margin-bottom: 24px; }
.faq { max-width: 820px; }
.faq details { padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.faq details + details { margin-top: 9px; }
.faq summary { cursor: pointer; font-weight: 600; }
.trust { display: grid; gap: 14px; }
.trust article { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.proof-section { position: relative; overflow: hidden; background: var(--navy); color: var(--white); }
.proof-section::before { position: absolute; top: -180px; left: -150px; width: 460px; height: 460px; border: 1px solid rgba(196,164,106,.16); border-radius: 50%; box-shadow: 0 0 0 46px rgba(196,164,106,.025), 0 0 0 92px rgba(196,164,106,.02); content: ""; }
.proof-section .section-inner { position: relative; }
.proof-section .eyebrow, .trust-symbol { color: var(--gold); }
.proof-section .section-head > p:last-child, .proof-section .trust p { color: rgba(255,255,255,.68); }
.proof-section .trust article { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.055); backdrop-filter: blur(8px); }
.trust-symbol { display: block; min-height: 32px; font-family: var(--serif); font-size: 1.35rem; }
.proof-ribbon { display: grid; margin-top: 22px; overflow: hidden; border: 1px solid rgba(196,164,106,.28); border-radius: var(--radius); }
.proof-ribbon > div { display: grid; gap: 2px; padding: 18px; border-bottom: 1px solid rgba(196,164,106,.22); }
.proof-ribbon > div:last-child { border-bottom: 0; }
.proof-ribbon strong { color: var(--gold); font-family: var(--serif); font-size: 2rem; line-height: 1; }
.proof-ribbon span { color: rgba(255,255,255,.68); font-size: .8rem; letter-spacing: .04em; }
.status { display: inline-block; padding: 4px 8px; border: 1px solid var(--line); border-radius: 999px; font-size: .72rem; letter-spacing: .06em; line-height: 1.3; text-transform: uppercase; }
.stars { color: var(--gold-deep); letter-spacing: 2px; }

.wa-float { position: fixed; z-index: 50; right: 14px; bottom: 14px; display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: #168c45; color: var(--white); box-shadow: var(--shadow); }
.cookie { position: fixed; z-index: 45; left: 10px; right: 10px; bottom: 10px; display: none; max-width: 720px; gap: 12px; align-items: stretch; padding: 15px; border-radius: 14px; background: var(--ink); color: var(--white); font-size: .9rem; }
.cookie.is-open { display: flex; flex-direction: column; }
.site-footer { padding: 48px 16px 24px; background: var(--ink); color: #d7d0c4; }
.footer-grid { display: grid; width: min(100%, var(--max)); margin: 0 auto; gap: 28px; }
.site-footer a { color: var(--cream); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.site-footer a:hover { text-decoration-color: var(--gold); }
.site-footer h3 { margin: 0 0 10px; color: var(--white); font-size: 1.3rem; }
.site-footer p { margin: 0 0 8px; }
.legal { width: min(100%, var(--max)); margin: 30px auto 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.13); font-size: .84rem; }
.admin { width: min(calc(100% - 32px), 1100px); margin: 40px auto; overflow-x: auto; }
.table { width: 100%; min-width: 680px; border-collapse: collapse; background: var(--white); }
.table th, .table td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; font-size: .9rem; }

@media (min-width: 480px) {
  .logo-text span { display: block; }
  .filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cookie { right: auto; flex-direction: row; align-items: center; }
  .cookie.is-open { display: flex; flex-direction: row; }
}
@media (min-width: 700px) {
  .header-inner, .breadcrumbs ol, .hero-copy { padding-left: 24px; padding-right: 24px; }
  .page-hero { padding: 64px 24px 42px; }
  .section { padding: 76px 24px; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form { padding: 24px; }
  .form-row, .choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > :last-child { grid-column: 1 / -1; }
  .story-layout { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: 54px; }
  .travel-collage { min-height: 600px; }
  .contact-panel { padding: 0 30px 32px; }
  .contact-image { margin-right: -30px; margin-left: -30px; }
  .experience-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
  .experience-card-featured { min-height: 390px; }
  .uae-cta-inner { grid-template-columns: 1.2fr .8fr; align-items: end; }
  .uae-cta .actions { justify-content: flex-end; }
  .home-intro { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 54px; }
  .home-intro-visual { min-height: 610px; }
  .proof-ribbon { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .proof-ribbon > div { border-right: 1px solid rgba(196,164,106,.22); border-bottom: 0; }
  .proof-ribbon > div:last-child { border-right: 0; }
}
@media (min-width: 1040px) {
  .header-inner { padding-top: 13px; padding-bottom: 13px; }
  .menu-toggle { display: none; }
  .nav { position: static; display: flex; max-height: none; margin-left: auto; align-items: center; gap: 2px; overflow: visible; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .nav > a, .nav-group > a { padding: 8px 7px; font-size: .87rem; white-space: nowrap; }
  .nav-group { display: block; }
  .submenu-toggle { display: none; }
  .dropdown { position: relative; }
  .dropdown-panel { position: absolute; top: 100%; left: 0; display: none; width: max-content; min-width: 220px; padding: 18px 10px 10px; border: 0; border-radius: 0 0 14px 14px; background: linear-gradient(180deg, transparent 0 8px, var(--white) 8px); filter: drop-shadow(0 18px 22px rgba(18,24,31,.12)); }
  .dropdown-panel::after { position: absolute; top: 8px; right: 0; bottom: 0; left: 0; z-index: -1; border: 1px solid var(--line); border-radius: 14px; content: ""; pointer-events: none; }
  .dropdown-panel-right { right: 0; left: auto; }
  .dropdown:hover .dropdown-panel, .dropdown:focus-within .dropdown-panel { display: grid; }
  .dropdown-panel a { padding: 8px 10px; border: 0; border-radius: 8px; }
  .dropdown-panel a:hover { background: var(--cream); color: var(--navy); }
  .nav-cta { margin: 0 0 0 5px; padding: 10px 14px !important; }
  .hero { min-height: 82svh; }
  .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trust { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
  .footer-grid > :last-child { grid-column: auto; }
  .page-hero-featured { display: flex; min-height: 520px; align-items: center; padding-top: 64px; padding-bottom: 64px; }
  .page-hero-featured .section-inner { width: min(calc(100% - 48px), var(--max)); padding-right: min(52%, 620px); }
  .page-hero-featured .section-inner h1 { max-width: 11ch; }
  .page-hero-featured::before { top: 34px; right: max(24px, calc((100vw - var(--max)) / 2)); bottom: 34px; left: 52%; height: auto; border-radius: 150px 18px 18px 150px; }
  .page-hero-featured::after { top: 58px; right: 43%; bottom: auto; width: 100px; height: 100px; }

  /* Circular service portal: distinct from About's editorial split */
  .page-services .page-hero-featured { min-height: 570px; }
  .page-services .page-hero-featured .section-inner { padding-right: min(46%, 550px); }
  .page-services .page-hero-featured::before { top: 50%; right: max(48px, calc((100vw - var(--max)) / 2)); bottom: auto; left: auto; width: min(39vw, 470px); height: auto; aspect-ratio: 1; border: 10px solid var(--white); border-radius: 50%; box-shadow: 18px -18px 0 rgba(196,164,106,.72), var(--shadow); transform: translateY(-50%); }
  .page-services .page-hero-featured::after { top: 74px; right: max(38px, calc((100vw - var(--max)) / 2 - 10px)); width: 128px; height: 128px; border-color: rgba(128,97,44,.5); box-shadow: 0 0 0 22px rgba(196,164,106,.06); }

  /* Reversed split: place-led and organisation pages */
  .page-destinations .page-hero-featured,
  .page-corporate .page-hero-featured,
  .page-partners .page-hero-featured { background: linear-gradient(215deg, #f2e7d6, var(--paper)); }
  .page-destinations .page-hero-featured .section-inner,
  .page-corporate .page-hero-featured .section-inner,
  .page-partners .page-hero-featured .section-inner { padding-right: 0; padding-left: min(55%, 650px); }
  .page-destinations .page-hero-featured::before,
  .page-corporate .page-hero-featured::before,
  .page-partners .page-hero-featured::before { right: 54%; left: max(24px, calc((100vw - var(--max)) / 2)); border-radius: 18px 150px 150px 18px; }
  .page-destinations .page-hero-featured::after,
  .page-corporate .page-hero-featured::after,
  .page-partners .page-hero-featured::after { right: auto; left: 43%; }

  /* Panoramic editorial: discovery and journal pages */
  .page-explore .page-hero-featured,
  .page-inspiration .page-hero-featured { min-height: 600px; color: var(--white); background: var(--navy); }
  .page-explore .page-hero-featured::before,
  .page-inspiration .page-hero-featured::before { inset: 24px max(24px, calc((100vw - var(--max)) / 2)); border-radius: 24px; background-image: linear-gradient(90deg, rgba(18,24,31,.82), rgba(18,24,31,.18)), var(--page-image, url("https://images.unsplash.com/photo-1469854523086-cc02fe5d8800?auto=format&fit=crop&w=1600&q=85")); }
  .page-explore .page-hero-featured .section-inner,
  .page-inspiration .page-hero-featured .section-inner { position: relative; z-index: 1; flex: 0 0 min(calc(100% - 96px), calc(var(--max) - 48px)); width: min(calc(100% - 96px), calc(var(--max) - 48px)); padding: 44px; }
  .page-explore .page-hero-featured .section-inner > *,
  .page-inspiration .page-hero-featured .section-inner > * { max-width: 540px; }
  .page-explore .page-hero-featured .section-inner h1,
  .page-inspiration .page-hero-featured .section-inner h1 { max-width: 12ch; }
  .page-explore .page-hero-featured p,
  .page-inspiration .page-hero-featured p { color: rgba(255,255,255,.82); }
  .page-explore .page-hero-featured .eyebrow,
  .page-inspiration .page-hero-featured .eyebrow { color: var(--gold); }
  .page-explore .page-hero-featured::after,
  .page-inspiration .page-hero-featured::after { top: auto; right: max(52px, calc((100vw - var(--max)) / 2 + 28px)); bottom: 48px; border-color: rgba(255,255,255,.55); }

  /* Arched portrait: guided and form-led journeys */
  .page-learning .page-hero-featured::before,
  .page-find-your-way .page-hero-featured::before,
  .page-plan .page-hero-featured::before,
  .page-contact .page-hero-featured::before { top: 52px; bottom: 52px; left: 59%; border: 8px solid var(--white); border-radius: 240px 240px 22px 22px; box-shadow: 0 0 0 1px var(--line), var(--shadow); }
  .page-learning .page-hero-featured .section-inner,
  .page-find-your-way .page-hero-featured .section-inner,
  .page-plan .page-hero-featured .section-inner,
  .page-contact .page-hero-featured .section-inner { padding-right: min(47%, 560px); }
  .page-learning .page-hero-featured::after,
  .page-find-your-way .page-hero-featured::after,
  .page-plan .page-hero-featured::after,
  .page-contact .page-hero-featured::after { top: 78px; right: 36%; }

  /* Layered postcard: packaged and travel-style pages */
  .page-packages .page-hero-featured::before,
  .page-travel .page-hero-featured::before { top: 62px; right: max(40px, calc((100vw - var(--max)) / 2)); bottom: 62px; left: 57%; border: 10px solid var(--white); border-radius: 18px; box-shadow: 18px 18px 0 var(--gold), var(--shadow); transform: rotate(1.8deg); }
  .page-packages .page-hero-featured::after,
  .page-travel .page-hero-featured::after { display: none; }

  /* Compact celebratory pages */
  .page-thank-you .page-hero-featured,
  .page-404 .page-hero-featured { min-height: 560px; text-align: center; }
  .page-thank-you .page-hero-featured .section-inner,
  .page-404 .page-hero-featured .section-inner { position: relative; z-index: 1; width: min(calc(100% - 48px), 760px); padding: 42px; border-radius: 24px; background: rgba(255,252,247,.9); box-shadow: var(--shadow); backdrop-filter: blur(14px); }
  .page-thank-you .page-hero-featured .section-inner h1,
  .page-404 .page-hero-featured .section-inner h1 { max-width: none; }
  .page-thank-you .page-hero-featured .actions,
  .page-404 .page-hero-featured .actions { justify-content: center; }
  .page-thank-you .page-hero-featured::before,
  .page-404 .page-hero-featured::before { inset: 24px max(24px, calc((100vw - var(--max)) / 2)); border-radius: 24px; filter: saturate(.8); }
  .page-thank-you .page-hero-featured::after,
  .page-404 .page-hero-featured::after { display: none; }

  .detail-grid { gap: 26px; }
  .detail-panel { padding: 32px; }
  .experience-grid { grid-template-columns: repeat(6, minmax(0,1fr)); }
  .experience-card { grid-column: span 2; min-height: 310px; }
  .experience-card-featured { grid-column: span 2; min-height: 430px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
