/*
Theme Name: Official Bedouin
Theme URI: https://officialbedouin.com
Author: Official Bedouin
Description: A fast, mobile-first travel media theme created for Official Bedouin.
Version: 1.13.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: official-bedouin
*/

:root {
  --ob-ink: #101216;
  --ob-ink-soft: #1b1e23;
  --ob-paper: #fffaf2;
  --ob-white: #ffffff;
  --ob-sand: #ead7b3;
  --ob-gold: #f8b72d;
  --ob-orange: #ef6b16;
  --ob-red: #a8201a;
  --ob-muted: #6d6962;
  --ob-line: rgba(16, 18, 22, 0.12);
  --ob-radius: 1.25rem;
  --ob-shadow: 0 24px 70px rgba(16, 18, 22, 0.13);
  --ob-wrap: min(1180px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ob-paper);
  color: var(--ob-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.screen-reader-text {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link:focus {
  position: fixed; z-index: 9999; top: 12px; left: 12px; width: auto; height: auto;
  clip: auto; padding: 10px 14px; background: var(--ob-white); color: var(--ob-ink);
}
.ob-wrap { width: var(--ob-wrap); margin-inline: auto; }
.ob-section { padding: clamp(72px, 9vw, 128px) 0; }
.ob-section--dark { background: var(--ob-ink); color: var(--ob-white); }
.ob-section--white { background: var(--ob-white); }
.ob-section--sand { background: #f4e8d5; }
.ob-eyebrow {
  display: inline-flex; align-items: center; gap: 0.65rem; margin: 0 0 1rem;
  color: var(--ob-orange); font-size: 0.74rem; font-weight: 850; letter-spacing: 0.16em;
  line-height: 1.2; text-transform: uppercase;
}
.ob-eyebrow::before { content: ""; width: 2.25rem; height: 2px; background: currentColor; }
.ob-title {
  max-width: 850px; margin: 0; font-size: clamp(2.4rem, 6vw, 5.2rem);
  font-weight: 900; letter-spacing: -0.055em; line-height: 0.96;
}
.ob-section-title {
  margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 900;
  letter-spacing: -0.045em; line-height: 1.02;
}
.ob-lead { max-width: 700px; margin: 0; color: var(--ob-muted); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.ob-section--dark .ob-lead { color: rgba(255,255,255,0.68); }
.ob-button {
  display: inline-flex; min-height: 52px; align-items: center; justify-content: center;
  gap: 0.6rem; padding: 0.85rem 1.3rem; border: 1px solid transparent; border-radius: 999px;
  background: linear-gradient(135deg, var(--ob-gold), var(--ob-orange)); color: var(--ob-ink);
  font-size: 0.88rem; font-weight: 850; letter-spacing: 0.03em; text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.ob-button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(239,107,22,0.28); }
.ob-button--ghost { border-color: rgba(255,255,255,0.45); background: transparent; color: var(--ob-white); }
.ob-button--ghost:hover { background: var(--ob-white); color: var(--ob-ink); box-shadow: none; }
.ob-button--dark { background: var(--ob-ink); color: var(--ob-white); }
.ob-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }

/* Header */
.ob-header {
  position: absolute; z-index: 100; top: 0; left: 0; width: 100%;
  border-bottom: 1px solid rgba(255,255,255,0.15); color: var(--ob-white);
}
.ob-header--solid { position: relative; background: var(--ob-ink); }
.ob-header__inner { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 2rem; }
.ob-brand { flex: 0 0 auto; text-decoration: none; }
.ob-brand img { width: 78px; height: 78px; object-fit: contain; object-position: left center; }
.ob-nav { display: flex; align-items: center; gap: 1.6rem; }
.ob-nav ul { display: flex; align-items: center; gap: 1.35rem; margin: 0; padding: 0; list-style: none; }
.ob-nav a { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.ob-nav a:hover { color: var(--ob-gold); }
.ob-menu-toggle {
  display: none; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255,255,255,0.3);
  border-radius: 50%; background: rgba(0,0,0,0.18); color: white; cursor: pointer;
}
.ob-menu-toggle .ob-menu-line, .ob-menu-toggle::before, .ob-menu-toggle::after {
  content: ""; display: block; width: 20px; height: 2px; background: currentColor; transition: 180ms ease;
}
.ob-menu-toggle .ob-menu-line { margin: 4px 0; }

/* Hero */
.ob-hero {
  position: relative; display: grid; min-height: min(860px, 100svh); align-items: end; overflow: hidden;
  background: var(--ob-ink); color: var(--ob-white);
}
.ob-hero__media, .ob-hero__shade { position: absolute; inset: 0; }
.ob-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; }
.ob-hero__shade {
  background:
    linear-gradient(90deg, rgba(12,13,15,0.88) 0%, rgba(12,13,15,0.58) 48%, rgba(12,13,15,0.15) 78%),
    linear-gradient(0deg, rgba(12,13,15,0.88) 0%, transparent 55%);
}
.ob-hero__content { position: relative; z-index: 2; max-width: 930px; padding: 180px 0 clamp(72px, 10vw, 126px); }
.ob-hero .ob-title { text-wrap: balance; }
.ob-hero__copy { max-width: 650px; margin: 1.5rem 0 0; color: rgba(255,255,255,0.78); font-size: clamp(1rem, 2vw, 1.25rem); }
.ob-scroll-cue {
  position: absolute; z-index: 2; right: max(20px, calc((100vw - 1180px)/2)); bottom: 46px;
  display: flex; align-items: center; gap: 0.7rem; color: rgba(255,255,255,0.64);
  font-size: 0.7rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase;
  writing-mode: vertical-rl;
}
.ob-scroll-cue::after { content: ""; width: 1px; height: 54px; background: linear-gradient(white, transparent); }

/* Destinations */
.ob-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.6rem; }
.ob-text-link { color: var(--ob-orange); font-size: 0.8rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.ob-destination-grid {
  display: grid; grid-template-columns: 1.15fr 0.85fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 1.25rem;
}
.ob-destination {
  position: relative; min-height: 315px; overflow: hidden; border-radius: var(--ob-radius); color: var(--ob-white); box-shadow: var(--ob-shadow);
}
.ob-destination:first-child { grid-row: 1 / 3; min-height: 650px; }
.ob-destination img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms cubic-bezier(.2,.7,.2,1); }
.ob-destination:hover img { transform: scale(1.035); }
.ob-destination::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,11,13,0.88), transparent 65%); }
.ob-destination__content { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: clamp(1.4rem, 4vw, 2.5rem); }
.ob-destination__meta { color: var(--ob-gold); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.14em; text-transform: uppercase; }
.ob-destination h3 { margin: 0.3rem 0 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1; letter-spacing: -0.045em; }

/* Stories */
.ob-story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.ob-card { overflow: hidden; border: 1px solid var(--ob-line); border-radius: var(--ob-radius); background: var(--ob-white); }
.ob-card__image { aspect-ratio: 16/10; overflow: hidden; background: #ddd; }
.ob-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.ob-card:hover .ob-card__image img { transform: scale(1.04); }
.ob-card__body { padding: 1.45rem; }
.ob-card__meta { color: var(--ob-orange); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.12em; text-transform: uppercase; }
.ob-card h3 { margin: 0.6rem 0 0.75rem; font-size: 1.35rem; line-height: 1.15; letter-spacing: -0.025em; }
.ob-card h3 a { text-decoration: none; }
.ob-card p { margin: 0; color: var(--ob-muted); font-size: 0.92rem; }

/* Feature and social */
.ob-feature { display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.ob-feature__image { position: relative; overflow: hidden; border-radius: var(--ob-radius); box-shadow: var(--ob-shadow); }
.ob-feature__image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.ob-feature__image::after { content: ""; position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(transparent, rgba(16,18,22,.65)); }
.ob-socials { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 2rem; }
.ob-social {
  display: inline-grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255,255,255,0.25);
  border-radius: 50%; color: var(--ob-white); transition: 180ms ease;
}
.ob-social:hover { transform: translateY(-2px); border-color: var(--ob-gold); color: var(--ob-gold); }
.ob-social svg { width: 19px; height: 19px; fill: currentColor; }
.ob-content .ob-social { border-color: var(--ob-line); color: var(--ob-ink); }
.ob-content .ob-social:hover { border-color: var(--ob-orange); color: var(--ob-orange); }
.ob-cta {
  display: grid; grid-template-columns: 1.2fr 0.8fr; align-items: center; gap: 2rem;
  padding: clamp(2rem, 6vw, 5rem); border-radius: calc(var(--ob-radius) * 1.3);
  background: linear-gradient(135deg, var(--ob-gold), var(--ob-orange)); box-shadow: var(--ob-shadow);
}
.ob-cta h2 { margin: 0; font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: 0.98; letter-spacing: -0.05em; }
.ob-cta__action { justify-self: end; }

/* Interior pages */
.ob-page-hero { padding: clamp(150px, 18vw, 220px) 0 80px; background: var(--ob-ink); color: var(--ob-white); }
.ob-page-hero .ob-title { max-width: 900px; }
.ob-content { width: min(780px, calc(100vw - 40px)); margin-inline: auto; padding: 72px 0 110px; }
.ob-content > * + * { margin-top: 1.5em; }
.ob-content h2, .ob-content h3 { line-height: 1.1; letter-spacing: -0.035em; }
.ob-content h2 { margin-top: 2em; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.ob-content a { color: #b9470a; }
.ob-content img { border-radius: 1rem; }
.ob-content .alignwide { width: min(1100px, calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.ob-content .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }

/* About */
.ob-about-hero { padding-bottom: clamp(80px, 10vw, 130px); }
.ob-about-hero__copy { max-width: 760px; margin: 1.8rem 0 0; color: rgba(255,255,255,.72); font-size: clamp(1.05rem, 2.2vw, 1.35rem); }
.ob-about-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.ob-about-copy { color: var(--ob-muted); font-size: clamp(1.05rem, 1.7vw, 1.22rem); }
.ob-about-copy p { margin: 0 0 1.35rem; }
.ob-about-gallery { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: repeat(2, 260px); gap: 1rem; margin-top: clamp(3rem, 7vw, 6rem); }
.ob-about-gallery figure { position: relative; overflow: hidden; margin: 0; border-radius: var(--ob-radius); background: var(--ob-ink); }
.ob-about-gallery__main { grid-row: 1 / 3; }
.ob-about-gallery__main img { object-position: 52% 50%; }
.ob-about-gallery figure:nth-child(2) img { object-position: 50% 40%; }
.ob-about-gallery figure:nth-child(3) img { object-position: 50% 42%; }
.ob-about-gallery img { width: 100%; height: 100%; object-fit: cover; }
.ob-about-gallery figure::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(7,8,10,.78)); }
.ob-about-gallery figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 1.35rem; color: white; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ob-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 2.5rem; background: rgba(255,255,255,.14); }
.ob-values article { padding: clamp(1.6rem, 4vw, 3rem); background: var(--ob-ink); }
.ob-values span { color: var(--ob-orange); font-size: .72rem; font-weight: 850; letter-spacing: .14em; }
.ob-values h2 { margin: 2rem 0 .8rem; font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: -.04em; }
.ob-values p { margin: 0; color: rgba(255,255,255,.65); }
.ob-about-closing { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.ob-about-closing .ob-socials { margin: 1.7rem 0; }
.ob-about-closing .ob-social { border-color: var(--ob-line); color: var(--ob-ink); }
.ob-about-closing .ob-social:hover { border-color: var(--ob-orange); color: var(--ob-orange); }

/* Destination pages */
.ob-country-hero { position: relative; min-height: 78vh; display: grid; align-items: end; overflow: hidden; color: white; background: var(--ob-ink); }
.ob-country-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ob-country-hero__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,8,10,.93), rgba(7,8,10,.18) 72%), linear-gradient(90deg, rgba(7,8,10,.55), transparent 70%); }
.ob-country-hero__content { position: relative; z-index: 2; padding-bottom: clamp(70px, 9vw, 110px); }
.ob-country-hero__content p:last-child { max-width: 690px; color: rgba(255,255,255,.76); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.ob-country-intro { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 7vw, 7rem); }
.ob-city-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; margin-top: 2.6rem; background: rgba(255,255,255,.14); }
.ob-city-grid article { grid-column: span 2; min-height: 280px; padding: clamp(1.4rem, 3vw, 2.5rem); background: var(--ob-ink); }
.ob-city-grid article:nth-child(4), .ob-city-grid article:nth-child(5) { grid-column: span 3; }
.ob-city-grid--two article { grid-column: span 3; }
.ob-city-grid--four article { grid-column: span 3; }
.ob-city-grid span { color: var(--ob-orange); font-size: .7rem; font-weight: 850; letter-spacing: .14em; }
.ob-city-grid h3 { margin: 2.4rem 0 .8rem; color: white; font-size: clamp(1.7rem, 3vw, 2.45rem); letter-spacing: -.04em; }
.ob-city-grid p { margin: 0; color: rgba(255,255,255,.62); }
.ob-photo-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 270px; gap: 1rem; }
.ob-photo-grid figure { overflow: hidden; margin: 0; border-radius: var(--ob-radius); background: #ddd; }
.ob-photo-grid__wide { grid-column: span 2; }
.ob-photo-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.ob-photo-grid figure:hover img { transform: scale(1.035); }
.ob-country-cta { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; }
.ob-country-cta > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 1.2rem; }
.ob-destinations-hub { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.ob-destinations-hub .ob-destination { min-height: 520px; }
.ob-destinations-hub .ob-destination:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 620px; }
.ob-destination h2 { margin: .3rem 0 0; color: white; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1; letter-spacing: -.045em; }
.ob-destination small { display: block; margin-top: .8rem; color: rgba(255,255,255,.72); }
.ob-post-meta { margin-top: 1rem; color: rgba(255,255,255,.66); font-size: .86rem; font-weight: 700; }
.ob-pagination { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; }
.ob-empty { padding: 2rem; border: 1px dashed var(--ob-line); border-radius: var(--ob-radius); color: var(--ob-muted); }

/* Dearborn field report */
.ob-report-hero { position: relative; display: grid; min-height: 76vh; align-items: end; overflow: hidden; background: radial-gradient(circle at 82% 20%, rgba(239,107,22,.24), transparent 35%), linear-gradient(135deg, #090a0c 0%, #15171b 100%); color: white; }
.ob-report-hero::before { content: "DEARBORN"; position: absolute; right: -2vw; bottom: -7vw; color: rgba(255,255,255,.035); font-size: clamp(7rem, 22vw, 22rem); font-weight: 900; line-height: .72; letter-spacing: -.08em; }
.ob-report-hero__inner { position: relative; z-index: 2; padding-top: 180px; padding-bottom: clamp(70px, 10vw, 120px); }
.ob-report-hero .ob-title { max-width: 1050px; }
.ob-report-hero__copy { max-width: 700px; margin: 1.6rem 0 2rem; color: rgba(255,255,255,.7); font-size: clamp(1.05rem, 2vw, 1.35rem); }
.ob-report-intro, .ob-report-closing { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 7vw, 7rem); }
.ob-reel-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; margin-top: 3rem; }
.ob-reel-card { overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: var(--ob-radius); background: #111317; }
.ob-reel-card:last-child { grid-column: 1 / -1; width: calc(50% - .75rem); justify-self: center; }
.ob-reel-card__meta { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; padding: 1.2rem 1.4rem; }
.ob-reel-card__meta > span { color: var(--ob-orange); font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.ob-reel-card h3 { margin: 0; color: white; font-size: 1.15rem; }
.ob-reel-card p { margin: .2rem 0 0; color: rgba(255,255,255,.5); font-size: .78rem; }
.ob-reel-frame { height: 720px; background: #fff; }
.ob-reel-frame iframe { width: 100%; height: 100%; border: 0; }
.ob-home-report__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: stretch; gap: clamp(2rem, 6vw, 6rem); }
.ob-home-report__grid > div:first-child { align-self: center; }
.ob-home-report__grid .ob-button { margin-top: 1.6rem; }
.ob-home-report__panel { display: flex; min-height: 440px; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 5vw, 4rem); border: 1px solid rgba(255,255,255,.16); border-radius: var(--ob-radius); background: linear-gradient(145deg, rgba(239,107,22,.9), rgba(252,177,47,.9)); color: var(--ob-ink); text-decoration: none; transition: transform 180ms ease; }
.ob-home-report__panel:hover { transform: translateY(-3px); }
.ob-home-report__panel span, .ob-home-report__panel small { font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.ob-home-report__panel strong { font-size: clamp(3rem, 7vw, 6.5rem); line-height: .82; letter-spacing: -.07em; }

/* Work with me */
.ob-partner-hero { position: relative; min-height: 86vh; display: grid; align-items: end; overflow: hidden; background: var(--ob-ink); color: white; }
.ob-partner-hero__media, .ob-partner-hero__media > span { position: absolute; inset: 0; }
.ob-partner-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 56% 42%; }
.ob-partner-hero__media > span { background: linear-gradient(90deg, rgba(8,9,11,.95) 0%, rgba(8,9,11,.74) 48%, rgba(8,9,11,.18) 80%), linear-gradient(0deg, rgba(8,9,11,.8), transparent 60%); }
.ob-partner-hero__content { position: relative; z-index: 2; max-width: 920px; padding-top: 180px; padding-bottom: clamp(70px, 10vw, 120px); }
.ob-partner-hero__content > p:not(.ob-eyebrow) { max-width: 700px; margin: 1.5rem 0 0; color: rgba(255,255,255,.72); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.ob-partner-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 7vw, 7rem); }
.ob-service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 3rem; background: rgba(255,255,255,.14); }
.ob-service-grid article { min-height: 330px; padding: clamp(1.6rem, 4vw, 3rem); background: var(--ob-ink); }
.ob-service-grid span { color: var(--ob-orange); font-size: .72rem; font-weight: 900; letter-spacing: .15em; }
.ob-service-grid h3 { margin: 3.5rem 0 .8rem; color: white; font-size: clamp(1.8rem, 3vw, 2.8rem); letter-spacing: -.04em; }
.ob-service-grid p { max-width: 520px; margin: 0; color: rgba(255,255,255,.62); }
.ob-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.ob-process-grid article { padding: clamp(1.6rem, 3vw, 2.5rem); border: 1px solid var(--ob-line); border-radius: var(--ob-radius); }
.ob-process-grid strong { color: var(--ob-orange); font-size: .72rem; letter-spacing: .15em; }
.ob-process-grid h3 { margin: 3rem 0 .7rem; font-size: 1.5rem; letter-spacing: -.035em; }
.ob-process-grid p { margin: 0; color: var(--ob-muted); }
.ob-fit-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.ob-fit-grid ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(16,18,22,.16); }
.ob-fit-grid li { padding: 1rem 0; border-bottom: 1px solid rgba(16,18,22,.16); font-weight: 800; }
.ob-partner-cta { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; }
.ob-partner-cta > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 1.2rem; }

/* Contact */
.ob-contact-hero { padding: clamp(160px, 19vw, 240px) 0 clamp(75px, 10vw, 120px); background: radial-gradient(circle at 82% 15%, rgba(239,107,22,.22), transparent 32%), var(--ob-ink); color: white; }
.ob-contact-hero .ob-title { max-width: 1000px; }
.ob-contact-hero > .ob-wrap > p:last-child { max-width: 720px; margin: 1.6rem 0 0; color: rgba(255,255,255,.7); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.ob-contact-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.ob-contact-sidebar { position: sticky; top: 2rem; }
.ob-contact-sidebar h2 { margin: 0 0 1.2rem; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.045em; }
.ob-contact-sidebar > p:not(.ob-eyebrow) { color: var(--ob-muted); }
.ob-contact-details { margin-top: 2.5rem; border-top: 1px solid var(--ob-line); }
.ob-contact-details > div { display: grid; gap: .25rem; padding: 1rem 0; border-bottom: 1px solid var(--ob-line); }
.ob-contact-details span { color: var(--ob-orange); font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.ob-contact-details strong, .ob-contact-details a { font-size: .95rem; text-decoration: none; }
.ob-contact-form-wrap { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--ob-line); border-radius: var(--ob-radius); background: var(--ob-paper); }
.ob-contact-form { display: grid; gap: 1.2rem; }
.ob-field-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.ob-contact-form label { display: grid; gap: .45rem; }
.ob-contact-form label > span { font-size: .76rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.ob-contact-form input, .ob-contact-form select, .ob-contact-form textarea { width: 100%; border: 1px solid rgba(16,18,22,.2); border-radius: .75rem; background: white; color: var(--ob-ink); outline: none; }
.ob-contact-form input, .ob-contact-form select { height: 54px; padding: 0 .9rem; }
.ob-contact-form textarea { min-height: 190px; padding: .9rem; resize: vertical; }
.ob-contact-form input:focus, .ob-contact-form select:focus, .ob-contact-form textarea:focus { border-color: var(--ob-orange); box-shadow: 0 0 0 3px rgba(239,107,22,.12); }
.ob-contact-form .ob-button { justify-self: start; border: 0; cursor: pointer; }
.ob-form-note { margin: -.3rem 0 0; color: var(--ob-muted); font-size: .78rem; }
.ob-form-notice { display: grid; gap: .2rem; margin-bottom: 1.4rem; padding: 1rem 1.2rem; border-radius: .75rem; }
.ob-form-notice--success { background: #e9f6ec; color: #1e5f2b; }
.ob-form-notice--error { background: #fbe9e7; color: #8d251d; }
.ob-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Videos */
.ob-video-hero { display: grid; min-height: 76vh; align-items: end; background: radial-gradient(circle at 76% 24%, rgba(248,183,45,.18), transparent 26%), linear-gradient(135deg, #08090b, #171a20); color: white; }
.ob-video-hero__inner { padding-top: 180px; padding-bottom: clamp(70px, 10vw, 120px); }
.ob-video-hero .ob-title { max-width: 1050px; }
.ob-video-hero__inner > p:not(.ob-eyebrow) { max-width: 700px; margin: 1.5rem 0 0; color: rgba(255,255,255,.7); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.ob-video-feature { display: grid; grid-template-columns: .85fr .65fr; align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }
.ob-video-feature .ob-button { margin-top: 1.8rem; }
.ob-video-feature__embed { height: 720px; overflow: hidden; border: 1px solid var(--ob-line); border-radius: var(--ob-radius); background: white; box-shadow: var(--ob-shadow); }
.ob-video-feature__embed iframe { width: 100%; height: 100%; border: 0; }
.ob-video-reel-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.4rem; }
.ob-video-reel-row article { overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: var(--ob-radius); background: #111317; }
.ob-video-destinations { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.ob-video-destinations > a { position: relative; min-height: 430px; overflow: hidden; border-radius: var(--ob-radius); color: white; }
.ob-video-destinations img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.ob-video-destinations > a:hover img { transform: scale(1.035); }
.ob-video-destinations > a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,9,11,.9), transparent 65%); }
.ob-video-destinations span { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: grid; padding: 1.6rem; }
.ob-video-destinations small { color: var(--ob-gold); font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.ob-video-destinations strong { font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1; letter-spacing: -.045em; }
.ob-platform-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; }
.ob-platform-grid a { display: grid; min-height: 260px; align-content: space-between; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgba(16,18,22,.15); border-radius: var(--ob-radius); background: rgba(255,255,255,.38); text-decoration: none; transition: transform 180ms ease, background 180ms ease; }
.ob-platform-grid a:hover { transform: translateY(-3px); background: white; }
.ob-platform-grid span, .ob-platform-grid small { color: var(--ob-orange); font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.ob-platform-grid strong { max-width: 260px; font-size: 1.5rem; line-height: 1.15; letter-spacing: -.035em; }

/* Footer */
.ob-footer { padding: 68px 0 28px; background: #090a0c; color: var(--ob-white); }
.ob-footer__top { display: grid; grid-template-columns: 1.2fr 0.8fr 0.8fr; gap: 3rem; padding-bottom: 50px; }
.ob-footer__logo { width: 180px; max-width: 100%; }
.ob-footer__tagline { max-width: 440px; color: rgba(255,255,255,.62); }
.ob-footer h3 { margin: 0 0 1rem; color: var(--ob-gold); font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; }
.ob-footer ul { margin: 0; padding: 0; list-style: none; }
.ob-footer li + li { margin-top: .65rem; }
.ob-footer a { text-decoration: none; }
.ob-footer a:hover { color: var(--ob-gold); }
.ob-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.46); font-size: .78rem; }

@media (max-width: 900px) {
  .ob-menu-toggle { display: grid; }
  .ob-nav {
    position: fixed; inset: 0; z-index: -1; display: grid; align-content: center; padding: 96px 30px 40px;
    background: rgba(9,10,12,.98); opacity: 0; visibility: hidden; transition: 180ms ease;
  }
  .nav-open .ob-nav { z-index: 95; opacity: 1; visibility: visible; }
  .ob-nav ul { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .ob-nav a { font-size: clamp(1.7rem, 8vw, 3rem); letter-spacing: -0.02em; text-transform: none; }
  .nav-open .ob-menu-toggle { position: relative; z-index: 100; }
  .nav-open .ob-menu-toggle .ob-menu-line { opacity: 0; }
  .nav-open .ob-menu-toggle::before { transform: translateY(6px) rotate(45deg); }
  .nav-open .ob-menu-toggle::after { transform: translateY(-6px) rotate(-45deg); }
  .ob-destination-grid, .ob-feature, .ob-cta, .ob-footer__top { grid-template-columns: 1fr; }
  .ob-destination-grid { grid-template-rows: auto; }
  .ob-destination, .ob-destination:first-child { grid-row: auto; min-height: 430px; }
  .ob-story-grid { grid-template-columns: repeat(2, 1fr); }
  .ob-about-intro-grid, .ob-about-closing { grid-template-columns: 1fr; }
  .ob-country-intro, .ob-country-cta { grid-template-columns: 1fr; }
  .ob-city-grid { grid-template-columns: 1fr 1fr; }
  .ob-city-grid article, .ob-city-grid article:nth-child(4), .ob-city-grid article:nth-child(5), .ob-city-grid--two article, .ob-city-grid--four article { grid-column: auto; }
  .ob-photo-grid { grid-template-columns: repeat(2, 1fr); }
  .ob-destinations-hub { grid-template-columns: 1fr; }
  .ob-destinations-hub .ob-destination:first-child { grid-column: auto; min-height: 500px; }
  .ob-values { grid-template-columns: 1fr; }
  .ob-report-intro, .ob-report-closing, .ob-home-report__grid { grid-template-columns: 1fr; }
  .ob-partner-intro, .ob-fit-grid, .ob-partner-cta { grid-template-columns: 1fr; }
  .ob-contact-layout { grid-template-columns: 1fr; }
  .ob-video-feature { grid-template-columns: 1fr; }
  .ob-video-destinations, .ob-platform-grid { grid-template-columns: 1fr; }
  .ob-contact-sidebar { position: static; }
  .ob-process-grid { grid-template-columns: 1fr; }
  .ob-feature__image img { aspect-ratio: 16/10; }
  .ob-cta__action { justify-self: start; }
}

@media (max-width: 620px) {
  :root { --ob-wrap: min(100% - 28px, 1180px); --ob-radius: 1rem; }
  body { font-size: 16px; }
  .ob-header__inner { min-height: 76px; }
  .ob-brand img { width: 64px; height: 64px; }
  .ob-section { padding: 60px 0; }
  .ob-hero { min-height: 740px; }
  .ob-hero__media img { object-position: 53% 55%; transform: scale(1.18); transform-origin: 50% 100%; }
  .ob-hero__shade { background: linear-gradient(0deg, rgba(10,11,13,.95) 0%, rgba(10,11,13,.52) 70%, rgba(10,11,13,.25)); }
  .ob-hero__content { padding-top: 126px; padding-bottom: 46px; }
  .ob-hero__copy { margin-top: 1.15rem; }
  .ob-actions { gap: .6rem; margin-top: 1.4rem; }
  .ob-button { min-height: 48px; padding: .72rem 1rem; font-size: .78rem; }
  .ob-scroll-cue { display: none; }
  .ob-heading-row { align-items: flex-start; flex-direction: column; margin-bottom: 1.8rem; }
  .ob-destination, .ob-destination:first-child { min-height: 340px; }
  .ob-story-grid { grid-template-columns: 1fr; gap: 1rem; }
  .ob-card__image { height: 220px; aspect-ratio: auto; }
  .ob-about-gallery { grid-template-columns: 1fr; grid-template-rows: 360px 240px 240px; }
  .ob-about-gallery__main { grid-row: auto; }
  .ob-country-hero { min-height: 680px; }
  .ob-country-hero > img { object-position: 53% 50%; }
  .ob-city-grid { grid-template-columns: 1fr; }
  .ob-city-grid article { min-height: 230px; }
  .ob-photo-grid { grid-auto-rows: 230px; gap: .75rem; }
  .ob-photo-grid__wide { grid-column: 1 / -1; }
  .ob-destinations-hub .ob-destination, .ob-destinations-hub .ob-destination:first-child { min-height: 360px; }
  .ob-feature { gap: 2rem; }
  .ob-feature__image img { aspect-ratio: 16/9; }
  .ob-footer { padding: 44px 0 22px; }
  .ob-report-hero { min-height: 700px; }
  .ob-report-hero__inner { padding-top: 140px; padding-bottom: 60px; }
  .ob-reel-grid { grid-template-columns: 1fr; gap: 1rem; }
  .ob-reel-card:last-child { grid-column: auto; width: auto; }
  .ob-reel-frame { height: 640px; }
  .ob-home-report__panel { min-height: 330px; }
  .ob-partner-hero { min-height: 760px; }
  .ob-partner-hero__media img { object-position: 52% 42%; }
  .ob-service-grid { grid-template-columns: 1fr; }
  .ob-service-grid article { min-height: 270px; }
  .ob-field-row { grid-template-columns: 1fr; }
  .ob-video-hero { min-height: 700px; }
  .ob-video-feature__embed { height: 640px; }
  .ob-video-reel-row { grid-template-columns: 1fr; }
  .ob-video-destinations > a { min-height: 340px; }
  .ob-platform-grid a { min-height: 220px; }
  .ob-footer__top { grid-template-columns: 1fr 1fr; gap: 1.6rem 1rem; padding-bottom: 30px; }
  .ob-footer__top > :first-child { grid-column: 1 / -1; }
  .ob-footer__logo { width: 150px; }
  .ob-footer__tagline { margin: .8rem 0 0; font-size: .9rem; }
  .ob-footer .ob-socials { margin-top: 1.1rem; gap: .5rem; }
  .ob-footer .ob-social { width: 40px; height: 40px; }
  .ob-footer h3 { margin-bottom: .7rem; }
  .ob-footer li + li { margin-top: .42rem; }
  .ob-footer p { margin: .42rem 0; }
  .ob-footer__bottom { flex-direction: column; gap: .25rem; padding-top: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
