/* Softer planner fields and destination framing. */
.sohba-editorial .journey-planner { margin:24px max(4vw,24px) 52px; padding:40px clamp(26px,4vw,64px); border:0; border-radius:36px; overflow:hidden; }
.sohba-editorial .planner-intro { margin-bottom:25px; }
.sohba-editorial #journey-planner-form { padding:0; gap:18px; border:0; align-items:stretch; }
.sohba-editorial #journey-planner-form label,.sohba-editorial #journey-planner-form label+label { padding:16px 18px; border:0; border-radius:18px; background:#ffffff09; }
.sohba-editorial #journey-planner-form select { font-size:19px; margin-top:7px; }
.sohba-editorial #journey-planner-form .pill { margin:0; border-radius:999px; align-self:center; min-height:56px; padding:17px 26px; }
.sohba-editorial .planner-note { margin-top:20px; max-width:700px; line-height:1.7; }
.interest-atlas .atlas-browser { border-top:0; }
.archive-track.auto-scrolling { scroll-snap-type:none; scroll-behavior:auto; }
.archive-gallery .flow-bottom { gap:16px; flex-wrap:wrap; }
.archive-gallery .flow-arrows #gallery-auto { display:inline-flex; justify-content:center; align-items:center; gap:8px; width:auto; min-width:84px; padding:0 14px; border-radius:999px; font-size:11px; }
.archive-gallery .flow-arrows #gallery-auto:disabled { opacity:.6; cursor:default; }
@media(max-width:760px) {
 .sohba-editorial .journey-planner { margin:16px 16px 36px; padding:28px 22px; border-radius:28px; }
 .sohba-editorial .planner-intro h2 { font-size:28px; line-height:1.15; }
 .sohba-editorial #journey-planner-form { gap:12px; }
 .sohba-editorial #journey-planner-form label,.sohba-editorial #journey-planner-form label+label { padding:14px 16px; border:0; border-radius:16px; }
 .sohba-editorial #journey-planner-form .pill { justify-content:space-between; margin:6px 0 0; min-height:52px; }
 .sohba-editorial .planner-note { margin-top:18px; font-size:10px; }
}
/* Active media components. Kept together so retired gallery treatments cannot override them. */
/* General travel terms are readable without JavaScript and share the site's softer edges. */
.terms-section { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:8%; padding:78px max(5vw,24px); background:#ebece3; scroll-margin-top:0; }
.terms-intro { max-width:390px; }
.terms-intro .eyebrow,.terms-document>.eyebrow { margin:0 0 22px; font-size:10px; letter-spacing:1.8px; color:#6b755f; }
.terms-intro h2 { margin:0 0 25px; font-size:clamp(38px,4.2vw,58px); font-weight:500; line-height:1.08; letter-spacing:-1.9px; }
.terms-intro>p:not(.eyebrow):not(.terms-updated) { font-size:14px; line-height:1.85; color:#5f6956; }
.terms-updated { font-size:11px; color:#717a65; margin:22px 0; line-height:1.6; }
.terms-full-link { display:inline-flex; gap:28px; align-items:center; padding:13px 18px; border:1px solid #3c50382b; border-radius:999px; font-size:12px; }
.terms-full-link:hover { background:#f9f8f0; }
.terms-accordion { min-width:0; }
.terms-accordion details { margin:0 0 10px; background:#faf9f3; border:1px solid #29332012; border-radius:18px; overflow:hidden; }
.terms-accordion summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:21px 24px; font-size:14px; font-weight:500; line-height:1.5; cursor:pointer; list-style:none; }
.terms-accordion summary::-webkit-details-marker { display:none; }
.terms-accordion summary::after { content:'+'; font-size:21px; line-height:1; font-weight:400; color:#66745c; }
.terms-accordion details[open]>summary::after { content:'−'; }
.terms-answer { padding:0 24px 23px; }
.terms-answer>p { margin:0 0 14px; font-size:13px; line-height:1.9; color:#5c6753; }
.terms-answer>p:last-child { margin-bottom:0; }
.terms-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:18px; }
.terms-links a { font-size:12px; line-height:1.7; text-decoration:underline; text-underline-offset:4px; }
.terms-document { max-width:1020px; margin:0 auto; padding-top:130px; padding-bottom:80px; }
.terms-document>.breadcrumb { display:inline-block; margin-bottom:35px; }
.terms-document h1 { font-size:clamp(38px,5vw,62px); font-weight:500; line-height:1.12; letter-spacing:-2px; }
.terms-document-intro { max-width:760px; font-size:18px; line-height:1.8; color:#59674e; margin:28px 0 45px; }
.terms-document>section { padding:26px 0; border-top:1px solid var(--line); }
.terms-document h2 { margin:0 0 18px; font-size:26px; line-height:1.3; font-weight:500; letter-spacing:-.6px; }
.terms-document section>p { font-size:15px; line-height:1.9; color:#5c6753; margin:0 0 16px; }
@media(max-width:760px) {
  .terms-section { grid-template-columns:1fr; gap:30px; padding:48px 23px; }
  .terms-intro { max-width:500px; }
  .terms-intro h2 { font-size:40px; letter-spacing:-1.4px; }
  .terms-intro h2 br { display:none; }
  .terms-intro>p:not(.eyebrow):not(.terms-updated) { font-size:13px; }
  .terms-accordion details { border-radius:16px; }
  .terms-accordion summary { padding:18px; font-size:13px; gap:16px; }
  .terms-answer { padding:0 18px 20px; }
  .terms-answer>p { font-size:13px; line-height:1.85; }
  .terms-document { padding-top:100px; }
  .terms-document h1 { font-size:40px; letter-spacing:-1.4px; }
  .terms-document-intro { font-size:16px; }
  .terms-document h2 { font-size:23px; }
  .terms-document section>p { font-size:14px; }
}
.package-hero .hero-visual::after { display: none; }
.package-hero h1::after { content:none; display:none; }
.package-hero .hero-video { filter: brightness(.96) saturate(1.12); }
.package-hero::after { background: linear-gradient(90deg,#101b1478 0%,#101b1448 46%,#101b141e 100%),linear-gradient(0deg,#101b1445 0%,transparent 52%,#101b1424 100%); }
.hero-cycle-toggle { min-width: 44px; min-height: 44px; }
.hero-pause-icon { display:block; width:10px; height:12px; border-inline:3px solid currentColor; }
.hero-play-icon { display:block; width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:10px solid currentColor; margin-left:3px; }
.scroll-ready { opacity:1; }

.sohba-editorial .archive-gallery {
  position: relative; height: auto; padding: 54px 0 30px;
  background: linear-gradient(125deg,#eef0e6,#e3e9db 58%,#f5f1e7);
  color: var(--ink); scroll-margin-top: 78px;
}
.archive-gallery .flow-heading { margin-bottom: 28px; }
.archive-gallery .flow-filter select { color: var(--ink); background: #ffffff80; border-color: #28351e38; color-scheme: light; min-height:44px; }
.archive-gallery .flow-filter option { color: var(--ink); background:#f5f2e9; }
.archive-track {
  width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
  scroll-snap-type: x proximity; scroll-padding-inline: 5vw;
  scrollbar-width:none; -ms-overflow-style:none;
  touch-action: pan-x pan-y; cursor: grab;
}
.archive-track::-webkit-scrollbar { display:none; width:0; height:0; }
.archive-rail { display:flex; gap:18px; width:max-content; padding:0 5vw; }
.archive-photo {
  position:relative; display:block; flex:0 0 clamp(260px,26vw,370px);
  width:clamp(260px,26vw,370px); height:clamp(350px,35vw,495px);
  padding:0; border:0; border-radius:2px; overflow:hidden;
  background:#d7dccf; color:white; scroll-snap-align:start; cursor:inherit;
  box-shadow:0 8px 20px #26322614;
}
.archive-photo img { display:block; width:100%; height:100%; object-fit:cover; user-select:none; pointer-events:none; }
.archive-photo>span { position:absolute; inset:auto 0 0; padding:38px 18px 18px; text-align:left; font-size:12px; background:linear-gradient(transparent,#162316d9); pointer-events:none; }
.archive-photo small { display:block; margin-top:6px; font-size:11px; line-height:1.5; color:#eef1e8; }
.archive-photo:focus-visible { outline:3px solid #a6844c; outline-offset:-5px; }
.archive-track.dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.archive-gallery .flow-bottom { margin-top:14px; }
.archive-gallery .rotation-hint { color:#536149; }
.archive-gallery .flow-arrows button { width:44px; height:44px; border:1px solid #28351e4d; border-radius:50%; background:#ffffff70; color:var(--ink); }
.archive-gallery .flow-arrows button:hover { background:#e0e5d6; }
.archive-gallery .flow-arrows button:disabled { opacity:.3; cursor:default; }

/* Every card has a readable width and full text, including on narrow screens. */
.review-slides { position:relative; display:flex; align-items:stretch; gap:16px; max-width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0; padding:26px 0 12px; }
.review-slides .review-card { flex:0 0 min(460px,100%); min-width:0; padding:32px 28px 26px; min-height:350px; }
.review-slides .review-card::before { top:10px; right:18px; font-size:64px; opacity:.22; }
.review-slides .review-card blockquote { font-size:18px; line-height:1.65; position:relative; }
.review-attribution { display:flex; flex-direction:column; gap:6px; margin-top:26px; padding-top:18px; border-top:1px solid #28351e20; }
.review-attribution strong { font-size:14px; font-weight:600; }
.review-attribution span { font-size:11px; color:#66705f; line-height:1.6; }
.review-controls { margin-top:12px; }
.sohba-editorial .journey-film { max-width:none; width:100%; }
.sohba-editorial .film-frame { min-width:0; }
.sohba-editorial .film-frame video { width:100%; height:auto; max-height:600px; aspect-ratio:9/16; }

@media(max-width:760px) {
  .package-hero .hero-video { filter:brightness(.96) saturate(1.12); }
  .package-hero { min-height:100svh!important; height:100svh; padding:110px 0 100px!important; }
  .sohba-editorial .archive-gallery { padding:36px 0 24px; scroll-margin-top:68px; }
  .archive-gallery .flow-heading { margin:0 23px 24px; align-items:flex-start; }
  .archive-gallery .flow-heading h2 { font-size:36px; }
  .archive-track { scroll-padding-inline:23px; }
  .archive-rail { gap:13px; padding:0 23px; }
  .archive-photo { flex-basis:76vw; width:76vw; height:clamp(340px,105vw,460px); }
  .archive-gallery .flow-bottom { margin:12px 23px 0; }
  .review-slides { margin-right:0; padding-right:0; }
  .review-slides .review-card { flex-basis:100%; padding:28px 24px 24px; min-height:350px; }
  .review-slides .review-card blockquote { font-size:17px; }
  .sohba-editorial .journey-film { padding:50px 23px; }
  .sohba-editorial .film-frame { width:min(100%,290px); }
  .sohba-editorial .film-frame video { max-height:516px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* The complete About Us story, with comfortable reading measures and a meaningful Arabic quotation. */
.about-story { --about-gutter:max(5vw,24px); padding-inline:var(--about-gutter); }
.about-story .our-story-layout { grid-template-columns:1.15fr .85fr; gap:8%; align-items:center; }
/* Land About us on the introduction; html scroll padding clears the fixed header. */
#overview.our-story-layout { scroll-margin-top:8px; }
.about-story .our-story-copy { max-width:650px; }
.about-story .our-story-copy h2 { font-size:clamp(36px,4.1vw,59px); line-height:1.12; max-width:650px; margin-bottom:30px; }
.about-story .our-story-copy .our-story-lead { font-size:clamp(19px,1.7vw,23px); line-height:1.6; letter-spacing:-.3px; }
.about-story .our-story-copy>p { line-height:1.9; }
.about-story .our-story-images { padding-left:7%; padding-bottom:45px; }
.about-story .our-story-main { height:590px; }
.about-story .our-story-detail { width:54%; height:260px; left:-7%; }
.about-story .our-story-caption { margin-left:47%; line-height:1.6; }
.about-teaching { margin:78px 0 0; padding:48px max(4vw,24px); background:#e6e9dd; text-align:center; }
.about-teaching-context { max-width:620px; margin:0 auto; color:#5f6a57; font-size:14px; line-height:1.9; }
.about-teaching blockquote { margin:30px auto; max-width:900px; }
.about-teaching .about-arabic { font-family:'Noto Naskh Arabic','Geeza Pro','Traditional Arabic',serif; font-size:clamp(30px,3.5vw,46px); line-height:2.1; letter-spacing:normal; font-weight:400; margin:0; }
.about-teaching .about-transliteration { font-size:14px; line-height:1.9; color:#65705d; margin:14px 0 18px; font-style:italic; }
.about-teaching .about-translation { font-size:clamp(21px,2.3vw,30px); line-height:1.5; letter-spacing:-.6px; max-width:690px; margin:0 auto; }
.about-teaching-reflection { max-width:680px; margin:0 auto; color:#5f6a57; font-size:14px; line-height:1.9; }
.about-chapters { margin-top:68px; }
.about-chapter { display:grid; grid-template-columns:.8fr 1.2fr; gap:12%; padding:40px 0; border-top:1px solid var(--line); }
.about-chapter-heading h3 { max-width:360px; font-size:clamp(27px,3vw,40px); line-height:1.2; letter-spacing:-1.1px; font-weight:500; }
.about-chapter-copy { max-width:670px; }
.about-chapter-copy>p { margin:0 0 18px; font-size:15px; line-height:1.9; color:#5f6a57; }
.about-chapter-copy>p:last-child { margin-bottom:0; }
.about-chapter-copy .our-story-link { margin-top:26px; }
.about-story .archive-gallery { margin:60px calc(-1 * var(--about-gutter)) 0; width:calc(100% + 2 * var(--about-gutter)); }
.about-story .our-story-main img { object-position:center 32%; }
.upcoming-departures { padding:80px max(5vw,24px); background:var(--paper); scroll-margin-top:0; }
.departures-heading { display:grid; grid-template-columns:1fr 1fr; gap:18px 50px; align-items:end; max-width:1240px; margin:0 auto 36px; }
.departures-heading .eyebrow { grid-column:1/-1; font-size:10px; letter-spacing:2px; }
.departures-heading h2 { font-size:clamp(38px,4.2vw,58px); font-weight:500; line-height:1.08; letter-spacing:-1.9px; }
.departures-heading>p:last-child { max-width:360px; justify-self:end; font-size:14px; line-height:1.8; color:#66705f; }
.departure-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:1240px; margin:0 auto; }
.departure-card { position:relative; display:flex; flex-direction:column; min-width:0; min-height:0; padding:0; overflow:hidden; border:1px solid #29332016; background:#fcfaf5; color:var(--ink); box-shadow:0 8px 30px #29332006; }
.departure-photo { position:relative; aspect-ratio:16/9; overflow:hidden; background:#d9ddcf; }
.departure-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.departure-iraq .departure-photo img { object-position:center 48%; }
.departure-uk .departure-photo img { object-position:center 64%; }
.departure-category { position:absolute; top:20px; left:20px; display:inline-flex; align-items:center; min-height:32px; padding:8px 12px; border:1px solid #ffffff40; border-radius:999px; background:#f8f6eeed; color:#35442d; font-size:9px; font-weight:600; line-height:1.4; letter-spacing:1.3px; }
.departure-card-body { flex:1; display:flex; flex-direction:column; margin:0; padding:28px 30px 30px; }
.departure-date { display:flex; align-items:center; gap:9px; color:#626c58; font-size:13px; line-height:1.5; letter-spacing:0; margin:0 0 15px; }
.departure-date svg { width:17px; height:17px; flex:0 0 17px; }
.departure-date>span { padding:0; }
.departure-card h3 { font-size:38px; letter-spacing:-1.2px; line-height:1.15; font-weight:500; margin:0 0 12px; }
.departure-title { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:10px 20px; margin-bottom:12px; }
.departure-title h3 { margin:0; }
.departure-price { margin:0; font-size:29px; font-weight:500; line-height:1.2; letter-spacing:-.8px; color:#35442d; font-variant-numeric:tabular-nums; }
.departure-description { font-size:15px; line-height:1.8; color:#46513e; margin:0 0 18px; }
.departure-note { font-size:12px; line-height:1.7; color:#737a68; margin:0 0 25px; }
.departure-photo-credit { max-width:1240px; margin:16px auto 0; font-size:10px; line-height:1.7; color:#7a806e; }
.departure-photo-credit a { text-decoration:underline; text-underline-offset:3px; }
.departure-cta { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:35px; padding:20px 0 0; border:0; border-top:1px solid currentColor; background:none; color:inherit; text-align:left; font:inherit; font-size:13px; cursor:pointer; }
.departure-cta:hover>span { transform:translate(2px,-2px); }
.interest-atlas { padding-top:55px; }
.interest-atlas .atlas-scene { background:radial-gradient(ellipse at 10% 20%,#6d7c58,#273f32 68%); }
.interest-atlas .atlas-scene-bottom { bottom:45px; }
.interest-atlas .atlas-scene-bottom .atlas-kicker { font-size:9px; letter-spacing:1.8px; opacity:.75; margin-bottom:20px; }
.atlas-interest { display:inline-flex; justify-content:space-between; align-items:center; gap:45px; padding:0 0 12px; border:0; border-bottom:1px solid #ffffff80; background:none; color:#fff; font:inherit; font-size:13px; cursor:pointer; text-align:left; }
@media(max-width:760px) {
  .about-story { --about-gutter:23px; }
  .about-story .archive-gallery { margin-top:42px; }
  .upcoming-departures { padding:48px 23px; scroll-margin-top:0; }
  .departures-heading { grid-template-columns:1fr; gap:17px; margin-bottom:28px; }
  .departures-heading h2 { font-size:43px; letter-spacing:-1.6px; }
  .departures-heading>p:last-child { justify-self:start; font-size:13px; max-width:320px; }
  .departure-grid { grid-template-columns:1fr; gap:18px; }
  .departure-card { min-height:0; padding:0; }
  .departure-card-body { margin:0; padding:24px; }
  .departure-card h3 { font-size:34px; letter-spacing:-1px; }
  .departure-category { top:16px; left:16px; font-size:8px; }
  .departure-description { font-size:14px; }
  .departure-cta { font-size:12px; line-height:1.6; gap:18px; }
  .interest-atlas .atlas-scene { min-height:390px; }
  .interest-atlas .atlas-scene-bottom { bottom:30px; }
  .atlas-interest { gap:24px; font-size:12px; }
}
@media(max-width:760px) {
  .about-story .our-story-layout { grid-template-columns:1fr; gap:30px; }
  .about-story .our-story-copy h2 { font-size:38px; line-height:1.15; letter-spacing:-1.4px; }
  .about-story .our-story-copy .our-story-lead { font-size:20px; }
  .about-story .our-story-copy>p { font-size:14px; line-height:1.85; }
  .about-story .our-story-images { padding-left:12%; padding-bottom:40px; }
  .about-story .our-story-main { height:440px; }
  .about-story .our-story-detail { height:210px; width:53%; left:0; }
  .about-teaching { margin-top:42px; padding:30px 20px; }
  .about-teaching-context,.about-teaching-reflection { font-size:13px; line-height:1.85; }
  .about-teaching blockquote { margin:24px 0; }
  .about-teaching .about-arabic { font-size:30px; line-height:2; }
  .about-teaching .about-transliteration { font-size:12px; line-height:1.9; margin:16px 0; }
  .about-teaching .about-translation { font-size:23px; line-height:1.5; letter-spacing:-.4px; }
  .about-chapters { margin-top:38px; }
  .about-chapter { grid-template-columns:1fr; gap:22px; padding:30px 0; }
  .about-chapter-heading h3 { font-size:30px; letter-spacing:-.7px; }
  .about-chapter-copy>p { font-size:14px; line-height:1.85; }
}

/* A shared, softer edge across the photographic and travel cards. */
:root { --card-radius:28px; --photo-radius:22px; }
.departure-card { border-radius:var(--card-radius); }
.atlas-scene { border-radius:var(--card-radius); }
.our-story-images figure { border-radius:var(--photo-radius); }
.reviews-photographs figure { border-radius:var(--photo-radius); }
.archive-photo { border-radius:var(--photo-radius); }
.about-teaching { border-radius:var(--card-radius); }
.review-slides .review-card { border-radius:var(--photo-radius); }
.journal-feature>a,.journal-side>img { border-radius:var(--photo-radius); }
.departure-cta { width:100%; border:0; border-radius:14px; padding:16px 19px; min-height:52px; line-height:1.5; margin-top:auto; background:#35442d; color:#fff; transition:background .2s; }
.departure-cta:hover { background:#465839; }
.ui-arrow { position:relative; display:inline-block; width:16px; height:16px; flex:0 0 16px; }
.ui-arrow::before { content:''; position:absolute; top:7px; left:1px; width:15px; height:1.5px; background:currentColor; transform:rotate(-45deg); }
.ui-arrow::after { content:''; position:absolute; top:1px; right:1px; width:9px; height:9px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; }

/* Upright, compact film presentation with a clipped, rounded player. */
.sohba-editorial .journey-film { display:block; width:100%; max-width:none; padding:72px max(5vw,24px); background:#e3e7dc; }
.film-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.78fr); gap:clamp(40px,7vw,100px); align-items:center; max-width:1120px; margin:0 auto; }
.journey-film .film-copy { width:100%; max-width:440px; }
.journey-film .film-copy .film-kicker { font-size:10px; font-weight:500; letter-spacing:1.8px; color:#5e6d54; line-height:1.5; margin:0 0 22px; }
.sohba-editorial .film-copy h2 { font-size:clamp(42px,4.8vw,66px); line-height:1.04; letter-spacing:-2.6px; font-weight:500; margin:0 0 25px; }
.journey-film .film-copy .film-intro { max-width:400px; font-size:17px; line-height:1.75; letter-spacing:-.2px; color:#5a6653; margin:0; }
.journey-film .film-copy .film-note { font-size:12px!important; line-height:1.6; color:#68745f; margin:18px 0 30px; }
.film-gallery-link { display:inline-flex; align-items:center; gap:24px; padding:14px 19px; border:1px solid #3c503830; border-radius:999px; font-size:12px; line-height:1.5; background:#f8f9f15c; transition:background .2s; }
.film-gallery-link:hover { background:#f8f9f1; }
.sohba-editorial .journey-film .film-frame { display:block; width:min(315px,38.25svh,100%); max-width:none; min-width:0; margin:0; justify-self:center; transform:none; rotate:none; }
.film-player { overflow:hidden; border-radius:28px; border:1px solid #ffffffb3; background:#263226; box-shadow:0 18px 45px #2632261a; }
.sohba-editorial .film-frame .film-player video { display:block; width:100%; height:auto; max-height:none; aspect-ratio:9/16; object-fit:contain; border-radius:0; transform:none; }
.journey-film .film-caption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 4px 0; font-size:9px; line-height:1.5; letter-spacing:1.5px; color:#64735a; }
.journey-film .film-caption>span { font-size:10px; letter-spacing:.5px; font-variant-numeric:tabular-nums; }
@media(max-width:760px) {
  :root { --card-radius:22px; --photo-radius:18px; }
  .departure-cta { border-radius:14px; padding:16px 18px; }
  .sohba-editorial .journey-film { padding:48px 23px; }
  .film-layout { grid-template-columns:1fr; gap:32px; max-width:480px; }
  .sohba-editorial .film-copy h2 { font-size:46px; letter-spacing:-1.9px; margin-bottom:20px; }
  .journey-film .film-copy .film-kicker { margin-bottom:18px; font-size:9px; }
  .journey-film .film-copy .film-intro { font-size:15px; line-height:1.75; max-width:360px; }
  .journey-film .film-copy .film-note { margin:15px 0 23px; }
  .sohba-editorial .journey-film .film-frame { width:min(280px,100%); }
  .film-player { border-radius:24px; }
}
@media(prefers-reduced-motion:reduce) { .departure-cta,.film-gallery-link { transition:none; } }

/* Aligned journal columns, with the same image and text rhythm on both sides. */
.journey-journal { padding:88px max(5vw,24px); }
.journey-journal .journal-heading,.journey-journal .journal-grid { max-width:1280px; margin-inline:auto; }
.journey-journal .journal-heading { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr); gap:20px 48px; align-items:end; margin-bottom:38px; }
.journal-heading>p:first-child { grid-column:1/-1; margin:0; }
.journey-journal .journal-heading h2 { font-size:clamp(38px,4.4vw,62px); line-height:1.08; letter-spacing:-2.2px; }
.journey-journal .journal-heading>p:last-child { max-width:360px; justify-self:end; margin:0; }
.journey-journal .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; align-items:start; }
.journey-journal .journal-side { display:block; padding:0; }
.journey-journal .journal-feature>a,.journey-journal .journal-side>img { display:block; width:100%; height:auto; aspect-ratio:4/3; margin:0; border-radius:28px; overflow:hidden; }
.journey-journal .journal-feature>a>img { height:100%; object-fit:cover; }
.journey-journal .journal-side>img { object-fit:cover; object-position:center 35%; }
.journey-journal .journal-feature>div,.journey-journal .journal-side>div { max-width:560px; padding:24px 0 0; }
.journey-journal .journal-feature h3,.journey-journal .journal-side h3 { font-size:clamp(25px,2.4vw,33px); line-height:1.2; }
.journey-journal .journal-feature p,.journey-journal .journal-side p { font-size:14px; line-height:1.75; }
.journey-journal .journal-feature>div>p:first-child,.journey-journal .journal-side>div>p:first-child { font-size:10px; }

/* One centred review, with adjacent cards inviting a swipe in either direction. */
.traveller-reviews { display:block; padding:86px 0 72px; scroll-margin-top:84px; }
.reviews-content { width:100%; max-width:1280px; margin:0 auto; }
.reviews-heading { padding:0 24px 30px; border:0; text-align:center; }
.reviews-heading h2 { font-size:clamp(36px,4.4vw,60px); letter-spacing:-2px; margin-bottom:16px; }
.reviews-heading p { font-size:14px; }
.review-slides {
  --review-width:min(680px,calc(100vw - 64px));
  display:flex; align-items:stretch; gap:24px; width:100%; max-width:100%; margin:0;
  overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
  padding:12px max(24px,calc((100% - var(--review-width))/2)) 24px;
  scroll-padding-inline:max(24px,calc((100% - var(--review-width))/2));
  scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none;
  touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch;
}
.review-slides::-webkit-scrollbar { display:none; width:0; height:0; }
.review-slides .review-card {
  flex:0 0 var(--review-width); min-width:0; min-height:385px; padding:44px 48px 32px;
  display:flex; flex-direction:column; justify-content:space-between; align-items:center;
  text-align:center; scroll-snap-align:center; border:1px solid #29332019;
  border-radius:30px; background:#faf8f1; box-shadow:0 6px 22px #29332005;
}
.review-slides .review-card::before { content:none; }
.review-slides .review-card blockquote { margin:0; font-size:19px; font-style:italic; line-height:1.75; letter-spacing:-.25px; }
.review-attribution { width:100%; align-items:center; margin-top:28px; padding-top:22px; border-top:1px solid #29332016; }
.review-attribution strong { font-size:14px; }
.review-attribution span { font-size:12px; }
.review-controls { display:flex; justify-content:center; align-items:center; gap:16px; margin-top:22px; }
#review-position { order:1; min-width:115px; text-align:center; font-size:12px; color:#66705f; font-variant-numeric:tabular-nums; }
#review-prev { order:0; }
#review-next { order:2; }
.review-controls button { width:48px; height:48px; background:#faf8f16b; }
.review-controls button:disabled { opacity:.3; cursor:default; }
.reviews-empty { max-width:560px; margin-inline:auto; padding:24px; text-align:center; }
.interest-atlas .atlas-image-shade { background:linear-gradient(180deg,#12201408 10%,#12201430 38%,#122014e8 100%); }
.interest-atlas #atlas-image { object-position:center 40%; }
.syria-proposal { grid-column:2; margin:24px 0 0; padding:30px 34px; border:1px solid #d5d8c9; border-radius:24px; background:#fbfaf5; color:var(--ink); }
.syria-proposal[hidden] { display:none; }
.syria-proposal h3 { margin:0 0 22px; font-size:27px; font-weight:500; line-height:1.3; letter-spacing:-.6px; }
.syria-proposal h3>span { display:block; margin-top:9px; font-size:13px; font-weight:400; line-height:1.5; letter-spacing:0; color:#69725f; }
.syria-proposal>p { margin:0 0 17px; font-size:14px; line-height:1.8; color:#5f6956; }
.syria-proposal .syria-travel-warning { padding:17px 20px; border-radius:14px; background:#eee5d7; color:#544638; }
.syria-travel-warning strong { display:block; margin-bottom:5px; font-weight:600; }
.syria-proposal .syria-guidance { margin-bottom:0; font-size:12px; }
.syria-guidance a { display:inline-block; padding-top:5px; color:#35442d; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.about-companionship { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,4vw,60px); align-items:center; margin-top:64px; }
.about-companionship .about-teaching { margin:0; padding:32px; }
.about-companionship .about-teaching-context,.about-companionship .about-teaching-reflection { font-size:13px; line-height:1.8; }
.about-companionship .about-teaching blockquote { margin:22px 0; }
.about-companionship .about-teaching .about-arabic { font-size:clamp(27px,2.5vw,36px); line-height:1.8; }
.about-companionship .about-teaching .about-transliteration { font-size:12px; line-height:1.8; margin:14px 0; }
.about-companionship .about-teaching .about-translation { font-size:24px; line-height:1.45; letter-spacing:-.5px; }
.about-companionship .about-chapters { margin:0; }
.about-companionship .about-chapter { display:block; padding:6px 0 0; border:0; }
.about-companionship .about-chapter-heading h3 { max-width:440px; margin:0 0 22px; font-size:31px; line-height:1.2; letter-spacing:-.9px; }
.about-companionship .about-chapter-copy>p { font-size:14px; line-height:1.8; margin:0 0 16px; }
@media(max-width:900px) {
  .about-companionship { grid-template-columns:1fr; gap:30px; margin-top:38px; }
  .about-companionship .about-teaching { padding:28px 24px; }
  .about-companionship .about-chapter-heading h3 { font-size:29px; }
}
@media(max-width:760px) {
  .syria-proposal { grid-column:1; margin-top:20px; padding:24px 20px; border-radius:20px; }
  .syria-proposal h3 { font-size:25px; }
  .syria-proposal>p { font-size:13px; }
  .syria-proposal .syria-travel-warning { padding:16px; }
  .departure-price { font-size:27px; }
  .journey-journal { padding:52px 23px; }
  .journey-journal .journal-heading { grid-template-columns:1fr; gap:16px; margin-bottom:28px; }
  .journey-journal .journal-heading h2 { font-size:40px; letter-spacing:-1.5px; }
  .journey-journal .journal-heading>p:last-child { justify-self:start; max-width:360px; }
  .journey-journal .journal-grid { grid-template-columns:1fr; gap:34px; }
  .journey-journal .journal-feature>a,.journey-journal .journal-side>img { border-radius:22px; }
  .journey-journal .journal-feature>div,.journey-journal .journal-side>div { padding-top:20px; }
  .traveller-reviews { padding:52px 0 46px; scroll-margin-top:68px; }
  .reviews-heading { padding-bottom:24px; }
  .reviews-heading h2 { font-size:38px; letter-spacing:-1.5px; }
  .reviews-heading p { font-size:13px; }
  .review-slides { gap:16px; }
  .review-slides .review-card { min-height:0; padding:30px 24px 26px; border-radius:26px; }
  .review-slides .review-card blockquote { font-size:17px; line-height:1.7; }
  .review-attribution { margin-top:24px; padding-top:20px; }
}

/* Compact upcoming journey cards. */
.departure-grid { gap:26px; align-items:stretch; }
.departure-card { border-radius:26px; }
.departure-photo { aspect-ratio:1.8; flex-shrink:0; }
.departure-category { top:16px; left:18px; min-height:28px; padding:7px 11px; font-size:8px; letter-spacing:1.5px; }
.departure-card-body { padding:22px 26px 24px; }
.departure-title { margin:0 0 12px; }
.departure-card h3 { margin:0; font-size:30px; line-height:1.15; letter-spacing:-.9px; font-weight:500; text-wrap:balance; }
.departure-meta { min-height:29px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px 16px; margin-bottom:14px; }
.departure-date { margin:0; font-size:12px; gap:8px; }
.departure-date svg { width:15px; height:15px; flex-basis:15px; }
.departure-price { font-size:22px; line-height:1.3; letter-spacing:-.5px; }
.departure-price-pending { max-width:none; font-size:11px; font-weight:500; letter-spacing:0; }
.departure-host { display:flex; align-items:center; gap:9px; margin:0 0 14px; color:#626c58; font-size:12px; line-height:1.5; }
.departure-host img { display:block; flex:0 0 30px; width:30px; height:30px; border-radius:50%; object-fit:cover; object-position:center 32%; }
.departure-description { margin:0 0 10px; font-size:13px; line-height:1.7; color:#46513e; }
.departure-note { margin:0 0 20px; font-size:11px; line-height:1.5; }
.departure-cta { min-height:44px; padding:12px 16px; border-radius:11px; font-size:12px; line-height:1.5; transition:background .2s ease,box-shadow .2s ease; }
.departure-cta:hover { background:#465839; box-shadow:0 3px 10px #29332012; }
.departure-cta .ui-arrow { transition:transform .2s ease; }
.departure-cta:focus-visible { outline:2px solid #737a68; outline-offset:4px; }
@media(max-width:760px) {
  .departure-grid { grid-template-columns:1fr; grid-auto-rows:1fr; gap:22px; }
  .departure-card { border-radius:22px; }
  .departure-card-body { padding:20px; }
  .departure-card h3 { font-size:27px; letter-spacing:-.7px; }
  .departure-meta { gap:7px 10px; margin-bottom:12px; }
  .departure-price { font-size:21px; }
  .departure-price-pending { font-size:11px; }
  .departure-category { top:13px; left:14px; padding:6px 10px; }
  .departure-description { font-size:12px; line-height:1.7; }
  .departure-note { margin-bottom:18px; }
}
@media(prefers-reduced-motion:reduce) { .departure-cta,.departure-cta .ui-arrow { transition:none; } }

/* About: one continuous editorial story, scoped to this section. */
.about-story { padding-top:56px; }
.about-story .our-story-header { max-width:1120px; margin:0 auto 36px; padding-bottom:18px; }
.about-story .our-story-header>p { font-size:10px; text-transform:uppercase; letter-spacing:2px; color:#66705f; }
.about-story .our-story-layout { max-width:1120px; margin:0 auto; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(32px,5vw,64px); align-items:center; }
.about-story .our-story-copy { max-width:570px; }
.about-story .our-story-copy h2 { max-width:540px; margin:0 0 23px; font-size:clamp(34px,3.5vw,49px); line-height:1.12; letter-spacing:-1.8px; font-weight:500; text-wrap:balance; }
.about-story .our-story-copy .our-story-lead { font-size:18px; line-height:1.65; letter-spacing:-.2px; margin:0 0 20px; }
.about-story .our-story-copy>p { max-width:53ch; font-size:14px; line-height:1.85; margin:0 0 15px; }
.about-story .our-story-copy>p:last-child { margin-bottom:0; }
.about-story .our-story-images { padding:0 0 60px 16%; margin:0; }
.about-story .our-story-main { width:100%; height:auto; aspect-ratio:4/5; border-radius:18px; border:1px solid #29332012; }
.about-story .our-story-main img { width:100%; height:100%; object-fit:contain; }
.about-story .our-story-detail { left:0; bottom:0; width:43%; height:auto; aspect-ratio:3/4; border:6px solid var(--paper); border-radius:18px; background:var(--paper); }
.about-story .our-story-detail img { object-fit:contain; object-position:center; }
.about-story .our-story-caption { margin:13px 0 0 37%; font-size:10px; line-height:1.6; }
.about-story .about-companionship { display:block; max-width:1120px; margin:42px auto 0; }
.about-story .about-companionship .about-teaching { position:relative; padding:30px 48px; border-radius:0; background:#e8ebdf; border:0; text-align:center; }
.about-story .about-teaching::before { content:""; display:block; width:36px; height:1px; margin:0 auto 19px; background:#8e9a80; }
.about-story .about-companionship .about-teaching-context { max-width:650px; font-size:12px; line-height:1.8; }
.about-story .about-companionship .about-teaching blockquote { max-width:880px; margin:15px auto 18px; }
.about-story .about-companionship .about-arabic { margin:0; font-size:clamp(30px,3.2vw,43px); line-height:1.9; }
.about-story .about-companionship .about-transliteration { margin:7px 0 13px; font-size:12px; line-height:1.7; }
.about-story .about-companionship .about-translation { max-width:760px; font-size:clamp(21px,2.3vw,29px); line-height:1.4; letter-spacing:-.6px; text-wrap:balance; }
.about-story .about-companionship .about-teaching-reflection { max-width:690px; font-size:12px; line-height:1.8; }
.about-story .about-chapters { margin:34px 0 0; }
.about-story .about-companionship .about-chapter { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(32px,5vw,64px); padding:0; border:0; }
.about-story .about-chapter-heading .eyebrow { margin:0 0 12px; font-size:9px; letter-spacing:1.8px; color:#66705f; }
.about-story .about-companionship .about-chapter-heading h3 { max-width:280px; margin:0; font-size:30px; line-height:1.2; letter-spacing:-.9px; font-weight:500; text-wrap:balance; }
.about-story .about-chapter-copy { max-width:670px; }
.about-story .about-companionship .about-chapter-copy>p { font-size:13px; line-height:1.85; margin:0 0 14px; }
.about-story .about-companionship .about-chapter-copy>p:last-child { margin:0; }
@media(max-width:900px) {
 .about-story .our-story-layout { grid-template-columns:1.1fr 1fr; gap:28px; }
 .about-story .our-story-copy h2 { font-size:36px; }
 .about-story .our-story-copy .our-story-lead { font-size:16px; }
 .about-story .our-story-copy>p { font-size:13px; }
}
@media(max-width:760px) {
 .about-story { padding-top:38px; }
 .about-story .our-story-header { margin-bottom:26px; }
 .about-story .our-story-layout { grid-template-columns:1fr; gap:26px; }
 .about-story .our-story-copy h2 { font-size:35px; letter-spacing:-1.2px; margin-bottom:18px; }
 .about-story .our-story-copy .our-story-lead { font-size:17px; margin-bottom:17px; }
 .about-story .our-story-copy>p { font-size:13px; line-height:1.8; }
 .about-story .our-story-images { display:grid; grid-template-columns:1.1fr 1fr; gap:12px; align-items:end; padding:0; }
 .about-story .our-story-main { aspect-ratio:4/5; border-radius:13px; }
 .about-story .our-story-detail { position:static; width:100%; height:auto; aspect-ratio:3/4; border:1px solid #29332012; border-radius:13px; }
 .about-story .our-story-caption { grid-column:1/-1; margin:0; font-size:9px; }
 .about-story .about-companionship { margin-top:28px; }
 .about-story .about-companionship .about-teaching { padding:25px 18px; }
 .about-story .about-companionship .about-teaching-context { font-size:11px; }
 .about-story .about-companionship .about-arabic { font-size:29px; line-height:1.95; }
 .about-story .about-companionship .about-transliteration { font-size:11px; }
 .about-story .about-companionship .about-translation { font-size:23px; line-height:1.45; }
 .about-story .about-companionship .about-teaching-reflection { font-size:12px; }
 .about-story .about-chapters { margin-top:28px; }
 .about-story .about-companionship .about-chapter { grid-template-columns:1fr; gap:18px; }
 .about-story .about-companionship .about-chapter-heading h3 { max-width:320px; font-size:28px; }
}

/* Destination interest: selection and registration have distinct places. */
.interest-atlas { padding:52px max(5vw,24px); }
.interest-atlas .atlas-browser { max-width:1120px; margin:auto; grid-template-columns:minmax(250px,.8fr) minmax(0,1.35fr); gap:48px; align-items:start; }
.interest-atlas .interest-intro { min-width:0; }
.interest-atlas .eyebrow { font-size:9px; letter-spacing:1.8px; margin:0 0 14px; }
.interest-atlas h2 { font-size:clamp(32px,3.3vw,43px); line-height:1.12; letter-spacing:-1.4px; font-weight:500; margin:0 0 15px; text-wrap:balance; }
.interest-atlas .interest-description { max-width:43ch; font-size:13px; line-height:1.8; margin:0 0 18px; color:#66705f; }
.interest-atlas .atlas-nav { padding:0; gap:0; }
.interest-atlas .atlas-nav button { min-height:44px; padding:12px 10px; font-size:15px; line-height:1.4; color:#69725f; border-bottom:1px solid #2933201c; transition:color .22s,background .22s; }
.interest-atlas .atlas-nav button b { display:block; opacity:.45; transform:none; font-size:14px; margin-left:auto; transition:transform .22s,opacity .22s; }
.interest-atlas .atlas-nav button:hover { background:#e8ebdf88; color:#263226; }
.interest-atlas .atlas-nav button[aria-pressed=true] { color:#263226; background:#e8ebdf; box-shadow:none; font-weight:500; }
.interest-atlas .atlas-nav button[aria-pressed=true] b { opacity:1; transform:translateX(2px); }
.interest-atlas .atlas-scene { position:relative; min-height:450px; margin:0; display:flex; flex-direction:column; border-radius:20px; background:#fcfaf5; color:#263226; border:1px solid #29332012; }
.interest-atlas .interest-photo { position:relative; height:280px; flex:0 0 280px; overflow:hidden; background:#e4e8db; }
.interest-atlas #atlas-image { position:static; display:block; width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.interest-atlas #atlas-image[hidden],.interest-photo-placeholder[hidden] { display:none; }
.interest-photo-placeholder { height:100%; display:flex; align-items:center; justify-content:center; font-size:16px; color:#626c58; }
.interest-atlas .atlas-scene-bottom { position:static; padding:20px 24px 22px; color:#263226; }
.interest-atlas .atlas-scene-bottom .atlas-kicker { font-size:8px; letter-spacing:1.8px; color:#69725f; opacity:1; margin:0 0 8px; }
.interest-atlas .atlas-scene h3 { font-size:30px; letter-spacing:-.8px; line-height:1.1; margin:0 0 8px; font-weight:500; }
.interest-atlas #atlas-teaser { font-size:13px; line-height:1.6; color:#626c58; margin:0 0 15px; }
.interest-atlas .atlas-interest { display:inline-flex; align-items:center; justify-content:space-between; min-height:44px; gap:40px; padding:11px 18px; border:0; border-radius:10px; background:#35442d; color:#fff; font-size:12px; line-height:1.5; transition:background .22s; }
.interest-atlas .atlas-interest:hover { background:#465839; }
.interest-atlas button:focus-visible { outline:2px solid #66765a; outline-offset:3px; }
.interest-atlas .syria-proposal { margin:16px 0 0; padding:12px 14px; border:0; border-left:2px solid #929b83; border-radius:0; background:#e9ebdf; color:#4d5845; }
.interest-atlas .syria-proposal p { margin:0; font-size:11px; line-height:1.7; }
.interest-atlas .syria-proposal a { text-decoration:underline; text-underline-offset:3px; }
@media(min-width:761px) and (max-width:1000px) {
 .interest-atlas .atlas-browser { grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr); gap:28px; }
 .interest-atlas h2 { font-size:35px; }
}
@media(max-width:760px) {
 .interest-atlas { padding:38px 23px; }
 .interest-atlas .atlas-browser { grid-template-columns:1fr; gap:20px; }
 .interest-atlas h2 { font-size:34px; margin-bottom:13px; text-wrap:initial; }
 .interest-atlas .interest-description { max-width:none; font-size:12px; margin-bottom:16px; }
 .interest-atlas .atlas-nav { flex-direction:row; gap:18px; overflow-x:auto; padding:2px 3px 6px; scrollbar-width:thin; }
 .interest-atlas .atlas-nav button { flex:0 0 auto; width:auto; padding:10px 2px; min-height:44px; white-space:nowrap; font-size:13px; border-bottom:2px solid transparent; }
 .interest-atlas .atlas-nav button b { display:none; }
 .interest-atlas .atlas-nav button[aria-pressed=true] { background:transparent; border-bottom-color:#35442d; }
 .interest-atlas .atlas-scene { min-height:0; border-radius:17px; }
 .interest-atlas .interest-photo { height:290px; flex-basis:290px; }
 .interest-atlas .atlas-scene-bottom { padding:19px 20px 21px; }
 .interest-atlas .atlas-scene h3 { font-size:28px; }
 .interest-atlas #atlas-teaser { font-size:12px; }
 .interest-atlas .atlas-interest { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .interest-atlas .atlas-nav button,.interest-atlas .atlas-nav button b,.interest-atlas .atlas-interest,.interest-atlas #atlas-image { transition:none; }
}
.interest-atlas .syria-proposal a { display:inline; padding:0; border:0; color:#35442d; font-size:inherit; line-height:inherit; }

/* Traveller reflections: two full cards, with no offset rail padding. */
.traveller-reviews { padding:52px max(5vw,24px) 46px; overflow:hidden; }
.traveller-reviews .reviews-content { max-width:1120px; min-width:0; margin:auto; }
.traveller-reviews .reviews-heading { padding:0 0 25px; }
.traveller-reviews .reviews-heading h2 { font-size:clamp(32px,3.5vw,44px); line-height:1.15; letter-spacing:-1.4px; margin:0 0 11px; }
.traveller-reviews .reviews-heading p { font-size:13px; line-height:1.7; margin:0; }
.traveller-reviews #reviews-view { min-width:0; width:100%; }
.traveller-reviews .review-slides { box-sizing:border-box; display:flex; gap:20px; width:100%; max-width:100%; padding:0; margin:0; scroll-padding:0; scroll-snap-type:x mandatory; align-items:stretch; }
.traveller-reviews .review-slides .review-card { box-sizing:border-box; flex:0 0 calc((100% - 20px)/2); min-width:0; min-height:270px; margin:0; padding:26px 28px 23px; align-items:stretch; justify-content:flex-start; border:1px solid #29332012; border-radius:18px; background:#fcfaf5; text-align:left; scroll-snap-align:start; box-shadow:none; }
.traveller-reviews .review-slides .review-card::before { content:""; display:block; width:28px; height:2px; background:#a2ad94; margin-bottom:18px; flex-shrink:0; }
.traveller-reviews .review-slides .review-card blockquote { max-width:56ch; margin:0; font-size:15px; font-style:normal; line-height:1.7; letter-spacing:0; color:#35412f; overflow-wrap:break-word; }
.traveller-reviews .review-expand { align-self:flex-start; border:0; border-bottom:1px solid #69725f66; background:transparent; color:#536348; font:inherit; font-size:11px; line-height:1.6; padding:0 0 2px; margin:12px 0 0; cursor:pointer; }
.traveller-reviews .review-attribution { display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding-top:15px; margin-top:auto; border-top:0; }
.traveller-reviews .review-attribution::before { content:""; display:block; width:100%; height:1px; background:#29332012; margin:8px 0 9px; }
.traveller-reviews .review-attribution strong { font-size:13px; line-height:1.5; font-weight:600; }
.traveller-reviews .review-attribution span { font-size:11px; line-height:1.6; color:#737a68; }
.traveller-reviews .review-controls { gap:13px; margin-top:20px; }
.traveller-reviews .review-controls button { width:40px; height:40px; border:1px solid #29332033; border-radius:50%; background:transparent; font-size:18px; transition:background .22s,color .22s; }
.traveller-reviews .review-controls button:hover:enabled { background:#dfe4d5; }
.traveller-reviews #review-position { min-width:85px; font-size:11px; }
.traveller-reviews button:focus-visible,.traveller-reviews .review-card:focus-visible { outline:2px solid #66765a; outline-offset:-3px; }
@media(max-width:900px) {
 .traveller-reviews .review-slides .review-card { flex-basis:100%; min-height:260px; }
}
@media(max-width:760px) {
 .traveller-reviews { padding:38px 23px 35px; }
 .traveller-reviews .reviews-heading { padding-bottom:22px; }
 .traveller-reviews .reviews-heading h2 { font-size:33px; letter-spacing:-1px; }
 .traveller-reviews .reviews-heading p { font-size:12px; }
 .traveller-reviews .review-slides .review-card { padding:23px 22px 21px; border-radius:16px; }
 .traveller-reviews .review-slides .review-card blockquote { font-size:14px; line-height:1.7; }
 .traveller-reviews .review-expand { min-height:36px; padding:8px 0; }
}
@media(prefers-reduced-motion:reduce) { .traveller-reviews .review-controls button { transition:none; } }
.traveller-reviews .review-slides .review-card::before { position:static; opacity:1; }

/* Quoted traveller reflections. */
.traveller-reviews .review-slides .review-card::before { content:'“'; width:auto; height:33px; margin:0 0 8px; background:none; color:#8b997d; font:64px/1 Georgia,serif; }
.traveller-reviews .review-slides .review-card blockquote { font-style:italic; }
/* FAQ: measured columns and quiet, full-row controls. */
.sohba-editorial .faq-section { box-sizing:border-box; display:grid; grid-template-columns:minmax(0,.35fr) minmax(0,.65fr); gap:clamp(32px,5vw,64px); max-width:calc(1120px + max(10vw,48px)); margin:auto; padding:52px max(5vw,24px) 48px; align-items:start; }
.faq-section .eyebrow { margin:4px 0 15px; font-size:9px; letter-spacing:1.8px; color:#69725f; }
.sohba-editorial .faq-section h2 { font-size:clamp(32px,3.5vw,44px); line-height:1.13; letter-spacing:-1.4px; font-weight:500; margin:0 0 17px; max-width:330px; text-wrap:balance; }
.faq-section .faq-introduction { max-width:29ch; font-size:13px; line-height:1.8; color:#66705f; margin:0 0 20px; }
.faq-section .text-link { display:inline-flex; align-items:center; min-height:44px; border:0; border-bottom:1px solid #69725f77; background:none; padding:4px 0; font:inherit; font-size:13px; color:#35442d; cursor:pointer; }
.faq-section .faq-list { min-width:0; }
.faq-section .faq-list details { padding:0; border:0; border-top:1px solid #29332026; }
.faq-section .faq-list details:last-child { border-bottom:1px solid #29332026; }
.sohba-editorial .faq-section .faq-list summary { position:relative; display:block; padding:19px 34px 19px 0; margin:0; cursor:pointer; list-style:none; font-size:15px; line-height:1.5; font-weight:400; color:#35442d; transition:color .22s; }
.faq-section summary::-webkit-details-marker { display:none; }
.faq-section .faq-list summary::before,.faq-section .faq-list summary::after { content:""; position:absolute; right:2px; top:50%; width:12px; height:1px; background:#617455; border:0; transform:rotate(0); transition:transform .22s; }
.faq-section .faq-list summary::after { transform:rotate(90deg); }
.faq-section .faq-list details[open] summary::after { transform:rotate(0); }
.faq-section .faq-list summary:hover { color:#78856c; }
.faq-section .faq-list details p { max-width:65ch; margin:0 25px 20px 0; font-size:13px; line-height:1.85; color:#66705f; overflow-wrap:break-word; }
.faq-section summary:focus-visible,.faq-section button:focus-visible { outline:2px solid #66765a; outline-offset:3px; }
/* A complete, quiet conclusion to the homepage. */
.sohba-editorial .premium-footer { display:block; padding:44px max(5vw,24px) 24px; background:#e2e7d8; color:#35442d; border:0; }
.premium-footer .footer-main { display:grid; grid-template-columns:1.5fr 1fr 1fr; align-items:start; gap:48px; max-width:1120px; margin:auto; padding:0 0 30px; border:0; }
.premium-footer .footer-brand .logo { display:inline-block; width:155px; margin:0 0 15px; }
.premium-footer .footer-brand .logo img { display:block; width:100%; height:auto; }
.premium-footer .footer-brand p { font-size:14px; line-height:1.7; margin:0 0 10px; }
.premium-footer .footer-email { font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.premium-footer .footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.premium-footer .footer-column h3 { font-size:11px; font-weight:600; letter-spacing:1px; margin:2px 0 13px; }
.premium-footer .footer-column a { display:block; font-size:12px; line-height:1.6; padding:7px 0; color:#536048; text-decoration:none; }
.premium-footer a:hover { color:#263226; text-decoration:underline; text-underline-offset:4px; }
.premium-footer a:focus-visible { outline:2px solid #66765a; outline-offset:4px; }
.premium-footer .footer-legal { display:grid; grid-template-columns:1fr 1.6fr; gap:12px 30px; max-width:1120px; margin:auto; padding-top:20px; border-top:1px solid #35442d26; }
.premium-footer .footer-legal p { font-size:10px; line-height:1.8; color:#59654f; margin:0 0 4px; }
.premium-footer .footer-legal>a { font-size:10px; color:#59654f; }
@media(max-width:760px) {
 .sohba-editorial .faq-section { grid-template-columns:1fr; gap:25px; padding:38px 23px; }
 .sohba-editorial .faq-section h2 { font-size:34px; max-width:310px; }
 .faq-section .faq-introduction { max-width:36ch; font-size:12px; margin-bottom:13px; }
 .sohba-editorial .faq-section .faq-list summary { font-size:14px; padding:17px 30px 17px 0; }
 .faq-section .faq-list details p { margin-right:0; font-size:12px; }
 .sohba-editorial .premium-footer { padding:32px 23px 22px; }
 .premium-footer .footer-main { grid-template-columns:1fr 1fr; gap:27px 22px; padding-bottom:24px; }
 .premium-footer .footer-brand { grid-column:1/-1; }
 .premium-footer .footer-brand .logo { width:145px; margin-bottom:12px; }
 .premium-footer .footer-column a { min-height:38px; display:flex; align-items:center; }
 .premium-footer .footer-legal { grid-template-columns:1fr; gap:10px; padding-top:18px; }
}
@media(prefers-reduced-motion:reduce) { .faq-section .faq-list summary,.faq-section .faq-list summary::before,.faq-section .faq-list summary::after { transition:none; } }
.faq-section .text-link { margin:0; }
.premium-footer .footer-brand .logo { height:auto; max-height:none; overflow:visible; }
.premium-footer .footer-brand .logo img { position:static; transform:none; max-height:none; object-fit:contain; }

/* Keep a composed poster while playback loads or is blocked by the device. */
.package-hero .hero-visual { background:#172319 url('/assets/hero-video-poster.webp') center/cover no-repeat; }
.package-hero .hero-video { opacity:0; pointer-events:none; }
.package-hero.hero-is-playing .hero-video { opacity:1; }
/* Safari otherwise paints a large dark tap highlight over native summary rows. */
.faq-section .faq-list summary,.faq-section .faq-list details,.iraq-accordion summary { -webkit-tap-highlight-color:transparent; }

/* No play overlay while the device blocks initial playback; pause remains available once playing. */
.package-hero:not(.hero-is-playing) .hero-cycle-toggle { display:none; }
