/*
Theme Name: Campus International
Theme URI: https://campusinternational.ma/
Author: Campus International Maroc
Description: Trilingual (AR/FR/EN) custom theme for Campus International Maroc, built on the brand design system. All layout uses CSS logical properties so the Arabic RTL view mirrors without a separate stylesheet.
Version: 2.31.3
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: campus-international
Tags: education, multilingual, rtl-language-support, custom-colors, responsive
*/

/* ══════════════════════════════════════════════════════════════════
   TOKENS — from design-system/tokens/
   ══════════════════════════════════════════════════════════════════ */
:root{
  --plum:#531b4d;--plum-2:#6b2862;--plum-3:#762866;--plum-deep:#42133d;--plum-ink:#351331;
  --orange:#dd6530;--coral:#f07a32;--terracotta:#c95027;--yellow:#f7b719;
  --cream:#fff8ed;--ink:#351331;--muted:#75636f;--line:#eadde6;
  --tint-orange:#fff3e7;--tint-plum:#f6eaf4;--tint-yellow:#fff4d7;--tint-lilac:#f4e8f2;--tint-plum-2:#f7edf6;
  --surface-page:#fff;--surface-card:#fff;--surface-section:var(--cream);
  --text-body:var(--ink);--text-muted:var(--muted);--text-inverse:#fff;
  --text-on-brand:#f1dfea;--text-on-brand-dim:#dcc6d7;
  --accent:var(--orange);--accent-hover:var(--terracotta);--border:var(--line);
  --success:#269041;--star:#f5a623;--google-blue:#4285f4;--linkedin:#0a66c2;

  --grad-cta:linear-gradient(135deg,#dd6530,#f08a2d);
  --grad-brand:linear-gradient(140deg,#531b4d,#762866 64%,#92355b);
  --grad-metrics:linear-gradient(110deg,#dd6530,#f28a2f 60%,#f7b719);
  --grad-soon:linear-gradient(120deg,#531b4d 0,#742365 58%,#d85f32 100%);
  --grad-hero:linear-gradient(130deg,#fff5e8 0,#fffaf3 48%,#f3e7f1 100%);

  --font-body:Arial,"Helvetica Neue",Tahoma,sans-serif;
  --font-display:Georgia,"Times New Roman",serif;
  --text-hero:clamp(40px,5.2vw,76px);
  --text-h2:clamp(30px,3.5vw,52px);
  --text-h3:27px;--text-card-title:17px;
  --text-body-lg:19px;--text-body-md:15px;--text-body-sm:13px;
  --text-eyebrow:11px;
  --weight-heavy:900;--weight-bold:800;--weight-medium:700;
  --tracking-tight:-.045em;--tracking-eyebrow:.16em;
  --leading-heading:1.05;--leading-body:1.7;

  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:18px;--space-5:24px;
  --space-6:32px;--space-7:48px;--space-8:64px;
  --section-y:54px;--section-y-lg:105px;--section-x:7vw;
  --card-pad:20px;--card-pad-lg:28px;--gap-grid:14px;--gap-cards:18px;
  --control-h:52px;

  --r-pill:999px;--r-input:14px;--r-chip:12px;--r-card:18px;--r-card-lg:28px;
  --r-section:42px;--r-photo:22px;
  --shadow-cta:0 12px 28px rgba(221,101,48,.2);--shadow-cta-hover:0 17px 36px rgba(221,101,48,.27);
  --shadow-card:0 9px 24px rgba(83,27,77,.04);--shadow-card-hover:0 20px 45px rgba(83,27,77,.09);
  --shadow-float:0 24px 55px rgba(83,27,77,.16);
  --transition:.2s;--header-h:92px;
}

/* ══════════════════════════════════════════════════════════════════
   BASE
   ══════════════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box}
/* `hidden` must always win. Component rules like .ci-btn{display:inline-flex}
   otherwise override the browser's own [hidden] rule — which left the
   consultation form showing Back, Continue and Submit together on step 1. */
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-block-start:var(--header-h)}
body{
  margin:0;background:var(--surface-page);color:var(--text-body);
  font-family:var(--font-body);font-size:16px;line-height:var(--leading-body);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;transition:color var(--transition) ease}
a:hover{color:var(--accent-hover)}
em{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--accent)}
h1,h2,h3,h4{margin:0;line-height:var(--leading-heading);letter-spacing:var(--tracking-tight);font-weight:var(--weight-bold)}
p{margin:0}
button{font-family:inherit}
::selection{background:var(--yellow);color:var(--plum-ink)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Hidden by sliding up rather than sideways: a sideways offset lands on the
   scrollable side in RTL and gave Arabic pages ~10,000px of horizontal scroll. */
.skip-link{position:absolute;inset-block-start:0;inset-inline-start:0;z-index:100;background:var(--plum);color:#fff;padding:12px 20px;border-end-end-radius:var(--r-chip);transform:translateY(-120%);transition:transform .2s ease}
.skip-link:focus{transform:none;color:#fff}
/* Spam honeypot: clipped in place, never pushed off-screen. */
.ci-hp{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Shared atoms ---------------------------------------------------- */
.ci-section{padding-block:var(--section-y-lg);padding-inline:var(--section-x)}
.ci-eyebrow{
  display:inline-flex;align-items:center;color:var(--orange);
  font-size:var(--text-eyebrow);font-weight:var(--weight-heavy);
  letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;margin-block-end:16px;
}
.ci-eyebrow::before{content:"";display:inline-block;inline-size:24px;block-size:2px;background:currentColor;margin-inline-end:10px}
.ci-h2{font-size:var(--text-h2);color:var(--plum);max-width:18ch}
.ci-lead{color:var(--text-muted);font-size:var(--text-body-md);max-width:52ch;margin-block-start:14px}
.ci-head{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:end;margin-block-end:44px}
.ci-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--grad-cta);color:#fff;border:0;cursor:pointer;
  font-size:13px;font-weight:var(--weight-heavy);
  min-block-size:48px;padding-inline:26px;border-radius:var(--r-pill);
  box-shadow:var(--shadow-cta);transition:transform var(--transition) ease,box-shadow var(--transition) ease;
}
.ci-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-cta-hover);color:#fff}
.ci-btn--ghost{background:transparent;color:var(--plum);border:1.5px solid var(--plum);box-shadow:none}
.ci-btn--ghost:hover{background:var(--plum);color:#fff;box-shadow:none}
.ci-pill{
  display:inline-block;background:var(--tint-orange);color:var(--orange);
  border:1px solid rgba(221,101,48,.22);border-radius:var(--r-pill);
  padding:7px 15px;font-size:10.5px;font-weight:var(--weight-heavy);
  letter-spacing:.12em;text-transform:uppercase;
}
.ci-initial{
  display:inline-flex;align-items:center;justify-content:center;
  inline-size:38px;block-size:38px;border-radius:50%;
  background:var(--plum);color:#fff;font-size:12px;font-weight:var(--weight-heavy);
}
.ci-stars{color:var(--star);letter-spacing:2px}

/* ══════════════════════════════════════════════════════════════════
   NOTICE + HEADER
   ══════════════════════════════════════════════════════════════════ */
.ci-notice{background:var(--plum);color:var(--text-on-brand);font-size:12px;text-align:center;padding:9px 16px;font-weight:var(--weight-medium)}
.ci-header{
  position:sticky;top:0;z-index:40;background:#fff;block-size:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;
  padding-inline:5vw;border-block-end:1px solid var(--line);
}
.ci-logo{display:flex;align-items:center}
.ci-logo img{block-size:60px;width:auto;max-inline-size:none}
.ci-nav{display:flex;gap:26px;font-size:12px;font-weight:var(--weight-bold)}
.ci-nav a{color:var(--plum-ink)}
.ci-nav a:hover{color:var(--orange)}
.ci-head-actions{display:flex;align-items:center;gap:12px}
.ci-langs{display:flex;gap:4px}
.ci-langs a{
  font-size:10px;font-weight:var(--weight-heavy);letter-spacing:.08em;
  color:var(--muted);border:1px solid var(--line);border-radius:var(--r-pill);
  padding:7px 11px;transition:var(--transition) ease;
}
.ci-langs a:hover{border-color:var(--plum);color:var(--plum)}
.ci-langs a[aria-current="true"]{background:var(--plum);border-color:var(--plum);color:#fff}
.ci-burger{display:none;background:none;border:0;font-size:20px;color:var(--plum);cursor:pointer;padding:6px}

/* ══════════════════════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════════════════════ */
.ci-hero{
  position:relative;background:var(--grad-brand);color:#fff;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);
  align-items:center;gap:clamp(28px,4vw,64px);
  padding-inline:var(--section-x);padding-block:clamp(48px,5vw,76px);
}
.ci-hero::before{
  content:"";position:absolute;inline-size:520px;block-size:520px;border-radius:50%;
  background:radial-gradient(circle,#f08a2d40,transparent 68%);filter:blur(60px);
  inset-block-start:-140px;inset-inline-end:24%;pointer-events:none;
}
.ci-hero__bg{
  position:absolute;inset:0;
  inline-size:100%;block-size:100%;
  object-fit:cover;object-position:center bottom;
  opacity:.16;z-index:0;pointer-events:none;
}
/* The skyline is wide and short, so filling a tall hero crops its sides. This
   veil keeps the top of the image reading as brand gradient rather than as a
   scaled-up photo, and keeps the headline contrast where the text sits. */
.ci-hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(83,27,77,.62) 0,rgba(83,27,77,.12) 42%,rgba(53,19,49,.38) 100%);
}
.ci-hero__msg{position:relative;z-index:2;max-width:640px}
.ci-hero__pill{
  display:inline-block;background:#ffffff1a;border:1px solid #ffffff30;color:#fff;
  border-radius:var(--r-pill);padding:8px 16px;font-size:10.5px;
  font-weight:var(--weight-heavy);letter-spacing:.14em;text-transform:uppercase;margin-block-end:22px;
}
.ci-hero h1{font-size:var(--text-hero);color:#fff;margin-block-end:22px}
.ci-hero h1 em{color:var(--yellow)}
.ci-hero__body{color:var(--text-on-brand);font-size:var(--text-body-md);max-width:46ch;margin-block-end:30px}
.ci-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-block-end:34px}
.ci-hero__secondary{
  display:inline-flex;align-items:center;min-block-size:48px;padding-inline:24px;
  border:1.5px solid #ffffff4d;border-radius:var(--r-pill);color:#fff;
  font-size:13px;font-weight:var(--weight-heavy);transition:var(--transition) ease;
}
.ci-hero__secondary:hover{background:#ffffff1a;color:#fff}
.ci-hero__proof{display:flex;align-items:center;gap:14px}
.ci-hero__avatars{display:flex}
.ci-hero__avatars b{
  inline-size:36px;block-size:36px;border-radius:50%;background:var(--orange);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;
  border:2px solid var(--plum);margin-inline-start:-10px;
}
.ci-hero__avatars b:first-child{margin-inline-start:0}
.ci-hero__proof strong{display:block;font-size:13px;color:#fff}
.ci-hero__proof small{display:block;font-size:11px;color:var(--text-on-brand-dim)}
.ci-hero__proof .ci-count{font-family:var(--font-display);font-size:19px;color:var(--yellow)}

.ci-hero__form{
  position:relative;z-index:2;background:#fff;color:var(--ink);
  border-radius:var(--r-card-lg);
  padding:34px 32px;inline-size:100%;
  box-shadow:var(--shadow-float);
}
.ci-hero__form h2{font-size:22px;color:var(--plum);margin-block:16px 10px}
.ci-hero__form p{color:var(--muted);font-size:13.5px;margin-block-end:22px}
.ci-field{position:relative;margin-block-end:12px}
.ci-field input[type=text],.ci-field input[type=tel],.ci-field input[type=email]{
  inline-size:100%;block-size:var(--control-h);border:1px solid var(--line);
  border-radius:var(--r-input);padding-inline:16px 44px;font-size:14px;
  font-family:inherit;color:var(--ink);background:#fffdfb;
}
.ci-field input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(221,101,48,.12)}
.ci-field i{position:absolute;inset-inline-end:16px;inset-block-start:50%;transform:translateY(-50%);font-style:normal;color:var(--muted);font-size:14px}
.ci-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--muted);margin-block:6px 18px}
.ci-consent input{margin-block-start:3px;accent-color:var(--orange)}
.ci-hero__form .ci-btn{inline-size:100%}

/* ══════════════════════════════════════════════════════════════════
   PARTNERS MARQUEE
   ══════════════════════════════════════════════════════════════════ */
.ci-partners{padding-block:44px;background:#fff;border-block-end:1px solid var(--line);overflow:hidden}
.ci-partners__label{text-align:center;color:var(--muted);font-size:10.5px;font-weight:var(--weight-heavy);letter-spacing:.16em;text-transform:uppercase;margin-block-end:26px}
.ci-marquee{display:flex;gap:44px;width:max-content;animation:ci-scroll 42s linear infinite}
.ci-marquee img{block-size:56px;inline-size:56px;border-radius:50%;object-fit:cover;filter:grayscale(1);opacity:.65;transition:var(--transition) ease}
.ci-marquee img:hover{filter:none;opacity:1}
@keyframes ci-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ci-rtl .ci-marquee{animation-direction:reverse}

/* ══════════════════════════════════════════════════════════════════
   ROADMAP
   ══════════════════════════════════════════════════════════════════ */
.ci-roadmap{padding-block:var(--section-y-lg);padding-inline:var(--section-x);background:var(--tint-plum-2)}
.ci-steps{display:grid;grid-template-columns:repeat(4,1fr) auto;background:#fff;border-radius:var(--r-card-lg);overflow:hidden;box-shadow:var(--shadow-card);margin-block-start:40px}
.ci-steps__item{padding:26px 22px;border-inline-end:1px solid var(--line)}
.ci-steps__item span{font-family:var(--font-display);font-style:italic;font-size:12px;color:var(--orange);display:block}
.ci-steps__item i{display:block;font-style:normal;font-size:12.5px;font-weight:var(--weight-heavy);color:var(--plum);margin-block:7px 4px}
.ci-steps__item small{display:block;font-size:11px;color:var(--muted)}
.ci-steps__cta{display:flex;align-items:center;gap:12px;background:var(--grad-cta);color:#fff;padding-inline:28px;font-size:11.5px;font-weight:var(--weight-heavy)}
.ci-steps__cta:hover{color:#fff}

/* ══════════════════════════════════════════════════════════════════
   DESTINATIONS
   ══════════════════════════════════════════════════════════════════ */
.ci-destinations{background:var(--cream)}
.ci-dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-cards)}
.ci-dest{background:#fff;border-radius:var(--r-card-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease}
.ci-dest:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}
.ci-dest__media{position:relative;aspect-ratio:16/10;overflow:hidden}
.ci-dest__media img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform .5s ease}
.ci-dest:hover .ci-dest__media img{transform:scale(1.05)}
.ci-dest__media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#351331cc,transparent 55%)}
.ci-dest__rating{position:absolute;inset-block-start:14px;inset-inline-start:14px;z-index:2;background:#ffffffe8;border-radius:var(--r-pill);padding:5px 11px;font-size:10.5px;font-weight:var(--weight-bold);color:var(--plum-ink)}
.ci-dest__name{position:absolute;inset-block-end:14px;inset-inline-start:18px;z-index:2;color:#fff}
.ci-dest__name small{display:block;font-size:9.5px;font-weight:var(--weight-heavy);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow)}
.ci-dest__name strong{display:block;font-family:var(--font-display);font-size:26px;font-weight:400;line-height:1.15}
.ci-dest__name span{font-size:11px;color:#ffffffcc}
.ci-dest__body{padding:var(--card-pad)}
.ci-dest__stats{display:flex;gap:22px;margin-block-end:12px}
.ci-dest__stats b{display:block;font-family:var(--font-display);font-size:21px;font-weight:400;color:var(--plum)}
.ci-dest__stats small{font-size:10.5px;color:var(--muted)}
.ci-dest__deadline{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);margin-block-end:14px}
.ci-dest__deadline::before{content:"●";color:var(--success);font-size:9px}
.ci-dest__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-block-start:1px solid var(--line);padding-block-start:14px}
.ci-dest__price small{display:block;font-size:10px;color:var(--muted)}
.ci-dest__price b{font-family:var(--font-display);font-size:18px;font-weight:400;color:var(--plum)}
.ci-dest__link{font-size:11.5px;font-weight:var(--weight-heavy);color:var(--orange);display:inline-flex;align-items:center;gap:6px}

/* ══════════════════════════════════════════════════════════════════
   COMING SOON
   ══════════════════════════════════════════════════════════════════ */
.ci-soon{padding-inline:var(--section-x);padding-block:var(--section-y)}
.ci-soon__inner{background:var(--grad-soon);border-radius:var(--r-section);padding:clamp(32px,5vw,64px);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;position:relative;overflow:hidden}
.ci-soon__inner::before{content:"";position:absolute;inline-size:420px;block-size:420px;border-radius:50%;background:radial-gradient(circle,#f7b71944,transparent 70%);filter:blur(50px);inset-block-start:-160px;inset-inline-end:-110px}
.ci-soon__inner>*{position:relative;z-index:1}
.ci-soon .ci-eyebrow{color:var(--yellow)}
.ci-soon h2{font-size:var(--text-h2);color:#fff;margin-block-end:16px}
.ci-soon h2 em{color:var(--yellow)}
.ci-soon p{color:var(--text-on-brand);font-size:14px;max-width:54ch}
.ci-soon__list{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
.ci-soon__list span{background:#ffffff14;border:1px solid #ffffff26;border-radius:var(--r-pill);padding:7px 14px;font-size:11.5px}
.ci-soon__form{display:flex;gap:10px;flex-wrap:wrap}
.ci-soon__form input{flex:1 1 240px;block-size:48px;border:1px solid #ffffff33;background:#ffffff14;border-radius:var(--r-pill);padding-inline:20px;color:#fff;font-size:13px;font-family:inherit}
.ci-soon__form input::placeholder{color:#ffffff99}
.ci-soon__note{font-size:11px;color:var(--text-on-brand-dim);margin-block-start:12px}
.ci-soon__cards{display:grid;gap:12px}
.ci-soon__meta{font-size:11px;color:var(--text-on-brand-dim);margin-block-end:4px}
.ci-soon__card{display:flex;align-items:center;gap:14px;background:#ffffff14;border:1px solid #ffffff26;border-radius:var(--r-card);padding:14px 18px;backdrop-filter:blur(6px)}
.ci-soon__card b{inline-size:38px;block-size:38px;border-radius:50%;background:#ffffff26;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.ci-soon__card strong{display:block;font-size:13.5px}
.ci-soon__card small{display:block;font-size:11px;color:var(--text-on-brand-dim)}

/* ══════════════════════════════════════════════════════════════════
   WHY CHOOSE
   ══════════════════════════════════════════════════════════════════ */
.ci-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-cards)}
.ci-why__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card-lg);padding:var(--card-pad-lg);box-shadow:var(--shadow-card)}
.ci-why__card span{font-family:var(--font-display);font-size:30px;color:var(--orange);display:block;margin-block-end:12px}
.ci-why__card h3{font-size:15.5px;color:var(--plum);margin-block-end:9px;letter-spacing:-.02em}
.ci-why__card p{font-size:13px;color:var(--muted);line-height:1.75}

/* ══════════════════════════════════════════════════════════════════
   METRICS
   ══════════════════════════════════════════════════════════════════ */
.ci-metrics{background:var(--grad-metrics);color:#fff;padding-block:52px;padding-inline:var(--section-x);display:grid;grid-template-columns:repeat(4,1fr)}
.ci-metrics__item{display:flex;align-items:center;justify-content:center;gap:14px;border-inline-end:1px solid #ffffff55;padding-inline:10px}
.ci-metrics__item:last-child{border-inline-end:0}
.ci-metrics__item strong{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,5vw,62px);line-height:1}
.ci-metrics__item span{max-width:96px;font-size:10px;text-transform:uppercase;font-weight:var(--weight-heavy);line-height:1.5;letter-spacing:.06em}

/* ══════════════════════════════════════════════════════════════════
   PARENTS
   ══════════════════════════════════════════════════════════════════ */
.ci-parents{padding-inline:var(--section-x);padding-block:var(--section-y)}
.ci-parents__inner{background:var(--grad-brand);border-radius:var(--r-section);padding:clamp(32px,5vw,64px);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;overflow:hidden}
.ci-parents .ci-eyebrow{color:var(--yellow)}
.ci-parents h2{font-size:var(--text-h2);color:#fff;margin-block-end:16px}
.ci-parents h2 em{color:var(--yellow)}
.ci-parents p{color:var(--text-on-brand);font-size:14px}
.ci-check{list-style:none;padding:0;margin-block:22px;display:grid;gap:10px}
.ci-check li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text-on-brand)}
.ci-check li::before{content:"✓";color:var(--yellow);font-weight:var(--weight-heavy);flex:none}
.ci-parents__photo img{border-radius:var(--r-photo);inline-size:100%;object-fit:cover;aspect-ratio:4/3}

/* ══════════════════════════════════════════════════════════════════
   TEAM
   ══════════════════════════════════════════════════════════════════ */
.ci-team{background:var(--tint-lilac)}
.ci-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-cards)}
.ci-team__card{background:#fff;border-radius:var(--r-card-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease}
.ci-team__card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}
.ci-team__card img{aspect-ratio:1;object-fit:cover;inline-size:100%}
.ci-team__body{padding:var(--card-pad)}
.ci-team__body small{font-size:9.5px;font-weight:var(--weight-heavy);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.ci-team__body h3{font-size:16px;color:var(--plum);margin-block:7px 4px;letter-spacing:-.02em}
.ci-team__body p{font-size:12px;color:var(--muted)}

/* ══════════════════════════════════════════════════════════════════
   REVIEWS
   ══════════════════════════════════════════════════════════════════ */
.ci-reviews__head{display:flex;align-items:center;gap:18px;margin-block-end:34px;flex-wrap:wrap}
.ci-reviews__g{inline-size:46px;block-size:46px;border-radius:50%;background:#fff;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;color:var(--google-blue)}
.ci-reviews__score{font-family:var(--font-display);font-size:34px;color:var(--plum);line-height:1}
.ci-reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-cards)}
.ci-review{background:#fff;border:1px solid var(--line);border-radius:var(--r-card-lg);padding:var(--card-pad-lg);box-shadow:var(--shadow-card)}
.ci-review__quote{font-family:var(--font-display);font-style:italic;font-size:16px;color:var(--plum-ink);line-height:1.7;margin-block:12px 20px}
.ci-review__by{display:flex;align-items:center;gap:12px}
.ci-review__by strong{display:block;font-size:13.5px;color:var(--plum)}
.ci-review__by small{display:block;font-size:11px;color:var(--muted)}

/* ══════════════════════════════════════════════════════════════════
   FAQ
   ══════════════════════════════════════════════════════════════════ */
.ci-faq{background:var(--cream)}
.ci-faq__list{display:grid;gap:10px}
.ci-faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.ci-faq__q{
  inline-size:100%;display:flex;align-items:center;gap:16px;text-align:start;
  background:none;border:0;cursor:pointer;padding:20px 24px;
  font-size:14.5px;font-weight:var(--weight-bold);color:var(--plum);
}
.ci-faq__q span{font-family:var(--font-display);font-style:italic;color:var(--orange);font-size:13px;flex:none}
.ci-faq__q i{margin-inline-start:auto;font-style:normal;font-size:20px;color:var(--orange);line-height:1;flex:none}
.ci-faq__a{padding:0 24px 20px;font-size:13.5px;color:var(--muted);line-height:1.8;max-width:78ch}
.ci-faq__item[data-open="false"] .ci-faq__a{display:none}

/* ══════════════════════════════════════════════════════════════════
   CONSULTATION
   ══════════════════════════════════════════════════════════════════ */
.ci-cta{padding-inline:var(--section-x);padding-block:var(--section-y-lg);background:var(--grad-hero)}
.ci-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center}
.ci-cta h2{font-size:var(--text-h2);color:var(--plum);margin-block-end:16px}
.ci-cta__card{background:#fff;border-radius:var(--r-card-lg);padding:34px;box-shadow:var(--shadow-float)}
.ci-cta__steps{display:flex;gap:8px;margin-block-end:18px}
.ci-cta__steps b{inline-size:28px;block-size:28px;border-radius:50%;background:var(--line);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.ci-cta__steps b.is-active{background:var(--grad-cta);color:#fff}
.ci-cta__card h3{font-size:19px;color:var(--plum);margin-block:6px 20px}
.ci-label{display:block;font-size:11.5px;font-weight:var(--weight-bold);color:var(--plum);margin-block-end:7px}
.ci-select{inline-size:100%;block-size:var(--control-h);border:1px solid var(--line);border-radius:var(--r-input);padding-inline:16px;font-size:14px;font-family:inherit;color:var(--ink);background:#fffdfb;margin-block-end:16px}
.ci-select:focus{outline:none;border-color:var(--orange)}
.ci-check--light li{color:var(--muted)}
.ci-check--light li::before{color:var(--success)}

/* ══════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════ */

/* Sticky mobile CTA ---------------------------------------------- */
.ci-sticky{display:none;position:fixed;inset-inline:0;inset-block-end:0;z-index:50;background:#fff;border-block-start:1px solid var(--line);padding:10px 14px;gap:10px;box-shadow:0 -8px 24px rgba(53,19,49,.1)}
.ci-sticky a{flex:1;min-block-size:46px;font-size:12px}
.ci-sticky .ci-btn--ghost{flex:0 0 auto;padding-inline:18px}

/* ══════════════════════════════════════════════════════════════════
   ARABIC / RTL TYPOGRAPHY
   Georgia carries no Arabic glyphs and Arabic script has no italic
   form, so the display face and every slant are swapped out here.
   ══════════════════════════════════════════════════════════════════ */
.ci-lang-ar{
  --font-body:"Alexandria","Segoe UI",Tahoma,Arial,sans-serif;
  --font-display:"Alexandria","Segoe UI",Tahoma,Arial,sans-serif;
  --leading-heading:1.45;   /* 1.05 clips Arabic ascenders and dots */
  --leading-body:1.95;
  --tracking-tight:0;       /* negative tracking breaks Arabic joins */
  --tracking-eyebrow:.04em;
}

/* Never slant Arabic. */
.ci-lang-ar em,
.ci-lang-ar i,
.ci-lang-ar blockquote,
.ci-lang-ar .ci-review__quote,
.ci-lang-ar .ci-steps__item span,
.ci-lang-ar .ci-why__card span,
.ci-lang-ar .ci-faq__q span,
.ci-lang-ar .ci-hero__proof .ci-count{
  font-style:normal;
  font-family:var(--font-body);
}

/* The accent keeps its emphasis through weight and colour instead. */
.ci-lang-ar em{font-weight:800;color:var(--accent)}
.ci-lang-ar .ci-hero h1 em,
.ci-lang-ar .ci-soon h2 em,
.ci-lang-ar .ci-parents h2 em{color:var(--yellow)}

.ci-lang-ar h1,.ci-lang-ar h2,.ci-lang-ar h3,.ci-lang-ar .ci-h2{font-weight:800;letter-spacing:0}
.ci-lang-ar .ci-hero h1{font-size:clamp(32px,4.3vw,58px)}
.ci-lang-ar .ci-h2{font-size:clamp(26px,3vw,44px)}
.ci-lang-ar .ci-review__quote{font-size:15px;line-height:1.95}
.ci-lang-ar .ci-eyebrow{font-weight:800}

/* Numerals read better in the body face at full weight. */
.ci-lang-ar .ci-dest__name strong,
.ci-lang-ar .ci-metrics__item strong,
.ci-lang-ar .ci-reviews__score,
.ci-lang-ar .ci-dest__stats b,
.ci-lang-ar .ci-dest__price b{font-family:var(--font-body);font-weight:800}

/* Browsers force `direction: ltr` on tel / email / url inputs, which pulls the
   Arabic placeholder to the wrong side and under the field icon. Put the
   placeholder back on the document's side, then let the typed value run LTR
   again — a phone number still reads +212 664 …, just right-aligned. */
.ci-rtl .ci-field input,
.ci-rtl .ci-select,
.ci-rtl .ci-soon__form input{
  direction:rtl;
  text-align:right;
}
.ci-rtl .ci-field input[type=tel]:not(:placeholder-shown),
.ci-rtl .ci-field input[type=email]:not(:placeholder-shown),
.ci-rtl .ci-soon__form input[type=email]:not(:placeholder-shown){
  direction:ltr;
  text-align:right;
}

/* Direction-only adjustments that apply to any RTL language. */
.ci-rtl .ci-eyebrow{letter-spacing:.04em}
.ci-rtl h1,.ci-rtl .ci-h2,.ci-rtl h2,.ci-rtl h3{letter-spacing:0}

/* ══════════════════════════════════════════════════════════════════
   DESTINATION PAGE
   ══════════════════════════════════════════════════════════════════ */
.ci-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11.5px;color:var(--text-on-brand-dim);margin-block-end:18px}
.ci-crumbs a{color:var(--text-on-brand-dim)}
.ci-crumbs a:hover{color:#fff}

.ci-dhero h1{display:block}
.ci-dhero h1 em{color:var(--yellow);display:inline}
.ci-dhero__suffix{display:block;font-size:.42em;font-weight:var(--weight-medium);color:var(--text-on-brand);letter-spacing:0;margin-block-start:10px}
.ci-dhero .ci-hero__body{margin-block-end:14px}

.ci-dbadges{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin:26px 0 0}
.ci-dbadges li{display:flex;align-items:center;gap:11px;background:#ffffff14;border:1px solid #ffffff26;border-radius:var(--r-card);padding:11px 15px;font-size:12.5px;color:#fff}
.ci-dbadges b{font-size:16px;line-height:1;flex:none}

.ci-dstats{display:grid;gap:12px}
.ci-dstats>div{background:#ffffff14;border:1px solid #ffffff26;border-radius:var(--r-card);padding:18px 22px;backdrop-filter:blur(6px)}
.ci-dstats b{display:block;font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1;color:var(--yellow)}
.ci-dstats span{display:block;margin-block-start:7px;font-size:12px;color:var(--text-on-brand)}
.ci-lang-ar .ci-dstats b{font-family:var(--font-body);font-weight:800}

.ci-uni__card img{aspect-ratio:1;object-fit:cover;background:var(--tint-plum)}
.ci-uni__card .ci-team__body h3{margin-block-start:0}

.ci-guide__body{max-width:78ch;font-size:15.5px;line-height:1.95;color:var(--ink)}
.ci-guide__body h2{font-size:clamp(21px,2.4vw,30px);color:var(--plum);margin-block:38px 16px}
.ci-guide__body h3{font-size:18px;color:var(--plum-2);margin-block:30px 14px}
.ci-guide__body h4{font-size:16px;color:var(--plum-2);margin-block:26px 12px}
.ci-guide__body p{margin-block-end:20px;color:#4a3d46}
.ci-guide__body p+ul,.ci-guide__body p+ol{margin-block-start:-6px}
.ci-guide__body ul,.ci-guide__body ol{margin-block:0 18px;padding-inline-start:22px}
.ci-guide__body li{margin-block-end:8px}
.ci-guide__body a{text-decoration:underline;text-underline-offset:3px}
.ci-guide__body table{inline-size:100%;border-collapse:collapse;margin-block-end:20px;font-size:14px;display:block;overflow-x:auto}
.ci-guide__body th,.ci-guide__body td{border:1px solid var(--line);padding:10px 12px;text-align:start}
.ci-guide__body th{background:var(--tint-plum);color:var(--plum);font-weight:var(--weight-bold)}
.ci-guide__body strong{color:var(--plum)}

.ci-dest__media{display:block;position:relative}

/* ── Multi-step consultation ─────────────────────────────────── */
.ci-step{border:0;margin:0;padding:0;min-inline-size:0}
.ci-step[hidden]{display:none}
.ci-step__q{
  display:block;padding:0;margin-block:6px 18px;
  font-size:19px;font-weight:var(--weight-bold);color:var(--plum);line-height:1.5;
}
.ci-lang-ar .ci-step__q{font-weight:800}
.ci-step__nav{display:flex;gap:10px;margin-block-start:20px}
.ci-step__nav .ci-btn{flex:1}
.ci-step__nav .ci-btn--ghost{flex:0 0 auto;padding-inline:22px}
.ci-cta__steps b{transition:background var(--transition) ease,color var(--transition) ease}
.ci-textarea{
  inline-size:100%;border:1px solid var(--line);border-radius:var(--r-input);
  padding:14px 16px;font-size:14px;font-family:inherit;color:var(--ink);
  background:#fffdfb;resize:vertical;margin-block-end:16px;line-height:1.7;
}
.ci-textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(221,101,48,.12)}
.ci-rtl .ci-textarea{direction:rtl;text-align:right}

/* ══════════════════════════════════════════════════════════════════
   FORM SUCCESS / ERROR
   The form is replaced outright on success — a changed button label is too
   easy to miss, and people re-submit when they are not sure it worked.
   ══════════════════════════════════════════════════════════════════ */
.ci-form__done{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;
  padding:30px 24px;border-radius:var(--r-card);
  background:var(--success-bg,#e7f4e8);border:1px solid rgba(38,144,65,.25);
}
.ci-form__tick{
  display:inline-flex;align-items:center;justify-content:center;
  inline-size:46px;block-size:46px;border-radius:50%;
  background:var(--success);color:#fff;font-size:22px;line-height:1;
  animation:ci-pop .35s cubic-bezier(.2,.9,.3,1.3);
}
@keyframes ci-pop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
.ci-form__done strong{font-size:16px;color:#1d6b31;line-height:1.5}
.ci-form__done small{font-size:13px;color:#3c7a4b;line-height:1.7;max-width:34ch}

/* On the dark coming-soon slab the light-green card would fight the gradient. */
.ci-soon .ci-form__done{background:#ffffff1a;border-color:#ffffff33}
.ci-soon .ci-form__done strong{color:#fff}
.ci-soon .ci-form__done small{color:var(--text-on-brand)}
.ci-soon .ci-form__tick{background:var(--yellow);color:var(--plum-ink)}

.ci-form__error{
  margin-block:0 12px;padding:11px 14px;border-radius:var(--r-chip);
  background:rgba(201,80,39,.09);border:1px solid rgba(201,80,39,.28);
  color:var(--terracotta);font-size:12.5px;line-height:1.6;
}
.ci-soon .ci-form__error{background:#ffffff1f;border-color:#ffffff3d;color:#fff;flex:1 1 100%}
.ci-btn.is-busy{opacity:.65;cursor:progress}

/* ── Standard page hero ──────────────────────────────────────── */
.ci-page__hero{grid-template-columns:1fr;min-block-size:auto;padding-block:clamp(44px,5vw,72px)}
.ci-page__head{max-width:62ch}
.ci-page__head h1{font-size:clamp(32px,4.4vw,58px);margin-block-end:16px}
.ci-page__head .ci-btn{margin-block-start:12px}
.ci-page__body .ci-guide__body{max-width:78ch;margin-inline:auto}

/* ══════════════════════════════════════════════════════════════════
   DESTINATION GUIDE — sticky section nav + accordion + sticky sidebar
   ══════════════════════════════════════════════════════════════════ */
.ci-guide{padding-block:var(--section-y-lg) var(--section-y);padding-inline:var(--section-x);background:var(--cream)}
.ci-guide__intro{max-width:70ch;margin-block-end:32px}
.ci-guide__intro .ci-h2{margin-block-start:6px}
.ci-guide__intro .ci-lead{margin-block-start:12px}

/* Sticky pill nav. Horizontally scrollable so 20+ sections still work. */
.ci-guide__nav{
  position:sticky;inset-block-start:var(--header-h);z-index:12;
  margin-block-end:26px;padding-block:10px;
  background:color-mix(in srgb,var(--cream) 92%,transparent);
  backdrop-filter:blur(8px);
  border-block-end:1px solid var(--line);
}
.ci-guide__nav-track{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-block-end:4px}
.ci-guide__nav-track::-webkit-scrollbar{block-size:5px}
.ci-guide__nav-track::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.ci-guide__tab{
  flex:none;white-space:nowrap;
  font-size:12px;font-weight:var(--weight-bold);color:var(--muted);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);
  padding:9px 16px;transition:var(--transition) ease;
}
.ci-guide__tab:hover{border-color:var(--plum);color:var(--plum)}
.ci-guide__tab.is-active{background:var(--plum);border-color:var(--plum);color:#fff}

.ci-guide__layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.ci-guide__main{display:grid;gap:10px;min-inline-size:0}

/* Accordion */
.ci-acc{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;scroll-margin-block-start:calc(var(--header-h) + 78px)}
.ci-acc__h{margin:0;font-size:inherit;font-weight:inherit;letter-spacing:normal}
.ci-acc__q{
  inline-size:100%;display:flex;align-items:center;gap:14px;text-align:start;
  background:none;border:0;cursor:pointer;padding:20px 22px;
  font-family:inherit;font-size:15px;font-weight:var(--weight-bold);color:var(--plum);
  line-height:1.6;
  transition:background var(--transition) ease;
}
.ci-acc__q:hover{background:var(--tint-plum-2)}
.ci-acc__n{font-family:var(--font-display);font-style:italic;font-size:13px;color:var(--orange);flex:none}
.ci-lang-ar .ci-acc__n{font-family:var(--font-body);font-style:normal;font-weight:800}
.ci-acc__t{flex:1}
.ci-acc__q i{margin-inline-start:auto;font-style:normal;font-size:20px;line-height:1;color:var(--orange);flex:none}
.ci-acc__p{padding:24px 22px 26px}
.ci-acc[data-open="false"] .ci-acc__p{display:none}
.ci-acc[data-open="true"]{box-shadow:var(--shadow-card)}
/* Separate the heading from its body so the two do not read as one block. */
.ci-acc[data-open="true"] .ci-acc__q{border-block-end:1px solid var(--line)}
.ci-acc__p>:first-child{margin-block-start:0}
.ci-acc__p>:last-child{margin-block-end:0}

/* Sticky sidebar */
.ci-guide__side{position:sticky;inset-block-start:calc(var(--header-h) + 74px);display:grid;gap:14px}
.ci-side__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card-lg);padding:24px;box-shadow:var(--shadow-card)}
.ci-side__card h3{font-size:16px;color:var(--plum);line-height:1.55;margin-block-end:18px;padding-block-end:14px;border-block-end:1px solid var(--line)}
.ci-side__facts{margin:0;display:grid;gap:0}
.ci-side__facts>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:9px;border-block-end:1px solid var(--line)}
.ci-side__facts>div:last-child{border-block-end:0}
.ci-side__facts dt{font-size:12px;color:var(--muted)}
.ci-side__facts dd{margin:0;font-size:14px;font-weight:var(--weight-bold);color:var(--plum)}
.ci-side__card .ci-dest__deadline{margin-block-start:12px}
.ci-side__form h3{margin-block:16px 18px;font-size:15px;line-height:1.6}
.ci-side__form .ci-field{margin-block-end:14px}
.ci-side__form .ci-btn{margin-block-start:6px}
.ci-side__form .ci-field input{padding-inline:14px}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════ */
@media (max-width:1100px){
  .ci-guide__layout{grid-template-columns:1fr}
  .ci-guide__side{position:static}
  .ci-hero{grid-template-columns:1fr;padding-inline:var(--section-x);min-block-size:auto}
  .ci-hero__msg{padding-inline-end:0;margin-block-end:34px}
  .ci-hero__form{border-radius:var(--r-card-lg);margin-inline:0;inline-size:100%}
  .ci-dest-grid,.ci-why-grid,.ci-team-grid{grid-template-columns:1fr 1fr}
  .ci-soon__inner,.ci-parents__inner,.ci-cta__inner{grid-template-columns:minmax(0,1fr);gap:32px}
  .ci-steps{grid-template-columns:1fr 1fr}
  .ci-steps__cta{grid-column:1/-1;justify-content:center;min-block-size:64px}
}
/* Below 1280px the full menu cannot keep one line (French labels run long, and Contact joined it): use the menu button. */
@media (max-width:1280px){
  .ci-nav{display:none;position:absolute;inset-block-start:var(--header-h);inset-inline:0;background:#fff;flex-direction:column;gap:0;padding:20px 24px;box-shadow:var(--shadow-float);border-block-end:1px solid var(--line)}
  .ci-nav.is-open{display:flex}
  .ci-nav a{padding-block:12px;border-block-end:1px solid var(--line);font-size:14px}
  .ci-burger{display:block}
}
@media (max-width:860px){
  .ci-head-actions .ci-btn{display:none}
  .ci-metrics{grid-template-columns:1fr 1fr;gap:26px 0;padding-block:34px}
  .ci-metrics__item:nth-child(2){border-inline-end:0}
  .ci-reviews-grid{grid-template-columns:1fr}
  .ci-sticky{display:flex}
  body{padding-block-end:70px}
}
@media (max-width:560px){
  :root{--section-y-lg:64px;--section-y:40px;--section-x:20px;--header-h:74px}
  .ci-logo img{block-size:46px}
  .ci-dest-grid,.ci-why-grid,.ci-team-grid,.ci-steps{grid-template-columns:1fr}
  .ci-steps__item{border-inline-end:0;border-block-end:1px solid var(--line)}
  .ci-head{grid-template-columns:1fr;gap:14px}
  .ci-hero__form{padding:26px 22px}
  .ci-soon__inner,.ci-parents__inner{border-radius:28px}
  .ci-hero__actions{flex-direction:column;align-items:stretch}
  .ci-hero__actions .ci-btn,.ci-hero__secondary{inline-size:100%}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ══════════════════════════════════════════════════════════════════
   HOMEPAGE HERO — destination switcher (2026 redesign)
   Palette sampled from the Campus International Privé logo: orange →
   coral → pink → magenta → purple, on a navy ink.
   ══════════════════════════════════════════════════════════════════ */
:root{
  --ci2-orange:#f18711;--ci2-coral:#f33f29;--ci2-pink:#e00c5c;--ci2-magenta:#d90d90;--ci2-purple:#780abe;
  --ci2-navy:#0f1a2b;
  --ci2-grad:linear-gradient(120deg,#f18711 0%,#f33f29 26%,#e00c5c 52%,#d90d90 74%,#780abe 100%);
  /* Lifted stops for type on dark photography — the logo's true purple sinks
     into a dusk sky and stops reading. */
  --ci2-grad-text:linear-gradient(100deg,#ffb24d 0%,#ff6b4f 32%,#ff4f9d 64%,#d07dff 100%);
  --hx-title:clamp(34px,4.4vw,66px);
  --hx-pillar:clamp(22px,4.5vh,60px);
}

.ci-hx{
  position:relative;isolation:isolate;overflow:hidden;
  color:#fff;background:var(--ci2-navy);
  display:grid;
  min-block-size:max(680px,calc(100vh - var(--header-h) - 38px));
  min-block-size:max(680px,calc(100svh - var(--header-h) - 38px));
}

/* Background layers: crossfade, plus a slow settle-in zoom on the active one. */
.ci-hx__bgs{position:absolute;inset:0;z-index:-2}
.ci-hx__bg{position:absolute;inset:0;opacity:0;transition:opacity 1.1s cubic-bezier(.4,0,.2,1)}
.ci-hx__bg img{
  inline-size:100%;block-size:100%;object-fit:cover;object-position:center 62%;
  transform:scale(1.12);transition:transform 9s cubic-bezier(.2,.6,.2,1);
}
.ci-hx__bg.is-active{opacity:1}
.ci-hx__bg.is-active img{transform:scale(1)}

.ci-hx__veil{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(110% 55% at 50% 112%,rgba(120,10,190,.5),transparent 62%),
    linear-gradient(180deg,rgba(15,26,43,.8) 0%,rgba(15,26,43,.34) 32%,rgba(15,26,43,.14) 50%,rgba(15,26,43,.5) 76%,rgba(15,26,43,.92) 100%);
}

.ci-hx__inner{
  display:grid;grid-template-rows:1fr auto;
  inline-size:100%;max-inline-size:1320px;margin-inline:auto;
  padding-inline:var(--section-x);padding-block-start:calc(var(--hx-top,0px) + clamp(56px,8.5vh,110px));
}

/* Copy */
.ci-hx__copy{display:flex;flex-direction:column;align-items:center;text-align:center}
.ci-hx__title{
  margin:0;inline-size:100%;max-inline-size:30ch;
  /* No-JS fallback reservation; main.js replaces it with the measured height
     of the tallest headline so the cards never jump on a switch. */
  min-block-size:calc(var(--hx-title) * 1.25 * 2);
  display:flex;align-items:center;justify-content:center;
  font-size:var(--hx-title);font-weight:900;line-height:1.25;letter-spacing:-.025em;
  text-shadow:0 6px 34px rgba(15,26,43,.55);
  transition:opacity .28s ease,transform .28s ease,filter .28s ease;
}
.ci-hx__t{display:block;text-wrap:balance}
.ci-lang-ar .ci-hx{--hx-title:clamp(34px,4.2vw,64px)}
.ci-lang-ar .ci-hx__title{max-inline-size:30ch;letter-spacing:0;line-height:1.35;min-block-size:calc(var(--hx-title) * 1.35 * 2)}
.ci-hx__title.is-leaving{opacity:0;transform:translateY(-14px);filter:blur(6px)}

.ci-hx__w{
  display:inline-block;opacity:0;transform:translateY(.42em);filter:blur(8px);
  animation:ci-hx-word .75s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay:calc(var(--i,0) * 70ms + 80ms);
}
@keyframes ci-hx-word{to{opacity:1;transform:none;filter:blur(0)}}

/* Gradient word. text-shadow would paint over a background-clipped glyph, so
   the glow comes from drop-shadow instead. */
.ci-hx__grad{
  background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;
  color:transparent;text-shadow:none;
  filter:drop-shadow(0 6px 26px rgba(224,12,92,.4));
  padding-block-end:.06em;
}
.ci-hx__grad{animation-name:ci-hx-word-grad}
@keyframes ci-hx-word-grad{
  from{opacity:0;transform:translateY(.42em)}
  to{opacity:1;transform:none;filter:drop-shadow(0 6px 26px rgba(224,12,92,.4))}
}

.ci-hx__sub{
  margin:16px 0 0;font-size:clamp(17px,1.7vw,24px);font-weight:500;
  color:rgba(255,255,255,.9);text-shadow:0 2px 18px rgba(15,26,43,.6);
  transition:opacity .28s ease;
}
.ci-hx__sub.is-leaving{opacity:0}

.ci-hx__ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-block-start:28px}
.ci-hx__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-block-size:54px;padding-inline:30px;border-radius:999px;border:0;
  font-size:15px;font-weight:800;color:#fff;
  background:var(--ci2-grad);background-size:170% 100%;background-position:0 0;
  box-shadow:0 16px 36px -12px rgba(224,12,92,.7);
  transition:background-position .55s ease,transform .2s ease,box-shadow .2s ease;
}
.ci-hx__btn:hover{color:#fff;background-position:100% 0;transform:translateY(-2px);box-shadow:0 22px 44px -12px rgba(224,12,92,.8)}
.ci-hx__btn--ghost{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.38);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none;
}
.ci-hx__btn--ghost:hover{background:rgba(255,255,255,.18);box-shadow:none}
.ci-hx__btn[hidden]{display:none}

/* Cards */
.ci-hx__cards{
  display:grid;grid-template-columns:repeat(var(--hx-n,4),minmax(0,200px));justify-content:center;
  gap:clamp(14px,1.8vw,28px);align-items:end;
  padding-block:clamp(26px,5vh,56px) var(--hx-pillar);
}
.ci-hx__card{
  position:relative;display:flex;flex-direction:column;gap:12px;
  padding:10px 10px 16px;border-radius:24px;cursor:pointer;
  font:inherit;color:#fff;text-align:center;
  border:2px solid rgba(255,255,255,.24);
  background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.06));
  -webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 20px 44px -20px rgba(15,26,43,.8);
  /* Rise in, then float. Rise animates `translate`, float animates `transform`,
     and hover/active use `scale`, so the three compose instead of fighting. */
  animation:ci-hx-rise .9s cubic-bezier(.2,.8,.2,1) both,ci-hx-float 6.5s ease-in-out infinite;
  animation-delay:calc(.35s + var(--i,0) * 90ms),calc(var(--i,0) * -1.6s);
  transition:scale .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease,box-shadow .3s ease,border-color .3s ease;
}
/* Gentle arc, like the reference: ends sit lowest, the centre highest. */
.ci-hx__card:first-child,.ci-hx__card:last-child{margin-block-start:32px}
.ci-hx__card:nth-child(2):nth-last-child(n+4),.ci-hx__card:nth-last-child(2):nth-child(n+4){margin-block-start:12px}
@keyframes ci-hx-rise{from{opacity:0;translate:0 48px}to{opacity:1;translate:0 0}}
@keyframes ci-hx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Glass light-pillar falling from each card to the bottom edge. */
.ci-hx__card::after{
  content:"";position:absolute;inset-inline:16%;inset-block-start:calc(100% + 2px);
  block-size:60vh;border-radius:0 0 20px 20px;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,0) 70%);
  transition:background .4s ease;
}

.ci-hx__card-img{display:block;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.08)}
.ci-hx__card-img img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.ci-hx__card-name{font-size:17px;font-weight:800;line-height:1.3;text-shadow:0 2px 12px rgba(15,26,43,.5)}

.ci-hx__card:hover{scale:1.03;border-color:rgba(255,255,255,.45)}
.ci-hx__card:hover .ci-hx__card-img img{transform:scale(1.07)}
.ci-hx__card:focus-visible{outline:3px solid #fff;outline-offset:4px}

.ci-hx__card[aria-pressed="true"]{
  scale:1.07;border-color:transparent;
  background:
    linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.1)) padding-box,
    var(--ci2-grad) border-box;
  box-shadow:0 26px 64px -18px rgba(224,12,92,.7);
}
.ci-hx__card[aria-pressed="true"]::after{background:linear-gradient(180deg,rgba(255,79,157,.36),rgba(255,79,157,0) 70%)}
.ci-hx__cards.has-active .ci-hx__card:not([aria-pressed="true"]){opacity:.7}
.ci-hx__cards.has-active .ci-hx__card:not([aria-pressed="true"]):hover{opacity:1}

/* Short laptop screens: keep the cards above the fold. */
@media (min-width:821px) and (max-height:820px){
  .ci-hx,.ci-lang-ar .ci-hx{--hx-title:clamp(30px,3.6vw,50px)}
  .ci-hx__inner{padding-block-start:calc(var(--hx-top,0px) + 68px)}
  .ci-hx__sub{margin-block-start:10px;font-size:clamp(16px,1.4vw,20px)}
  .ci-hx__ctas{margin-block-start:18px}
  .ci-hx__btn{min-block-size:48px}
  .ci-hx__cards{grid-template-columns:repeat(var(--hx-n,4),minmax(0,176px));padding-block-start:22px}
  .ci-hx__card-img{aspect-ratio:1/1}
  .ci-hx__card:first-child,.ci-hx__card:last-child{margin-block-start:22px}
  .ci-hx__card:nth-child(2):nth-last-child(n+4),.ci-hx__card:nth-last-child(2):nth-child(n+4){margin-block-start:8px}
}

/* Very short screens (1366×768 laptops leave ~660px of page): tighter still. */
@media (min-width:821px) and (max-height:700px){
  .ci-hx,.ci-lang-ar .ci-hx{--hx-title:clamp(28px,3.2vw,44px)}
  .ci-hx__inner{padding-block-start:calc(var(--hx-top,0px) + 38px)}
  .ci-hx__sub{margin-block-start:8px}
  .ci-hx__ctas{margin-block-start:14px}
  .ci-hx__cards{grid-template-columns:repeat(var(--hx-n,4),minmax(0,160px));padding-block-start:16px}
  .ci-hx__card:first-child,.ci-hx__card:last-child{margin-block-start:14px}
  .ci-hx__card:nth-child(2):nth-last-child(n+4),.ci-hx__card:nth-last-child(2):nth-child(n+4){margin-block-start:5px}
}

/* Tablet */
@media (max-width:1100px){
  .ci-hx__cards{grid-template-columns:repeat(var(--hx-n,4),minmax(0,165px))}
  .ci-hx__card-name{font-size:15px}
}

/* Phones: 2×2 grid, landscape thumbs, no arc / pillars / float. */
@media (max-width:820px){
  :root{--hx-title:clamp(32px,8.4vw,48px)}
  .ci-hx{min-block-size:auto}
  .ci-hx__inner{padding-block-start:calc(var(--hx-top,0px) + 60px)}
  .ci-hx__title{min-block-size:calc(var(--hx-title) * 1.3 * 3)}
  .ci-lang-ar .ci-hx__title{min-block-size:calc(var(--hx-title) * 1.4 * 3)}
  .ci-hx__cards{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:32px 40px;align-items:stretch}
  .ci-hx__card{animation:ci-hx-rise .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.2s + var(--i,0) * 70ms);padding:8px 8px 12px;border-radius:20px;gap:9px}
  .ci-hx__cards .ci-hx__card{margin-block-start:0}
  .ci-hx__card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;inline-size:calc(50% - 8px)}
  .ci-hx__card::after{display:none}
  .ci-hx__card-img{aspect-ratio:16/10;border-radius:13px}
  .ci-hx__card-name{font-size:15px}
}
@media (max-width:560px){
  .ci-hx__ctas{flex-direction:column;align-self:stretch}
  .ci-hx__btn{inline-size:100%}
}

@media (prefers-reduced-motion:reduce){
  .ci-hx__bg img{transform:none;transition:none}
  .ci-hx__bg{transition-duration:.2s}
  .ci-hx__w,.ci-hx__card{animation:none;opacity:1;transform:none;filter:none;translate:none}
}

/* ══════════════════════════════════════════════════════════════════
   OVERLAY HEADER — homepage
   No sticky white bar: the notice strip, logo and menu float in white over
   the hero, and the background runs edge to edge from the very top.
   ══════════════════════════════════════════════════════════════════ */
.ci-overlay-header{
  position:relative;                 /* anchors .ci-top below the WP admin bar */
  --hx-top:calc(var(--header-h) + 38px);
}
html:has(> body.ci-overlay-header){scroll-padding-block-start:0}

.ci-overlay-header .ci-top{position:absolute;inset-inline:0;inset-block-start:0;z-index:40}
.ci-overlay-header .ci-notice{
  background:rgba(15,26,43,.36);color:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-block-end:1px solid rgba(255,255,255,.1);
}
.ci-overlay-header .ci-header{
  position:relative;background:transparent;
  border-block-end:1px solid rgba(255,255,255,.14);
}
.ci-overlay-header .ci-logo img{filter:drop-shadow(0 2px 14px rgba(15,26,43,.35))}

.ci-overlay-header .ci-nav a{position:relative;color:#fff;text-shadow:0 1px 12px rgba(15,26,43,.5)}
.ci-overlay-header .ci-nav a::after{
  content:"";position:absolute;inset-inline:0;inset-block-end:-7px;block-size:2px;border-radius:2px;
  background:var(--ci2-grad);transform:scaleX(0);transition:transform .25s ease;
}
.ci-overlay-header .ci-nav a:hover{color:#fff}
.ci-overlay-header .ci-nav a:hover::after,
.ci-overlay-header .ci-nav a[aria-current="page"]::after{transform:scaleX(1)}

.ci-overlay-header .ci-langs a{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06)}
.ci-overlay-header .ci-langs a:hover{color:#fff;border-color:#fff}
.ci-overlay-header .ci-langs a[aria-current="true"]{background:#fff;border-color:#fff;color:var(--ci2-navy)}

.ci-overlay-header .ci-head-actions .ci-btn{
  background:var(--ci2-grad);background-size:170% 100%;
  box-shadow:0 12px 28px -10px rgba(224,12,92,.65);
  transition:background-position .55s ease,transform .2s ease,box-shadow .2s ease;
}
.ci-overlay-header .ci-head-actions .ci-btn:hover{background-position:100% 0}
.ci-overlay-header .ci-burger{color:#fff}

/* The hero now owns the full viewport, header included. */
.ci-overlay-header .ci-hx{min-block-size:max(600px,100vh);min-block-size:max(600px,100svh)}

/* Phones: the opened menu needs its own dark panel, or white links vanish. */
@media (max-width:1280px){
  .ci-overlay-header .ci-nav{
    background:rgba(15,26,43,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border-block-end-color:rgba(255,255,255,.12);
  }
  .ci-overlay-header .ci-nav a{border-block-end-color:rgba(255,255,255,.1);text-shadow:none}
  .ci-overlay-header .ci-nav a::after{display:none}
}
@media (max-width:820px){
  .ci-overlay-header .ci-hx{min-block-size:auto}
}

/* Very wide screens crop the default image so the student's head rises behind
   the button; frame it a little lower there. */
@media (min-aspect-ratio:2/1){
  .ci-hx__bg[data-key="default"] img{object-position:center 46%}
}

/* ══════════════════════════════════════════════════════════════════
   HERO — handwritten notes
   White marker-style notes in the side gutters. Ruqaa for Arabic (the
   everyday handwritten script), Caveat for French/English. Each stroke
   draws itself on after the note appears, pointing toward the centre.
   ══════════════════════════════════════════════════════════════════ */
.ci-hx__note{
  position:absolute;z-index:1;pointer-events:none;color:#fff;
  display:flex;flex-direction:column;align-items:center;gap:4px;
}
.ci-hx__note-text{
  display:flex;flex-direction:column;align-items:center;
  font-family:"Caveat","Segoe Print","Bradley Hand",cursive;font-weight:600;
  font-size:clamp(25px,2.1vw,36px);line-height:1.05;white-space:nowrap;
  text-shadow:0 2px 16px rgba(15,26,43,.6);
  opacity:0;animation:ci-hx-note-in .8s cubic-bezier(.2,.8,.2,1) forwards;
}
.ci-lang-ar .ci-hx__note-text{
  font-family:"Aref Ruqaa","Alexandria",serif;font-weight:700;
  font-size:clamp(24px,1.95vw,34px);line-height:1.4;
}
@keyframes ci-hx-note-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Top note sits on the far side at headline height; the second sits on the
   near side beside the cards — as in the concept, mirrored for LTR. */
.ci-hx__note--a{
  inset-inline-end:clamp(28px,5vw,120px);
  inset-block-start:calc(var(--hx-top,0px) + clamp(18px,4.5vh,60px));
  transform:rotate(-8deg);
}
.ci-hx__note--b{
  inset-inline-start:clamp(24px,4.5vw,110px);
  inset-block-end:clamp(110px,23vh,250px);
  transform:rotate(-6deg);
}
.ci-hx__note--a .ci-hx__note-text{animation-delay:1s}
.ci-hx__note--b .ci-hx__note-text{animation-delay:1.35s}

.ci-hx__scribble{display:block;inline-size:clamp(108px,8.6vw,150px);block-size:auto;overflow:visible}
.ci-hx__scribble path{
  stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1;
  animation:ci-hx-draw .9s cubic-bezier(.6,0,.2,1) forwards;
}
.ci-hx__scribble--arrow path{stroke:#fff}
.ci-hx__scribble--underline path{stroke-width:3.4}
.ci-hx__note--a .ci-hx__scribble path{animation-delay:1.35s}
.ci-hx__note--a .ci-hx__scribble-head{animation-delay:2.15s;animation-duration:.35s}
.ci-hx__note--b .ci-hx__scribble path{animation-delay:1.7s}
.ci-hx__note--b .ci-hx__scribble-head{animation-delay:2.5s;animation-duration:.35s}
@keyframes ci-hx-draw{to{stroke-dashoffset:0}}

/* Point every stroke toward the centre whichever way the page reads. */
.ci-rtl .ci-hx__scribble--arrow,
.ci-ltr .ci-hx__scribble--underline{transform:scaleX(-1)}

/* The notes need side gutters wider than themselves; below this the cards
   and headline take the width and the notes would collide with them. */
@media (max-width:1359px){.ci-hx__note{display:none}}

@media (prefers-reduced-motion:reduce){
  .ci-hx__note-text{animation:none;opacity:1}
  .ci-hx__scribble path{animation:none;stroke-dashoffset:0}
}

/* ══════════════════════════════════════════════════════════════════
   JOURNEY STEPS + PARTNER UNIVERSITIES — section after the hero
   ══════════════════════════════════════════════════════════════════ */
.ci-jr{
  position:relative;overflow:hidden;isolation:isolate;
  padding-block:clamp(56px,7vw,100px) clamp(48px,6vw,84px);padding-inline:var(--section-x);
  background:linear-gradient(180deg,#faf6fc 0%,#fff 52%,#fbf8fd 100%);
}
.ci-jr::before,.ci-jr::after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.ci-jr::before{inline-size:560px;block-size:560px;inset-block-start:-220px;inset-inline-end:-180px;background:radial-gradient(circle,rgba(224,12,92,.08),transparent 66%)}
.ci-jr::after{inline-size:520px;block-size:520px;inset-block-end:-200px;inset-inline-start:-180px;background:radial-gradient(circle,rgba(120,10,190,.07),transparent 66%)}

.ci-jr__head{text-align:center;max-inline-size:760px;margin-inline:auto;margin-block-end:clamp(34px,3.6vw,52px)}
.ci-jr__title{margin:0;color:var(--ci2-navy);font-size:clamp(26px,2.6vw,40px);font-weight:800;line-height:1.35;letter-spacing:-.01em}
.ci-lang-ar .ci-jr__title{letter-spacing:0;font-weight:800}
.ci-jr__title em{font-style:normal;background:var(--ci2-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-jr__title--sm{font-size:clamp(23px,2.2vw,34px)}
.ci-jr__sub{margin:10px 0 0;color:#5b6475;font-size:clamp(15px,1.2vw,17px);line-height:1.75}

/* Steps */
.ci-jr__steps{
  --jr-gap:clamp(22px,2.6vw,40px);
  list-style:none;margin:0 auto;padding:0;max-inline-size:1240px;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--jr-gap);
}
.ci-jr__step{
  position:relative;background:#fff;border-radius:24px;padding:12px 12px 22px;
  border:1px solid rgba(15,26,43,.05);
  box-shadow:0 18px 44px -24px rgba(15,26,43,.28),0 2px 6px rgba(15,26,43,.04);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;
}
.ci-jr__step:hover{transform:translateY(-6px);box-shadow:0 28px 60px -26px rgba(224,12,92,.32),0 2px 6px rgba(15,26,43,.05)}

/* Gradient step number on the leading top corner. */
.ci-jr__num{
  position:absolute;z-index:3;inset-block-start:-14px;inset-inline-start:-12px;
  inline-size:40px;block-size:40px;border-radius:50%;display:grid;place-items:center;
  background:var(--ci2-grad);color:#fff;font-weight:800;font-size:16px;line-height:1;
  box-shadow:0 10px 22px -8px rgba(224,12,92,.7),0 0 0 4px #fff;
}

.ci-jr__media{position:relative;border-radius:18px;overflow:hidden;isolation:isolate}
.ci-jr__media img{display:block;inline-size:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.ci-jr__step:hover .ci-jr__media img{transform:scale(1.05)}

/* Line icon in a white tile on the trailing top corner. */
.ci-jr__icon{
  position:absolute;z-index:2;inset-block-start:12px;inset-inline-end:12px;
  inline-size:50px;block-size:50px;border-radius:16px;background:#fff;
  display:grid;place-items:center;box-shadow:0 8px 20px -10px rgba(15,26,43,.4);
}
.ci-jr__icon svg{inline-size:27px;block-size:27px}

/* Title in a white tab notched into the photo's leading bottom corner. The two
   concave fillets are radial gradients; their centre flips with direction. */
.ci-jr__name{
  position:absolute;z-index:2;inset-block-end:0;inset-inline-start:0;margin:0;
  background:#fff;padding-block:10px 0;padding-inline:4px 20px;
  border-start-end-radius:18px;
  font-size:clamp(18px,1.5vw,22px);font-weight:800;color:var(--ci2-navy);line-height:1.3;
}
.ci-jr__name::before,.ci-jr__name::after{
  content:"";position:absolute;inline-size:18px;block-size:18px;pointer-events:none;
  background:radial-gradient(circle at 100% 0,transparent 17.5px,#fff 18px);
}
.ci-jr__name::before{inset-inline-start:0;inset-block-end:100%}
.ci-jr__name::after{inset-inline-start:100%;inset-block-end:0}
.ci-rtl .ci-jr__name::before,.ci-rtl .ci-jr__name::after{background:radial-gradient(circle at 0 0,transparent 17.5px,#fff 18px)}

.ci-jr__text{margin:16px 6px 0;color:#5b6475;font-size:14.5px;line-height:1.85}

/* Diamond connector in the gap after each step. */
.ci-jr__step:not(:last-child)::after{
  content:"";position:absolute;z-index:3;inset-block-start:30%;
  inset-inline-end:calc(var(--jr-gap) / -2 - 10px);
  inline-size:18px;block-size:18px;border-radius:4px;transform:rotate(45deg);
  border:2px solid transparent;
  background:linear-gradient(#fff,#fff) padding-box,var(--ci2-grad) border-box;
  box-shadow:0 4px 12px -4px rgba(241,135,17,.55);
}

/* Partner universities: a slow continuous strip that pauses on hover. */
/* The partner strip opens the section; the steps follow it. */
.ci-jr__unis{margin-block-end:clamp(60px,6.5vw,96px)}
.ci-unis{
  max-inline-size:1240px;margin-inline:auto;overflow:hidden;padding-block:6px 16px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.ci-unis__track{list-style:none;margin:0;padding:0;display:flex;inline-size:max-content;animation:ci-unis-ltr 64s linear infinite}
/* RTL lays the strip out from the right, so it must travel the other way. */
.ci-rtl .ci-unis__track{animation-name:ci-unis-rtl}
.ci-unis:hover .ci-unis__track{animation-play-state:paused}
@keyframes ci-unis-ltr{to{transform:translateX(-50%)}}
@keyframes ci-unis-rtl{to{transform:translateX(50%)}}
/* Spacing via margin, not gap: half the track must equal one copy exactly. */
.ci-unis__card{
  flex:none;display:flex;align-items:center;gap:12px;
  inline-size:250px;margin-inline-end:16px;padding:14px 18px;
  background:#fff;border-radius:18px;border:1px solid rgba(15,26,43,.07);
  box-shadow:0 10px 26px -18px rgba(15,26,43,.3);
}
.ci-unis__card img{inline-size:56px;block-size:56px;border-radius:50%;object-fit:cover;flex:none;background:#f4f1f7}
.ci-unis__card span{font-size:13.5px;font-weight:700;color:var(--ci2-navy);line-height:1.4}

@media (max-width:1100px){
  .ci-jr__steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}
  .ci-jr__step::after{display:none}
}
@media (max-width:620px){
  .ci-jr__steps{grid-template-columns:minmax(0,1fr)}
  .ci-unis__card{inline-size:220px;padding:12px 14px}
}
@media (prefers-reduced-motion:reduce){
  .ci-unis__track{animation:none}
  .ci-unis{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .ci-jr__step,.ci-jr__media img{transition:none}
}

/* ══════════════════════════════════════════════════════════════════
   TOP DESTINATIONS + STUDENT STORIES — after the journey section
   ══════════════════════════════════════════════════════════════════ */
.ci-td,.ci-st{position:relative;overflow:hidden;isolation:isolate;padding-inline:var(--section-x)}
.ci-td{
  padding-block:clamp(56px,6.5vw,96px) clamp(52px,6vw,88px);
  background:
    radial-gradient(48% 42% at 100% 0,rgba(224,12,92,.09),transparent 70%),
    radial-gradient(44% 40% at 0 100%,rgba(120,10,190,.07),transparent 70%),
    linear-gradient(180deg,#fdf2f7 0%,#fbf6fc 60%,#fff 100%);
}

.ci-td__grid{
  list-style:none;margin:0 auto;padding:0;max-inline-size:1320px;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,1.5vw,24px);
}

/* Each column takes the next step of the logo gradient. -ink passes AA on -bg. */
.ci-td__card{
  --td-bg:#fde7ef;--td-ink:#c10a50;
  position:relative;display:flex;flex-direction:column;
  background:#fff;border-radius:22px;padding:10px;
  border:1px solid rgba(15,26,43,.05);
  box-shadow:0 18px 44px -26px rgba(15,26,43,.3),0 2px 6px rgba(15,26,43,.04);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;
}
.ci-td__card:nth-child(5n+2){--td-bg:#fef0e1;--td-ink:#a35400}
.ci-td__card:nth-child(5n+3){--td-bg:#f1e7fa;--td-ink:#6a0aa8}
.ci-td__card:nth-child(5n+4){--td-bg:#feebe8;--td-ink:#bc2817}
.ci-td__card:nth-child(5n+5){--td-bg:#fbe5f3;--td-ink:#a20a6a}
.ci-td__card:hover{transform:translateY(-6px);box-shadow:0 28px 60px -28px rgba(224,12,92,.34),0 2px 6px rgba(15,26,43,.05)}

.ci-td__media{border-radius:16px;overflow:hidden;isolation:isolate;background:#2b1842}
.ci-td__media img{display:block;inline-size:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 60%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.ci-td__card:hover .ci-td__media img{transform:scale(1.06)}

.ci-td__body{display:flex;flex-direction:column;flex:1;padding:16px 8px 4px}
.ci-td__name{display:flex;align-items:center;gap:10px;margin:0;color:var(--ci2-navy);font-size:clamp(17px,1.3vw,20px);font-weight:800;line-height:1.35}
.ci-flag{display:block;flex:none;inline-size:30px;block-size:20px;border-radius:4px;box-shadow:0 0 0 1px rgba(15,26,43,.08),0 3px 8px -3px rgba(15,26,43,.35)}
.ci-td__text{margin:10px 0 16px;color:#5b6475;font-size:14px;line-height:1.8}

.ci-td__cta{
  margin-block-start:auto;display:flex;align-items:center;justify-content:center;gap:8px;
  min-block-size:46px;padding:10px 14px;border-radius:14px;
  background:var(--td-bg);color:var(--td-ink);font-size:14.5px;font-weight:700;line-height:1.3;text-align:center;text-decoration:none;
  transition:background-color .25s ease,color .25s ease;
}
/* One link per card, stretched over the whole card. */
.ci-td__cta::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.ci-td__card .ci-td__cta::after{border-radius:22px}
.ci-td__cta svg{inline-size:16px;block-size:16px;flex:none;transition:transform .25s ease}
.ci-rtl .ci-td__cta svg{transform:scaleX(-1)}
.ci-td__card:hover .ci-td__cta{background:var(--td-ink);color:#fff}
.ci-td__card:hover .ci-td__cta svg{transform:translate(2px,-2px)}
.ci-rtl .ci-td__card:hover .ci-td__cta svg{transform:scaleX(-1) translate(2px,-2px)}
.ci-td__cta:focus-visible{outline:3px solid var(--td-ink);outline-offset:3px}

/* Step buttons only exist for the swipeable row below 1180px. */
.ci-td__nav{display:none}
.ci-td__step{
  inline-size:46px;block-size:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  border:1px solid rgba(15,26,43,.1);background:#fff;color:var(--ci2-navy);
  box-shadow:0 10px 24px -14px rgba(15,26,43,.45);transition:opacity .2s ease,background-color .2s ease,color .2s ease;
}
.ci-td__step svg{inline-size:20px;block-size:20px}
.ci-rtl .ci-td__step svg{transform:scaleX(-1)}
.ci-td__step:not(:disabled):hover{background:var(--ci2-navy);color:#fff}
.ci-td__step:disabled{opacity:.35;cursor:default}

@media (max-width:1179px){
  .ci-td__grid{
    display:flex;gap:16px;max-inline-size:none;
    margin-inline:calc(var(--section-x) * -1);padding-inline:var(--section-x);padding-block:10px 26px;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--section-x);
    scrollbar-width:none;
  }
  .ci-td__grid::-webkit-scrollbar{display:none}
  .ci-td__card{flex:0 0 clamp(250px,34vw,300px);scroll-snap-align:start}
  .ci-td__card:hover{transform:none}
  .ci-td__nav{display:flex;justify-content:center;gap:12px;margin-block-start:4px}
}
@media (max-width:699px){
  .ci-td__card{flex-basis:min(78vw,300px)}
  .ci-td__text{font-size:13.5px}
}

/* Stories — the agency's testimonial videos (cards styled under VIDEO CARDS). */
.ci-st{padding-block:clamp(52px,6vw,88px);background:linear-gradient(180deg,#fff 0%,#fcf7fb 100%)}

@media (prefers-reduced-motion:reduce){
  .ci-td__card,.ci-td__media img,.ci-td__cta,.ci-td__cta svg{transition:none}
}

/* ══════════════════════════════════════════════════════════════════
   FOOTER — a bookend to the homepage hero: dusk photograph under the
   same navy veil, gradient headline, pill buttons, handwritten note.
   ══════════════════════════════════════════════════════════════════ */
.ci-ft{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:var(--ci2-navy);padding-inline:var(--section-x)}
.ci-ft__bg{position:absolute;inset:0;z-index:-2}
.ci-ft__bg img{display:block;inline-size:100%;block-size:100%;object-fit:cover;object-position:center 70%}
.ci-ft__veil{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(90% 30% at 50% 30%,rgba(120,10,190,.4),transparent 66%),
    linear-gradient(180deg,#0f1a2b 0%,rgba(15,26,43,.5) 18%,rgba(15,26,43,.28) 36%,rgba(15,26,43,.78) 58%,rgba(15,26,43,.95) 78%,#0f1a2b 100%);
}
.ci-ft__inner{max-inline-size:1320px;margin-inline:auto}

.ci-ft__cta{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:clamp(84px,10vw,150px) clamp(64px,8vw,116px)}
.ci-ft__title{
  margin:0;max-inline-size:32ch;font-size:clamp(32px,4vw,58px);font-weight:900;line-height:1.28;letter-spacing:-.02em;
  text-shadow:0 6px 34px rgba(15,26,43,.55);text-wrap:balance;
}
.ci-lang-ar .ci-ft__title{letter-spacing:0;line-height:1.4}
.ci-ft__title em{
  font-style:normal;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:none;filter:drop-shadow(0 6px 26px rgba(224,12,92,.4));padding-block-end:.06em;
}
.ci-ft__sub{margin:14px 0 0;max-inline-size:56ch;font-size:clamp(16px,1.4vw,20px);font-weight:500;line-height:1.7;color:rgba(255,255,255,.88);text-shadow:0 2px 18px rgba(15,26,43,.6)}
.ci-ft .ci-hx__btn bdi{font-weight:700}

/* Handwritten note on the far side of the headline, pointing in. */
.ci-ft__note{
  position:absolute;inset-inline-end:clamp(0px,2vw,40px);inset-block-start:clamp(64px,7.5vw,112px);
  display:flex;flex-direction:column;align-items:center;gap:4px;transform:rotate(-7deg);pointer-events:none;
}
.ci-ft__note .ci-hx__note-text{opacity:1;animation:none}
.ci-ft__scribble{display:block;inline-size:clamp(104px,8vw,140px);block-size:auto;overflow:visible}
.ci-ft__scribble path{stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ci-rtl .ci-ft__scribble{transform:scaleX(-1)}
@media (max-width:1359px){.ci-ft__note{display:none}}

.ci-ft__grid{
  display:grid;grid-template-columns:1.35fr .9fr 1.15fr 1fr;gap:clamp(28px,3.4vw,56px);
  padding-block:clamp(40px,4vw,56px);border-block-start:1px solid rgba(255,255,255,.14);
}
.ci-ft__logo{display:block;block-size:58px;inline-size:auto;margin-block-end:18px}
.ci-ft__brand p{margin:0;max-inline-size:36ch;color:rgba(255,255,255,.74);font-size:14px;line-height:1.85}
.ci-ft__icef{
  display:inline-flex;align-items:center;gap:14px;margin-block-start:22px;padding-block:14px;padding-inline:14px 22px;border-radius:18px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.ci-ft__icef img{block-size:60px;inline-size:auto;border-radius:10px;background:#fff}
.ci-ft__icef strong{display:block;font-size:14.5px;font-weight:800}
.ci-ft__icef small{display:block;margin-block-start:2px;font-size:13px;color:rgba(255,255,255,.7)}

.ci-ft__h{position:relative;margin:0 0 18px;padding-block-end:12px;font-size:15px;font-weight:800;color:#fff}
.ci-ft__h::after{content:"";position:absolute;inset-block-end:0;inset-inline-start:0;inline-size:34px;block-size:3px;border-radius:3px;background:var(--ci2-grad)}
.ci-ft__col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ci-ft__col a{color:rgba(255,255,255,.76);font-size:14px;text-decoration:none;transition:color .2s ease}
.ci-ft__col a:hover{color:#fff}
.ci-ft__col--dest ul{grid-template-columns:repeat(2,max-content);column-gap:30px}
.ci-ft__col--dest a{display:inline-flex;align-items:center;gap:9px}
.ci-ft__flag{inline-size:20px;block-size:14px;border-radius:3px}
.ci-ft__address{font-style:normal;color:rgba(255,255,255,.76);font-size:14px;line-height:1.9}
.ci-ft__col .ci-ft__phones{margin-block-start:14px}
.ci-ft__phones li{display:flex;align-items:baseline;gap:8px;color:rgba(255,255,255,.6);font-size:13px}
.ci-ft__col .ci-ft__phones a{color:#fff;font-weight:700;font-size:14.5px}

.ci-ft__bar{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;
  padding-block:22px;border-block-start:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.62);font-size:13px;
}
.ci-ft__meta{display:flex;flex-wrap:wrap;gap:18px}
.ci-ft__meta a{color:rgba(255,255,255,.62);text-decoration:none}
.ci-ft__meta a:hover{color:#fff}

@media (max-width:1100px){.ci-ft__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .ci-ft__grid{grid-template-columns:minmax(0,1fr)}
  .ci-ft .ci-hx__ctas{flex-direction:column;align-self:stretch}
  .ci-ft .ci-hx__btn{inline-size:100%}
}

/* ══════════════════════════════════════════════════════════════════
   BOOKING WIZARD — full-screen, one question per screen, in the hero's
   visual language. The background follows the chosen destination.
   ══════════════════════════════════════════════════════════════════ */
html.ci-wz-open{overflow:hidden}
.ci-wz-open .ci-sticky{display:none}
.ci-wz{
  position:fixed;inset:0;z-index:1000;isolation:isolate;overflow:hidden;
  display:flex;flex-direction:column;color:#fff;background:var(--ci2-navy);
}
.ci-wz.is-open{animation:ci-wz-in .45s cubic-bezier(.2,.8,.2,1)}
@keyframes ci-wz-in{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:none}}

.ci-wz__bgs{position:absolute;inset:0;z-index:-2}
.ci-wz__bg{
  position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;object-position:center 62%;
  opacity:0;transform:scale(1.08);transition:opacity 1s cubic-bezier(.4,0,.2,1),transform 8s cubic-bezier(.2,.6,.2,1);
}
.ci-wz__bg.is-active{opacity:1;transform:scale(1)}
.ci-wz__veil{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(110% 60% at 50% 112%,rgba(120,10,190,.55),transparent 62%),
    linear-gradient(180deg,rgba(15,26,43,.86) 0%,rgba(15,26,43,.58) 28%,rgba(15,26,43,.62) 62%,rgba(15,26,43,.92) 100%);
}

/* Top bar: logo · progress · close */
.ci-wz__top{display:grid;grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:16px;padding:18px var(--section-x)}
.ci-wz__logo{justify-self:start;block-size:44px;inline-size:auto}
.ci-wz__progress{display:flex;flex-direction:column;align-items:center;gap:8px;inline-size:min(340px,46vw)}
.ci-wz__count{font-size:13px;font-weight:700;color:rgba(255,255,255,.82)}
.ci-wz__bar{display:block;inline-size:100%;block-size:6px;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden}
.ci-wz__bar i{display:block;block-size:100%;inline-size:var(--wz-p,20%);border-radius:inherit;background:var(--ci2-grad);transition:inline-size .45s cubic-bezier(.2,.8,.2,1)}
.ci-wz.is-done .ci-wz__count{visibility:hidden}
.ci-wz__close{
  justify-self:end;inline-size:48px;block-size:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.32);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .2s ease;
}
.ci-wz__close svg{inline-size:20px;block-size:20px}
.ci-wz__close:hover{background:rgba(255,255,255,.22)}

/* Body */
.ci-wz__body{flex:1;min-block-size:0;display:flex;overflow-y:auto;overscroll-behavior:contain;padding:clamp(10px,3vh,40px) var(--section-x) 32px}
.ci-wz__form{margin:auto;inline-size:100%;max-inline-size:1120px;display:flex;flex-direction:column;align-items:center}
.ci-wz__step{border:0;margin:0;padding:0;min-inline-size:0;inline-size:100%;display:flex;flex-direction:column;align-items:center;text-align:center}
.ci-wz__step:not([hidden]){animation:ci-wz-step .5s cubic-bezier(.2,.8,.2,1)}
@keyframes ci-wz-step{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.ci-wz__q{
  float:none;inline-size:100%;padding:0;margin:0;text-align:center;
  font-size:clamp(28px,3.3vw,50px);font-weight:900;line-height:1.3;letter-spacing:-.02em;
  text-shadow:0 6px 34px rgba(15,26,43,.55);text-wrap:balance;
}
.ci-lang-ar .ci-wz__q{letter-spacing:0;line-height:1.45}
.ci-wz__q em{
  font-style:normal;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:none;filter:drop-shadow(0 6px 26px rgba(224,12,92,.4));
}
.ci-wz__sub{margin:12px 0 0;max-inline-size:56ch;font-size:clamp(15px,1.3vw,19px);color:rgba(255,255,255,.86);text-shadow:0 2px 18px rgba(15,26,43,.6)}

/* Choice cards — glass, like the hero cards; the radio itself is visually hidden. */
/* Flex rather than grid so a short last row sits centred under the others. */
.ci-wz__choices{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
  inline-size:100%;max-inline-size:800px;margin-block-start:clamp(22px,4vh,40px);
}
.ci-wz__choices > .ci-wz__opt{flex:1 1 220px;max-inline-size:254px}
.ci-wz__opt,.ci-wz__dest{
  position:relative;cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ci-wz__opt input,.ci-wz__dest input{position:absolute;inline-size:1px;block-size:1px;margin:0;opacity:0;pointer-events:none}
.ci-wz__opt:hover,.ci-wz__dest:hover{background:rgba(255,255,255,.18);transform:translateY(-3px)}
.ci-wz__opt.is-checked,.ci-wz__dest.is-checked{
  background:rgba(224,12,92,.24);border-color:transparent;
  box-shadow:0 0 0 2px #ff4f9d,0 18px 40px -16px rgba(224,12,92,.75);
}
.ci-wz__opt:has(input:focus-visible),.ci-wz__dest:has(input:focus-visible){outline:3px solid #fff;outline-offset:3px}

.ci-wz__opt{display:flex;align-items:center;gap:12px;min-block-size:66px;padding:14px 20px;border-radius:18px;text-align:start;font-size:16.5px;font-weight:700;line-height:1.4}
.ci-wz__opt > span:first-of-type{flex:1}
.ci-wz__tick{
  flex:none;inline-size:26px;block-size:26px;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid rgba(255,255,255,.55);color:transparent;transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.ci-wz__tick svg{inline-size:15px;block-size:15px}
.is-checked .ci-wz__tick{background:var(--ci2-grad);border-color:transparent;color:#fff}

.ci-wz__choices--dest{display:grid;max-inline-size:1120px;grid-template-columns:repeat(6,minmax(0,1fr))}
.ci-wz__dest{display:flex;flex-direction:column;padding:8px 8px 12px;border-radius:20px}
.ci-wz__dest-img{display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.08)}
.ci-wz__dest-img img{display:block;inline-size:100%;block-size:100%;object-fit:cover;object-position:50% 60%}
.ci-wz__dest-img--globe{display:grid;place-items:center;color:#fff}
.ci-wz__dest-img--globe svg{inline-size:40%;block-size:auto;opacity:.9}
.ci-wz__dest-name{display:flex;align-items:center;justify-content:center;gap:8px;margin-block-start:10px;font-size:15px;font-weight:800;line-height:1.3}
.ci-wz__flag{inline-size:22px;block-size:15px;border-radius:3px}
.ci-wz__dest .ci-wz__tick{position:absolute;inset-block-start:14px;inset-inline-end:14px;background:rgba(15,26,43,.4)}
.ci-wz__dest.is-checked .ci-wz__tick{background:var(--ci2-grad)}

/* Contact step */
.ci-wz__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;inline-size:100%;max-inline-size:640px;margin-block-start:28px;text-align:start}
.ci-wz__field{display:flex;flex-direction:column;gap:8px}
.ci-wz__field--wide{grid-column:1 / -1}
.ci-wz__field > span{font-size:14px;font-weight:700;color:rgba(255,255,255,.88)}
.ci-wz__field input{
  min-block-size:56px;padding:0 18px;border-radius:16px;font:inherit;font-size:16px;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.ci-wz__field input:focus{outline:none;border-color:#ff4f9d;background:rgba(255,255,255,.16);box-shadow:0 0 0 3px rgba(255,79,157,.35)}
.ci-rtl .ci-wz__field input[dir="ltr"]{text-align:end}
.ci-wz__consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.86);cursor:pointer}
.ci-wz__consent input{flex:none;inline-size:20px;block-size:20px;margin:2px 0 0;accent-color:#e00c5c}

/* Navigation */
.ci-wz__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-block-start:clamp(24px,4vh,40px)}
.ci-wz__nav .ci-hx__btn{min-block-size:52px}
.ci-wz__next:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.ci-wz .ci-form__error{flex-basis:100%;margin:0;padding:10px 14px;border-radius:12px;text-align:center;color:#ffe1ea;background:rgba(224,12,92,.28);border:0}

/* Success */
.ci-wz .ci-form__done{margin:auto;display:flex;flex-direction:column;align-items:center;gap:14px;max-inline-size:560px;padding:0;text-align:center;color:#fff;background:none;border:0;box-shadow:none}
.ci-wz .ci-form__tick{inline-size:86px;block-size:86px;border-radius:50%;display:grid;place-items:center;font-size:40px;color:#fff;background:var(--ci2-grad);box-shadow:0 20px 50px -14px rgba(224,12,92,.8)}
.ci-wz .ci-form__done strong{font-size:clamp(26px,3vw,40px);font-weight:900;line-height:1.35;color:#fff}
.ci-wz .ci-form__done small{max-inline-size:44ch;font-size:17px;line-height:1.7;color:rgba(255,255,255,.86)}

@media (max-width:1100px){.ci-wz__choices--dest{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:700px){
  .ci-wz__top{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:12px 16px}
  .ci-wz__logo{block-size:34px}
  .ci-wz__progress{inline-size:auto}
  .ci-wz__close{inline-size:42px;block-size:42px}
  .ci-wz__body{padding-inline:16px}
  .ci-wz__choices--dest{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ci-wz__dest-name{font-size:14px}
  .ci-wz__opt{min-block-size:58px;font-size:15.5px}
  .ci-wz__choices > .ci-wz__opt{flex-basis:100%;max-inline-size:none}
  .ci-wz__fields{grid-template-columns:minmax(0,1fr)}
  .ci-wz__nav .ci-hx__btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){
  .ci-wz.is-open,.ci-wz__step:not([hidden]){animation:none}
  .ci-wz__bg{transition:opacity .2s ease;transform:none}
}

/* ══════════════════════════════════════════════════════════════════
   HOMEPAGE DUSK — every section after the hero continues its night-sky
   palette. Each gradient starts on the colour the section above ends on,
   so the page reads as one sky: navy → indigo → plum, lit by the logo's
   magenta, orange and purple. Photo cards stay white and float on it.
   ══════════════════════════════════════════════════════════════════ */
.ci-dusk{
  --dusk-0:#0f1a2b;--dusk-1:#16163a;--dusk-2:#1c1340;--dusk-3:#241245;--dusk-4:#1a1440;
  --dusk-ink:rgba(255,255,255,.74);--dusk-line:rgba(255,255,255,.12);
}
.ci-dusk main{background:var(--dusk-2)}

/* Horizons: a warm sunset glow centred on the line between two sections.
   Both halves use the same pixel-sized ellipse, so they meet without a seam. */
.ci-dusk{
  --hz-orange:rgba(255,138,40,.48),rgba(243,63,41,.26) 34%,rgba(217,13,144,.11) 58%,transparent 76%;
  --hz-pink:rgba(246,70,120,.38),rgba(217,13,144,.2) 36%,rgba(120,10,190,.1) 60%,transparent 78%;
  --hz-coral:rgba(248,110,46,.42),rgba(230,40,80,.2) 38%,rgba(120,10,190,.08) 60%,transparent 76%;
  --hz-magenta:rgba(224,24,140,.34),rgba(120,10,190,.18) 40%,transparent 76%;
}

/* Journey — picks up the purple glow at the foot of the hero, sets on an orange horizon. */
.ci-dusk .ci-jr{
  background:
    radial-gradient(70% 280px at 50% 0,rgba(120,10,190,.45),transparent 75%),
    radial-gradient(40% 30% at 100% 42%,rgba(224,12,92,.14),transparent 70%),
    radial-gradient(38% 28% at 0 55%,rgba(241,135,17,.13),transparent 70%),
    radial-gradient(1200px 420px at 50% 100%,var(--hz-orange)),
    linear-gradient(180deg,var(--dusk-0) 0%,var(--dusk-1) 45%,var(--dusk-2) 100%);
}
.ci-dusk .ci-jr::before,.ci-dusk .ci-jr::after{display:none}

/* Destinations — rises out of the orange horizon, sets on a pink one. */
.ci-dusk .ci-td{
  background:
    radial-gradient(1200px 420px at 50% 0,var(--hz-orange)),
    radial-gradient(40% 30% at 0 45%,rgba(243,63,41,.14),transparent 70%),
    radial-gradient(42% 32% at 100% 58%,rgba(120,10,190,.22),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-pink)),
    linear-gradient(180deg,var(--dusk-2) 0%,#2a1244 55%,var(--dusk-4) 100%);
}

/* Stories — pink horizon above, orange light below meeting the numbers band. */
.ci-dusk .ci-st{
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-pink)),
    radial-gradient(60% 55% at 50% 100%,rgba(241,135,17,.2),transparent 70%),
    linear-gradient(180deg,var(--dusk-4) 0%,var(--dusk-4) 100%);
}

/* Numbers — the logo gradient as a horizon band between the night sections. */
.ci-dusk .ci-metrics{background:var(--ci2-grad)}

/* Parents — lit from the band above, sets on a coral horizon. */
.ci-dusk .ci-parents{
  background:
    radial-gradient(1200px 300px at 50% 0,rgba(241,135,17,.2),rgba(224,12,92,.08) 50%,transparent 75%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-4) 0%,var(--dusk-1) 100%);
}
.ci-dusk .ci-parents__inner{
  background:
    radial-gradient(70% 90% at 100% 0,rgba(224,12,92,.32),transparent 62%),
    radial-gradient(60% 80% at 0 100%,rgba(241,135,17,.24),transparent 62%),
    rgba(255,255,255,.05);
  border:1px solid var(--dusk-line);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);
}

/* Team — rises out of the coral horizon, sets on a pink one. */
.ci-dusk .ci-crew{
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),
    radial-gradient(40% 30% at 0 50%,rgba(120,10,190,.18),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-pink)),
    linear-gradient(180deg,var(--dusk-1) 0%,var(--dusk-4) 100%);
}
/* Media — pink horizon above, coral below into the FAQ. */
.ci-dusk .ci-md{
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-pink)),
    radial-gradient(42% 32% at 100% 50%,rgba(241,135,17,.12),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-4) 0%,var(--dusk-1) 100%);
}

/* FAQ — glass rows between a coral and a magenta horizon. */
.ci-dusk .ci-faq{
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),
    radial-gradient(40% 32% at 100% 50%,rgba(120,10,190,.2),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-magenta)),
    linear-gradient(180deg,var(--dusk-1) 0%,#141a35 100%);
}
.ci-dusk .ci-faq__item{background:rgba(255,255,255,.05);border-color:var(--dusk-line)}
.ci-dusk .ci-faq__item[data-open="true"]{background:rgba(255,255,255,.09)}
.ci-dusk .ci-faq__q{color:#fff}
.ci-dusk .ci-faq__q:hover{background:rgba(255,255,255,.04)}
.ci-dusk .ci-faq__a{color:var(--dusk-ink)}
.ci-dusk .ci-faq .ci-dest__link{color:#ffb24d}


/* Section heights land on fractional pixels; overlapping by one pixel stops the
   darker page showing through as a hairline across each horizon. */
.ci-dusk .ci-td,.ci-dusk .ci-st,.ci-dusk .ci-parents,.ci-dusk .ci-crew,.ci-dusk .ci-md,.ci-dusk .ci-faq,.ci-dusk .ci-wz-inline{margin-block-start:-1px}

/* Type on the dark canvas */
.ci-dusk .ci-jr__title,.ci-dusk .ci-h2,.ci-dusk .ci-parents h2{color:#fff}
.ci-dusk .ci-jr__title em,.ci-dusk .ci-h2 em,.ci-dusk .ci-parents h2 em{
  font-style:normal;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.ci-dusk .ci-jr__sub,.ci-dusk .ci-lead{color:var(--dusk-ink)}
.ci-dusk .ci-eyebrow{color:#ffb24d}

/* White cards: drop the hairline, deepen the shadow for the dark ground. */
.ci-dusk .ci-jr__step,.ci-dusk .ci-td__card,.ci-dusk .ci-crew__card,.ci-dusk .ci-unis__card{
  border-color:transparent;box-shadow:0 26px 56px -28px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.18);
}
.ci-dusk .ci-td__card:hover,.ci-dusk .ci-jr__step:hover{box-shadow:0 30px 64px -26px rgba(224,12,92,.55),0 2px 6px rgba(0,0,0,.2)}
.ci-dusk .ci-td__step{border-color:transparent}

/* ══════════════════════════════════════════════════════════════════
   CONSULTATION — the booking wizard inline. Carries its own dusk
   background so it reads the same on light inner pages; once a
   destination is picked its photograph fades in behind the questions.
   ══════════════════════════════════════════════════════════════════ */
.ci-wz-inline{
  position:relative;isolation:isolate;overflow:hidden;color:#fff;
  padding-block:clamp(64px,8vw,112px);padding-inline:var(--section-x);
  scroll-margin-block-start:var(--header-h);
  /* A floor height keeps the page from jumping as shorter steps replace the tall first one. */
  min-block-size:min(100svh,820px);display:flex;flex-direction:column;justify-content:center;
  background:
    radial-gradient(1100px 380px at 50% 0,rgba(224,24,140,.34),rgba(120,10,190,.18) 40%,transparent 76%),
    radial-gradient(50% 36% at 0 60%,rgba(241,135,17,.16),transparent 70%),
    radial-gradient(46% 34% at 100% 45%,rgba(120,10,190,.24),transparent 70%),
    linear-gradient(180deg,#141a35 0%,#0f1a2b 100%);
}
.ci-wz-inline .ci-wz__bgs{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 80%,transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 80%,transparent 100%);
}
.ci-wz-inline .ci-wz__veil{
  opacity:0;transition:opacity 1s ease;
  /* Clear at the top and full navy at the foot, so it meets the sections around it. */
  background:
    radial-gradient(90% 40% at 50% 70%,rgba(120,10,190,.3),transparent 70%),
    linear-gradient(180deg,transparent 0%,rgba(15,26,43,.58) 24%,rgba(15,26,43,.66) 72%,#0f1a2b 100%);
}
.ci-wz-inline.has-bg .ci-wz__veil{opacity:1}
.ci-wz-inline__inner{inline-size:100%;max-inline-size:1120px;margin-inline:auto;display:flex;flex-direction:column;align-items:center}
.ci-wz-inline__head{display:flex;flex-direction:column;align-items:center;gap:14px;margin-block-end:clamp(20px,3vw,32px)}
.ci-wz-inline .ci-eyebrow{color:#ffb24d;margin:0}
.ci-wz-inline .ci-wz__progress{inline-size:min(340px,72vw)}
.ci-wz-inline .ci-wz__form{margin:0}
.ci-wz-inline.is-done .ci-wz__count{visibility:hidden}

/* ══════════════════════════════════════════════════════════════════
   DESTINATIONS DROPDOWN (header). The label links to the destinations
   page; the chevron, hover or keyboard opens the list of guides.
   ══════════════════════════════════════════════════════════════════ */
.ci-nav__dd{position:relative;display:flex;align-items:center;gap:2px;align-self:center}
.ci-nav__dd-btn{
  display:grid;place-items:center;inline-size:22px;block-size:22px;padding:0;border:0;border-radius:6px;
  background:none;color:inherit;cursor:pointer;transition:transform .25s ease;
}
.ci-nav__dd-btn svg{inline-size:14px;block-size:14px}
.ci-nav__dd-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.ci-overlay-header .ci-nav__dd-btn{color:#fff;filter:drop-shadow(0 1px 8px rgba(15,26,43,.5))}
.ci-nav__dd.is-open .ci-nav__dd-btn{transform:rotate(180deg)}

.ci-nav__dests{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.ci-nav .ci-nav__panel a{
  position:static;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:12px;
  font-size:14px;font-weight:700;line-height:1.3;color:var(--ci2-navy);text-shadow:none;
  transition:background-color .15s ease;
}
.ci-nav .ci-nav__panel a::after{display:none}
.ci-nav .ci-nav__dests a:hover,.ci-nav .ci-nav__dests a[aria-current="page"]{background:#f6f0fa;color:var(--ci2-navy)}
.ci-nav__flag{inline-size:24px;block-size:16px;border-radius:3px}
.ci-nav .ci-nav__panel .ci-nav__all{
  justify-content:center;margin-block-start:8px;padding:12px;color:#fff;
  background:var(--ci2-grad);background-size:170% 100%;transition:background-position .45s ease;
}
.ci-nav .ci-nav__panel .ci-nav__all:hover{color:#fff;background-position:100% 0}

/* Over the homepage hero: a dark glass panel. */
.ci-overlay-header .ci-nav .ci-nav__panel a{color:#fff}
.ci-overlay-header .ci-nav .ci-nav__dests a:hover,
.ci-overlay-header .ci-nav .ci-nav__dests a[aria-current="page"]{background:rgba(255,255,255,.09);color:#fff}

/* Wide screens: a floating panel centred under the label. */
@media (min-width:1281px){
  .ci-nav__panel{
    position:absolute;z-index:60;inset-block-start:calc(100% + 16px);inset-inline-start:50%;
    inline-size:440px;padding:12px;border-radius:20px;
    background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -24px rgba(15,26,43,.35);
    opacity:0;visibility:hidden;transform:translate(-50%,8px);
    transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
  }
  /* Logical start is the right edge in RTL, so centre from the other side. */
  .ci-rtl .ci-nav__panel{transform:translate(50%,8px)}
  /* Invisible bridge over the gap so the panel survives the pointer crossing it. */
  .ci-nav__panel::before{content:"";position:absolute;inset-inline:0;inset-block-end:100%;block-size:18px}
  .ci-nav__dd:hover .ci-nav__panel,.ci-nav__dd.is-open .ci-nav__panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
  .ci-rtl .ci-nav__dd:hover .ci-nav__panel,.ci-rtl .ci-nav__dd.is-open .ci-nav__panel{transform:translate(50%,0)}
  .ci-overlay-header .ci-nav__panel{
    background:rgba(15,26,43,.94);border-color:rgba(255,255,255,.14);
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 30px 70px -20px rgba(0,0,0,.6);
  }
}

/* Phone menu: the list opens in place under the label. */
@media (max-width:1280px){
  .ci-nav__dd{flex-wrap:wrap;align-self:stretch;gap:0}
  .ci-nav__dd-link{flex:1}
  .ci-nav__dd-btn{inline-size:44px;block-size:44px}
  .ci-nav__dd-btn svg{inline-size:18px;block-size:18px}
  .ci-nav__panel{display:none;inline-size:100%;padding-block:6px 12px}
  .ci-nav__dd.is-open .ci-nav__panel{display:block}
  .ci-nav .ci-nav__panel a{padding:10px 8px}
}
@media (prefers-reduced-motion:reduce){
  .ci-nav__panel,.ci-nav__dd-btn{transition:none}
}

/* ══════════════════════════════════════════════════════════════════
   VIDEO CARDS — student testimonials (stories + media sections)
   ══════════════════════════════════════════════════════════════════ */
.ci-vids{list-style:none;margin:0 auto;padding:0;max-inline-size:1160px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.ci-vid{
  position:relative;isolation:isolate;display:block;aspect-ratio:4/5;border-radius:22px;overflow:hidden;
  color:#fff;text-decoration:none;background:#1b1535;
  box-shadow:0 26px 56px -28px rgba(15,26,43,.55),0 2px 6px rgba(15,26,43,.12);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;
}
.ci-vid img{position:absolute;inset:0;z-index:-2;inline-size:100%;block-size:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.ci-vid::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,26,43,0) 38%,rgba(15,26,43,.9) 100%)}
.ci-vid:hover{color:#fff;transform:translateY(-6px);box-shadow:0 30px 64px -26px rgba(224,12,92,.55),0 2px 6px rgba(15,26,43,.2)}
.ci-vid:hover img{transform:scale(1.06)}
.ci-vid:focus-visible{outline:3px solid #ff4f9d;outline-offset:3px}
/* Centred with margin rather than translate, so RTL needs no special case. */
.ci-vid__play{
  position:absolute;inset:0;margin:auto;inline-size:68px;block-size:68px;border-radius:50%;
  display:grid;place-items:center;color:#fff;
  background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.85);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:transform .25s ease,background-color .25s ease,border-color .25s ease;
}
.ci-vid__play svg{inline-size:26px;block-size:26px;transform:translateX(2px)}
.ci-vid:hover .ci-vid__play{transform:scale(1.08);background:var(--ci2-grad);border-color:transparent}
.ci-vid__cap{position:absolute;inset-inline:0;inset-block-end:0;display:flex;align-items:flex-start;gap:10px;padding:16px;font-size:14px;font-weight:700;line-height:1.6;text-align:start}
.ci-vid__flag{flex:none;inline-size:24px;block-size:16px;margin-block-start:3px;border-radius:3px}
@media (max-width:900px){.ci-vids{grid-template-columns:repeat(2,minmax(0,1fr));max-inline-size:640px}}
@media (max-width:480px){
  .ci-vids{gap:10px}
  .ci-vid{border-radius:16px}
  .ci-vid__play{inline-size:52px;block-size:52px}
  .ci-vid__cap{padding:11px;font-size:12.5px;gap:7px}
  .ci-vid__flag{inline-size:20px;block-size:13px}
}

/* ══════════════════════════════════════════════════════════════════
   TEAM — real people from the live site
   ══════════════════════════════════════════════════════════════════ */
.ci-crew{
  position:relative;overflow:hidden;isolation:isolate;
  padding-block:clamp(56px,6.5vw,96px);padding-inline:var(--section-x);
  background:linear-gradient(180deg,#faf6fc 0%,#fff 100%);
}
.ci-crew__eyebrow{display:inline-block;margin-block-end:10px;font-size:13px;font-weight:800;letter-spacing:.04em;color:#c25a00}
.ci-dusk .ci-crew__eyebrow{color:#ffb24d}
/* Flex so the short last row sits centred. */
.ci-crew__grid{list-style:none;margin:0 auto;padding:0;max-inline-size:1180px;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,1.6vw,22px)}
.ci-crew__card{
  flex:0 1 calc((100% - 3 * clamp(14px,1.6vw,22px)) / 4);
  display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 16px 22px;
  background:#fff;border-radius:22px;border:1px solid rgba(15,26,43,.05);
  box-shadow:0 18px 44px -26px rgba(15,26,43,.3),0 2px 6px rgba(15,26,43,.04);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;
}
.ci-crew__card:hover{transform:translateY(-6px)}
.ci-crew__photo{display:block;inline-size:104px;block-size:104px;padding:3px;border-radius:50%;background:var(--ci2-grad)}
.ci-crew__photo img{display:block;inline-size:100%;block-size:100%;border-radius:50%;border:3px solid #fff;object-fit:cover;background:#f4f1f7}
.ci-crew__name{margin:14px 0 4px;font-size:16.5px;font-weight:800;line-height:1.35;color:var(--ci2-navy)}
.ci-crew__role{margin:0;font-size:14px;color:#6b7385}
@media (max-width:1000px){.ci-crew__card{flex-basis:calc((100% - 2 * clamp(14px,1.6vw,22px)) / 3)}}
@media (max-width:640px){
  .ci-crew__card{flex-basis:calc((100% - 12px) / 2);padding:20px 10px 16px}
  .ci-crew__grid{gap:12px}
  .ci-crew__photo{inline-size:84px;block-size:84px}
  .ci-crew__name{font-size:15px}
  .ci-crew__role{font-size:13px}
}

/* ══════════════════════════════════════════════════════════════════
   MEDIA — photo gallery and videos in tabs
   ══════════════════════════════════════════════════════════════════ */
.ci-md{
  position:relative;overflow:hidden;isolation:isolate;
  padding-block:clamp(56px,6.5vw,96px);padding-inline:var(--section-x);
  background:linear-gradient(180deg,#fff 0%,#faf6fc 100%);
}
.ci-md__tabs{display:flex;gap:6px;inline-size:max-content;max-inline-size:100%;margin:0 auto clamp(22px,3vw,34px);padding:5px;border-radius:999px;background:rgba(15,26,43,.06)}
.ci-md__tab{
  min-block-size:44px;padding-inline:24px;border:0;border-radius:999px;cursor:pointer;
  background:none;font:inherit;font-size:14.5px;font-weight:800;color:var(--ci2-navy);
  transition:background-color .2s ease,color .2s ease;
}
.ci-md__tab[aria-selected="true"]{color:#fff;background:var(--ci2-grad);box-shadow:0 10px 24px -10px rgba(224,12,92,.7)}
.ci-md__tab:focus-visible{outline:3px solid #ff4f9d;outline-offset:2px}
.ci-dusk .ci-md__tabs{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.ci-dusk .ci-md__tab{color:#fff}

/* 6 columns × 3 rows: one large photo, fourteen small. */
.ci-md__grid{
  max-inline-size:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:clamp(110px,10.5vw,165px);grid-auto-flow:dense;gap:12px;
}
.ci-md__grid[hidden]{display:none}
.ci-md__photo{position:relative;display:block;overflow:hidden;border-radius:16px;background:#1b1535}
.ci-md__photo:first-child{grid-column:span 2;grid-row:span 2}
.ci-md__photo img{display:block;inline-size:100%;block-size:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.ci-md__photo:hover img{transform:scale(1.06)}
.ci-md__photo:focus-visible{outline:3px solid #ff4f9d;outline-offset:3px}
@media (max-width:900px){.ci-md__grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(100px,22vw,170px)}}
@media (max-width:560px){.ci-md__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:118px;gap:8px}.ci-md__photo{border-radius:12px}}

/* ══════════════════════════════════════════════════════════════════
   LIGHTBOX — videos (9:16 Shorts) and photos
   ══════════════════════════════════════════════════════════════════ */
.ci-lb{
  position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:clamp(16px,4vw,48px);
  background:rgba(8,12,24,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.ci-lb[hidden]{display:none}
.ci-lb__stage{display:grid;place-items:center;max-inline-size:100%}
.ci-lb__stage iframe{display:block;block-size:min(84vh,820px);aspect-ratio:9/16;inline-size:auto;max-inline-size:92vw;border:0;border-radius:18px;background:#000;box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.ci-lb__stage img{display:block;max-inline-size:min(92vw,1400px);max-block-size:82vh;border-radius:14px;object-fit:contain;box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.ci-lb__btn{
  position:absolute;z-index:2;inline-size:48px;block-size:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);transition:background-color .2s ease;
}
.ci-lb__btn:hover{background:rgba(255,255,255,.22)}
.ci-lb__btn svg{inline-size:20px;block-size:20px}
.ci-lb__close{inset-block-start:16px;inset-inline-end:16px}
.ci-lb__nav{inset-block-start:50%;margin-block-start:-24px}
.ci-lb__prev{inset-inline-start:16px}
.ci-lb__next{inset-inline-end:16px}
.ci-rtl .ci-lb__nav svg{transform:scaleX(-1)}
.ci-lb__caption{position:absolute;inset-inline:0;inset-block-end:14px;margin:0;padding-inline:80px;text-align:center;font-size:14px;line-height:1.6;color:rgba(255,255,255,.86)}
@media (max-width:640px){
  .ci-lb{padding:64px 12px 72px}
  .ci-lb__nav{inset-block-start:auto;inset-block-end:14px;margin:0}
  .ci-lb__caption{inset-block-end:76px;padding-inline:16px;font-size:13px}
  .ci-lb__stage iframe{block-size:min(72vh,700px)}
}
@media (prefers-reduced-motion:reduce){
  .ci-vid,.ci-vid img,.ci-vid__play,.ci-crew__card,.ci-md__photo img{transition:none}
}

/* ══════════════════════════════════════════════════════════════════
   HOMEPAGE GLASS — on the dusk canvas every card is translucent glass,
   like the hero's destination cards, so the sky runs behind them. No
   backdrop blur: the background is a smooth gradient, so it would cost
   GPU time without changing a pixel.
   ══════════════════════════════════════════════════════════════════ */
.ci-dusk{--glass-bg:rgba(255,255,255,.07);--glass-bg-hover:rgba(255,255,255,.11);--glass-line:rgba(255,255,255,.15);--glass-ring:#1d1640}
.ci-dusk .ci-jr__step,.ci-dusk .ci-td__card,.ci-dusk .ci-crew__card,.ci-dusk .ci-unis__card{
  background:var(--glass-bg);border:1px solid var(--glass-line);
  box-shadow:0 26px 56px -30px rgba(0,0,0,.7);
}
.ci-dusk .ci-jr__step:hover,.ci-dusk .ci-td__card:hover,.ci-dusk .ci-crew__card:hover{background:var(--glass-bg-hover)}

/* Journey steps: the white notched title tab only works on a white card,
   so on glass the title sits under the photo. */
.ci-dusk .ci-jr__num{box-shadow:0 10px 22px -8px rgba(224,12,92,.7),0 0 0 4px var(--glass-ring)}
.ci-dusk .ci-jr__name{position:static;padding:16px 6px 0;background:none;border-radius:0;color:#fff}
.ci-dusk .ci-jr__name::before,.ci-dusk .ci-jr__name::after{display:none}
.ci-dusk .ci-jr__text{margin-block-start:8px;color:rgba(255,255,255,.72)}
.ci-dusk .ci-jr__step:not(:last-child)::after{background:linear-gradient(var(--glass-ring),var(--glass-ring)) padding-box,var(--ci2-grad) border-box}

/* Partner universities */
.ci-dusk .ci-unis__card span{color:#fff}
.ci-dusk .ci-unis__card img{background:#fff}

/* Destinations: white type, buttons as translucent tints of each column's colour. */
.ci-dusk .ci-td__name{color:#fff}
.ci-dusk .ci-td__text{color:rgba(255,255,255,.72)}
.ci-dusk .ci-td__card{--g-bg:rgba(224,12,92,.22);--g-ink:#ffb3cf}
.ci-dusk .ci-td__card:nth-child(5n+2){--g-bg:rgba(241,135,17,.22);--g-ink:#ffcf99}
.ci-dusk .ci-td__card:nth-child(5n+3){--g-bg:rgba(150,40,220,.3);--g-ink:#dcb8ff}
.ci-dusk .ci-td__card:nth-child(5n+4){--g-bg:rgba(243,63,41,.24);--g-ink:#ffb8a8}
.ci-dusk .ci-td__card:nth-child(5n+5){--g-bg:rgba(217,13,144,.24);--g-ink:#ffb0e6}
.ci-dusk .ci-td__cta{background:var(--g-bg);color:var(--g-ink);border:1px solid rgba(255,255,255,.12)}
.ci-dusk .ci-td__card:hover .ci-td__cta{background:var(--ci2-grad);color:#fff;border-color:transparent}
.ci-dusk .ci-td__cta:focus-visible{outline-color:var(--g-ink)}
.ci-dusk .ci-td__step{background:var(--glass-bg);border-color:var(--glass-line);color:#fff;box-shadow:none}
.ci-dusk .ci-td__step:not(:disabled):hover{background:#fff;color:var(--ci2-navy)}

/* Team */
.ci-dusk .ci-crew__photo img{border-color:var(--glass-ring)}
.ci-dusk .ci-crew__name{color:#fff}
.ci-dusk .ci-crew__role{color:rgba(255,255,255,.7)}

/* Phone booking bar: dark glass on the homepage instead of a white strip. */
.ci-dusk .ci-sticky{background:rgba(15,26,43,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-block-start-color:rgba(255,255,255,.12);box-shadow:0 -10px 30px rgba(0,0,0,.35)}
.ci-dusk .ci-sticky .ci-btn{background:var(--ci2-grad);color:#fff;border-color:transparent}
.ci-dusk .ci-sticky .ci-btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}

/* ══════════════════════════════════════════════════════════════════
   ABOUT CAMPUS INTERNATIONAL — the closing section before the footer.
   Starts and ends on the footer's navy, so booking → about → footer is
   one continuous surface; the glows stay clear of both edges.
   ══════════════════════════════════════════════════════════════════ */
.ci-about{
  position:relative;overflow:hidden;isolation:isolate;color:#fff;
  padding-block:clamp(64px,8vw,112px);padding-inline:var(--section-x);
  background:
    radial-gradient(46% 38% at 0 50%,rgba(241,135,17,.14),transparent 70%),
    radial-gradient(44% 38% at 100% 50%,rgba(120,10,190,.26),transparent 70%),
    linear-gradient(180deg,#0f1a2b 0%,#17163b 50%,#0f1a2b 100%);
}
.ci-dusk .ci-about{margin-block-start:-1px}
.ci-about__inner{max-inline-size:1240px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,5vw,84px);align-items:center}
.ci-about .ci-crew__eyebrow{color:#ffb24d}
.ci-about__title{margin:0 0 18px;font-size:clamp(28px,3vw,46px);font-weight:900;line-height:1.3;letter-spacing:-.02em;text-wrap:balance}
.ci-lang-ar .ci-about__title{letter-spacing:0;line-height:1.45}
.ci-about__title em{font-style:normal;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-about__text{margin:0 0 14px;max-inline-size:62ch;font-size:clamp(15px,1.15vw,17px);line-height:1.9;color:rgba(255,255,255,.76)}


.ci-about__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-block-start:28px}
.ci-about__social{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:rgba(255,255,255,.7)}
.ci-about__social a{
  inline-size:42px;block-size:42px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);transition:background-color .2s ease,border-color .2s ease;
}
.ci-about__social a:hover{color:#fff;background:var(--ci2-grad);border-color:transparent}
.ci-about__social svg{inline-size:20px;block-size:20px}

/* Collage: main photo, a smaller one overlapping its lower corner, a "since" badge. */
.ci-about__media{position:relative;padding-block-end:clamp(44px,5vw,72px);padding-inline-start:clamp(32px,4vw,64px)}
.ci-about__photo{display:block;inline-size:100%;aspect-ratio:3/2;object-fit:cover;border-radius:26px;box-shadow:0 40px 80px -36px rgba(0,0,0,.75)}
.ci-about__inset{
  position:absolute;inset-inline-start:0;inset-block-end:0;inline-size:46%;aspect-ratio:16/10;object-fit:cover;
  border-radius:18px;border:5px solid #17163b;box-shadow:0 30px 60px -28px rgba(0,0,0,.8);
}
.ci-about__badge{
  position:absolute;inset-block-start:16px;inset-inline-end:16px;display:flex;flex-direction:column;align-items:center;
  padding:12px 18px;border-radius:20px;background:rgba(15,26,43,.66);border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px -18px rgba(0,0,0,.7);
}
.ci-about__badge small{font-size:12.5px;font-weight:700;color:rgba(255,255,255,.78)}
.ci-about__badge strong{font-size:30px;font-weight:900;line-height:1.15;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}

@media (max-width:980px){
  .ci-about__inner{grid-template-columns:minmax(0,1fr)}
  .ci-about__media{max-inline-size:640px;margin-inline:auto;inline-size:100%}
}
@media (max-width:560px){
  .ci-about__badge{padding:9px 13px}
  .ci-about__badge strong{font-size:24px}
  .ci-about__inset{border-width:4px}
}

/* Homepage: a navy base behind everything, and the footer tucked one pixel under
   the last section, so no sub-pixel hairline can show between them. */
body.ci-dusk{background-color:#0f1a2b}
.ci-dusk .ci-ft{margin-block-start:-1px}

/* ══════════════════════════════════════════════════════════════════
   STICKY HEADER — the menu follows the page
   ══════════════════════════════════════════════════════════════════ */
/* Inner pages: the bar sticks; the notice above it scrolls away (a negative
   top equal to its height, measured by main.js). */
body:not(.ci-overlay-header) .ci-top{position:sticky;inset-block-start:calc(var(--ci-notice-h,38px) * -1);z-index:40}
body:not(.ci-overlay-header) .ci-top.is-stuck .ci-header{box-shadow:0 10px 30px -16px rgba(15,26,43,.4)}
/* Homepage: the transparent header scrolls away with the hero, then slides
   back in as a dark glass bar. */
.ci-overlay-header .ci-top.is-stuck{position:fixed;inset-block-start:0;inset-inline:0;z-index:60;animation:ci-top-in .4s cubic-bezier(.2,.8,.2,1)}
.ci-overlay-header .ci-top.is-stuck .ci-notice{display:none}
.ci-overlay-header .ci-top.is-stuck .ci-header{
  background:rgba(15,26,43,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  box-shadow:0 14px 34px -14px rgba(0,0,0,.6);
}
@keyframes ci-top-in{from{transform:translateY(-100%)}to{transform:none}}
/* Anchor jumps land below the bar now that it follows the page. */
html:has(> body.ci-overlay-header){scroll-padding-block-start:var(--header-h)}
@media (prefers-reduced-motion:reduce){.ci-overlay-header .ci-top.is-stuck{animation:none}}

/* Program icons in the Specialties dropdown */
.ci-nav__ico{flex:none;display:grid;place-items:center;inline-size:28px;block-size:28px;border-radius:8px;color:#fff;background:var(--ci2-grad)}
.ci-nav__ico svg{inline-size:16px;block-size:16px}
@media (min-width:1281px){#ci-nav-programs{inline-size:500px}}

/* ══════════════════════════════════════════════════════════════════
   PROGRAMS — the Specialties page
   ══════════════════════════════════════════════════════════════════ */
.ci-pr{padding-block:clamp(56px,6.5vw,96px);padding-inline:var(--section-x);background:linear-gradient(180deg,#faf6fc 0%,#fff 100%)}
.ci-pr__grid{max-inline-size:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.6vw,24px)}
.ci-pr__card{
  display:flex;flex-direction:column;padding:26px 24px 24px;border-radius:24px;
  background:#fff;border:1px solid rgba(15,26,43,.06);
  box-shadow:0 18px 44px -26px rgba(15,26,43,.3),0 2px 6px rgba(15,26,43,.04);
  scroll-margin-block-start:calc(var(--header-h) + 24px);
}
/* The program picked from the menu is outlined when the page opens on it. */
.ci-pr__card:target{box-shadow:0 0 0 2px #e00c5c,0 24px 50px -26px rgba(224,12,92,.5)}
.ci-pr__icon{inline-size:54px;block-size:54px;border-radius:16px;display:grid;place-items:center;color:#fff;background:var(--ci2-grad);box-shadow:0 12px 26px -12px rgba(224,12,92,.7)}
.ci-pr__icon svg{inline-size:28px;block-size:28px}
.ci-pr__name{margin:18px 0 8px;font-size:20px;font-weight:800;line-height:1.35;color:var(--ci2-navy)}
.ci-pr__text{margin:0 0 18px;font-size:14.5px;line-height:1.85;color:#5b6475}
.ci-pr__label{margin:0 0 10px;font-size:12.5px;font-weight:800;color:#c25a00}
.ci-pr__dests{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ci-pr__dests a{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#f6f0fa;color:var(--ci2-navy);font-size:13.5px;font-weight:700;text-decoration:none;transition:background-color .2s ease}
.ci-pr__dests a:hover{background:#efe2f8}
.ci-pr__flag{inline-size:20px;block-size:14px;border-radius:3px}
.ci-pr__cta{margin-block-start:auto;align-self:flex-start;min-block-size:48px;padding-inline:22px;font-size:14px}
@media (max-width:1000px){.ci-pr__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.ci-pr__grid{grid-template-columns:minmax(0,1fr)}.ci-pr__cta{align-self:stretch}}

/* Phone menu over the homepage: solid enough that page text never ghosts through. */
@media (max-width:1280px){.ci-overlay-header .ci-nav{background:rgba(15,26,43,.985)}}

/* ══════════════════════════════════════════════════════════════════
   MENU — larger French/English labels (Latin type reads small at 12px on
   laptops) and the "Track application" pill.
   ══════════════════════════════════════════════════════════════════ */
.ci-ltr .ci-nav{font-size:14px}
.ci-nav .ci-nav__track{
  display:inline-flex;align-items:center;gap:7px;align-self:center;padding:7px 14px;border-radius:999px;
  border:1.5px solid var(--line);color:var(--plum-ink);white-space:nowrap;transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.ci-nav .ci-nav__track svg{inline-size:16px;block-size:16px;flex:none}
.ci-nav .ci-nav__track:hover,.ci-nav .ci-nav__track[aria-current="page"]{color:#fff;background:var(--ci2-grad);border-color:transparent}
.ci-overlay-header .ci-nav .ci-nav__track{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.08)}
.ci-overlay-header .ci-nav .ci-nav__track::after{display:none}
.ci-overlay-header .ci-nav .ci-nav__track:hover{background:var(--ci2-grad);border-color:transparent}
@media (max-width:1280px){
  .ci-nav .ci-nav__track{justify-content:center;margin-block-start:12px;padding:12px 16px;border-block-end-width:1.5px}
}

/* ══════════════════════════════════════════════════════════════════
   TRACK APPLICATION — coming soon
   ══════════════════════════════════════════════════════════════════ */
.ci-track{padding-block:clamp(56px,7vw,100px);padding-inline:var(--section-x);background:linear-gradient(180deg,#faf6fc 0%,#fff 100%)}
.ci-track__inner{
  position:relative;overflow:hidden;isolation:isolate;max-inline-size:980px;margin-inline:auto;
  padding:clamp(36px,5vw,64px);border-radius:32px;text-align:center;color:#fff;
  background:
    radial-gradient(60% 70% at 100% 0,rgba(224,12,92,.35),transparent 65%),
    radial-gradient(60% 70% at 0 100%,rgba(241,135,17,.26),transparent 65%),
    linear-gradient(160deg,#1c1340 0%,#0f1a2b 100%);
  box-shadow:0 40px 80px -40px rgba(15,26,43,.6);
}
.ci-track__badge{display:inline-flex;align-items:center;gap:9px;padding:7px 15px;border-radius:999px;font-size:13px;font-weight:800;color:#ffcf99;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}
.ci-track__pulse{inline-size:8px;block-size:8px;border-radius:50%;background:#ff8a3d;animation:ci-pulse 1.8s ease-out infinite}
@keyframes ci-pulse{0%{box-shadow:0 0 0 0 rgba(255,138,61,.7)}70%,100%{box-shadow:0 0 0 10px rgba(255,138,61,0)}}
.ci-track__title{margin:18px 0 12px;font-size:clamp(28px,3.2vw,46px);font-weight:900;line-height:1.3;text-wrap:balance}
.ci-track__title em{font-style:normal;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-track__text{margin:0 auto;max-inline-size:60ch;font-size:16px;line-height:1.85;color:rgba(255,255,255,.78)}
.ci-track__steps{list-style:none;margin:36px auto 6px;padding:0;display:flex;max-inline-size:660px}
.ci-track__step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:rgba(255,255,255,.75)}
/* Connector to the next stage; logical start flips it for RTL. */
.ci-track__step:not(:last-child)::before{content:"";position:absolute;inset-block-start:19px;inset-inline-start:50%;inline-size:100%;block-size:2px;background:rgba(255,255,255,.18)}
.ci-track__step:first-child::before{background:linear-gradient(90deg,#f18711,#e00c5c)}
.ci-track__dot{position:relative;z-index:1;inline-size:40px;block-size:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:#2a2150;border:2px solid rgba(255,255,255,.22)}
.ci-track__step:first-child .ci-track__dot{background:var(--ci2-grad);border-color:transparent;box-shadow:0 10px 24px -10px rgba(224,12,92,.8)}
.ci-track .ci-hx__ctas{margin-block-start:30px}
@media (max-width:560px){.ci-track__step{font-size:12px}.ci-track__dot{inline-size:34px;block-size:34px}.ci-track__step:not(:last-child)::before{inset-block-start:16px}}
@media (prefers-reduced-motion:reduce){.ci-track__pulse{animation:none}}
/* Laptop widths: keep the bigger Latin menu on one line (French labels run long). */
@media (min-width:1281px) and (max-width:1500px){.ci-ltr .ci-nav{gap:18px}.ci-nav .ci-nav__track{padding-inline:12px}}
@media (min-width:1281px) and (max-width:1400px){.ci-ltr .ci-nav{font-size:13.5px;gap:15px}.ci-header{padding-inline:3.5vw}.ci-head-actions{gap:10px}}
/* One baseline for the whole menu: plain links, dropdown entries and the Track pill. */
@media (min-width:1281px){.ci-nav{align-items:center}.ci-nav > a,.ci-nav__dd-link{display:inline-flex;align-items:center;white-space:nowrap}}
/* Narrow laptops: a slightly smaller full logo on inner pages so the menu keeps its line. */
@media (min-width:1281px) and (max-width:1300px){body:not(.ci-overlay-header) .ci-logo img{block-size:48px}.ci-ltr .ci-nav{font-size:13px;gap:11px}.ci-header{padding-inline:2.6vw}}

/* ══════════════════════════════════════════════════════════════════
   RAIL — a horizontal, swipeable row with previous/next arrows
   (student stories).
   ══════════════════════════════════════════════════════════════════ */
.ci-rail{position:relative;max-inline-size:1240px;margin-inline:auto}
.ci-rail__track.ci-vids{
  display:flex;gap:clamp(14px,1.4vw,20px);max-inline-size:none;margin:0;padding:6px 2px 22px;
  overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;
}
.ci-rail__track::-webkit-scrollbar{display:none}
.ci-rail__track > li{flex:0 0 clamp(210px,19vw,250px);scroll-snap-align:start}
.ci-rail__btn{
  position:absolute;z-index:3;inset-block-start:calc(50% - 34px);inline-size:52px;block-size:52px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;color:var(--ci2-navy);background:#fff;border:0;
  box-shadow:0 14px 34px -12px rgba(15,26,43,.55);transition:opacity .2s ease,transform .2s ease,background-color .2s ease,color .2s ease;
}
.ci-rail__btn svg{inline-size:22px;block-size:22px}
.ci-rail__btn:hover:not(:disabled){transform:scale(1.06);color:#fff;background:var(--ci2-grad)}
.ci-rail__btn:disabled{opacity:0;pointer-events:none}
.ci-rail__btn--prev{inset-inline-start:-26px}
.ci-rail__btn--next{inset-inline-end:-26px}
.ci-rtl .ci-rail__btn svg{transform:scaleX(-1)}
.ci-rail__btn:focus-visible{outline:3px solid #ff4f9d;outline-offset:3px}
@media (max-width:1320px){.ci-rail__btn--prev{inset-inline-start:-8px}.ci-rail__btn--next{inset-inline-end:-8px}}
@media (max-width:700px){
  .ci-rail__track > li{flex-basis:min(62vw,240px)}
  .ci-rail__btn{inline-size:44px;block-size:44px;inset-block-start:calc(50% - 30px)}
  .ci-rail__btn--prev{inset-inline-start:-6px}.ci-rail__btn--next{inset-inline-end:-6px}
}

/* ══════════════════════════════════════════════════════════════════
   WHY CHOOSE US — bento grid: intro tile, five reasons, real figure
   ══════════════════════════════════════════════════════════════════ */
.ci-why{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(56px,6.5vw,96px);padding-inline:var(--section-x);background:linear-gradient(180deg,#faf6fc 0%,#fff 100%)}
.ci-why__grid{max-inline-size:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:16px}
.ci-why__intro{
  grid-row:span 2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(26px,3vw,40px);border-radius:28px;color:#fff;
  background:
    radial-gradient(70% 60% at 100% 0,rgba(224,12,92,.45),transparent 65%),
    radial-gradient(70% 60% at 0 100%,rgba(241,135,17,.35),transparent 65%),
    linear-gradient(160deg,#2a1350 0%,#120f2c 100%);
  box-shadow:0 30px 60px -32px rgba(15,26,43,.6);
}
.ci-why__intro .ci-crew__eyebrow{color:#ffb24d}
.ci-why__title{margin:6px 0 12px;font-size:clamp(26px,2.4vw,38px);font-weight:900;line-height:1.35;text-wrap:balance}
.ci-why__title em{font-style:normal;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-why__body{margin:0 0 24px;font-size:15px;line-height:1.85;color:rgba(255,255,255,.78)}
.ci-why__tile{
  position:relative;padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(15,26,43,.06);
  box-shadow:0 18px 44px -26px rgba(15,26,43,.3),0 2px 6px rgba(15,26,43,.04);transition:transform .3s ease;
}
.ci-why__tile:hover{transform:translateY(-4px)}
.ci-why__num{position:absolute;inset-block-start:16px;inset-inline-end:20px;font-size:42px;font-weight:900;line-height:1;background:var(--ci2-grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.25}
.ci-why__icon{inline-size:50px;block-size:50px;border-radius:15px;display:grid;place-items:center;color:#fff;background:var(--ci2-grad);box-shadow:0 12px 26px -12px rgba(224,12,92,.7)}
.ci-why__icon svg{inline-size:26px;block-size:26px}
.ci-why__name{margin:16px 0 8px;font-size:18px;font-weight:800;line-height:1.4;color:var(--ci2-navy)}
.ci-why__text{margin:0;font-size:14px;line-height:1.8;color:#5b6475}
.ci-why__stat{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:24px;border-radius:24px;color:#fff;background:var(--ci2-grad);box-shadow:0 22px 44px -22px rgba(224,12,92,.7)}
.ci-why__stat strong{font-size:clamp(38px,3.6vw,56px);font-weight:900;line-height:1.1}
.ci-why__stat span{font-size:15px;font-weight:700;opacity:.95}
@media (max-width:1100px){.ci-why__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ci-why__intro{grid-row:auto;grid-column:1 / -1}}
@media (max-width:640px){.ci-why__grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.ci-why__tile{transition:none}}

/* On the homepage: a coral horizon above and below, glass reason tiles. */
.ci-dusk .ci-why{
  margin-block-start:-1px;
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),
    radial-gradient(42% 34% at 100% 50%,rgba(120,10,190,.2),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-1) 0%,var(--dusk-1) 100%);
}
.ci-dusk .ci-why__tile{background:var(--glass-bg);border-color:var(--glass-line);box-shadow:0 26px 56px -30px rgba(0,0,0,.7)}
.ci-dusk .ci-why__tile:hover{background:var(--glass-bg-hover)}
.ci-dusk .ci-why__name{color:#fff}
.ci-dusk .ci-why__text{color:rgba(255,255,255,.72)}
.ci-dusk .ci-why__num{opacity:.4}
.ci-dusk .ci-why__intro{background:radial-gradient(70% 60% at 100% 0,rgba(224,12,92,.5),transparent 65%),radial-gradient(70% 60% at 0 100%,rgba(241,135,17,.38),transparent 65%),linear-gradient(160deg,#341760 0%,#1a1440 100%);border:1px solid var(--glass-line)}

/* ══════════════════════════════════════════════════════════════════
   GOOGLE REVIEWS — real score + real 5-star reviews (original language)
   ══════════════════════════════════════════════════════════════════ */
.ci-gr{
  --ci-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.8 2.8 5.8 6.3.9-4.6 4.4 1.1 6.3L12 17.2l-5.6 3 1.1-6.3L2.9 9.5l6.3-.9z'/%3E%3C/svg%3E");
  position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(56px,6.5vw,96px);padding-inline:var(--section-x);
  background:linear-gradient(180deg,#fff 0%,#faf6fc 100%);
}
.ci-gr__inner{max-inline-size:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:clamp(28px,4vw,64px);align-items:start}
.ci-gr__summary{
  position:sticky;inset-block-start:calc(var(--header-h) + 24px);padding:clamp(26px,3vw,36px);border-radius:28px;
  background:#fff;border:1px solid rgba(15,26,43,.06);box-shadow:0 22px 50px -28px rgba(15,26,43,.35);
}
.ci-gr__logo{inline-size:52px;block-size:52px;display:grid;place-items:center;border-radius:15px;background:#fff;box-shadow:0 10px 24px -12px rgba(15,26,43,.45)}
.ci-gr__logo svg{inline-size:30px;block-size:30px}
.ci-gr__title{margin:18px 0 8px;font-size:clamp(24px,2.2vw,34px);font-weight:900;line-height:1.35;color:var(--ci2-navy);text-wrap:balance}
.ci-gr__title em{font-style:normal;background:linear-gradient(90deg,#4285f4,#ea4335 35%,#fbbc04 65%,#34a853);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-gr__sub{margin:0 0 20px;font-size:14.5px;line-height:1.8;color:#5b6475}
.ci-gr__score{display:flex;align-items:center;gap:14px}
.ci-gr__score strong{font-size:58px;font-weight:900;line-height:1;color:var(--ci2-navy)}
/* Rating graphics always read left to right, even on Arabic pages. */
.ci-gr__stars{display:inline-flex;gap:2px;direction:ltr}
.ci-gr__star{position:relative;display:inline-block;inline-size:17px;block-size:17px;color:#e3dfe8}
.ci-gr__stars--lg .ci-gr__star{inline-size:26px;block-size:26px}
.ci-gr__star svg{position:absolute;inset:0;inline-size:100%;block-size:100%}
.ci-gr__star::after{
  content:"";position:absolute;inset:0;background:#fbbc04;clip-path:inset(0 calc(100% - var(--fill,0%)) 0 0);
  -webkit-mask:var(--ci-star) center/contain no-repeat;mask:var(--ci-star) center/contain no-repeat;
}
.ci-gr__count{margin:10px 0 22px;font-size:15px;font-weight:700;color:#5b6475}
.ci-gr__all{min-block-size:48px;font-size:14px}
.ci-gr__note{margin:16px 0 0;font-size:12.5px;color:#8a90a0}

/* Masonry columns so long and short reviews pack neatly. */
.ci-gr__list{list-style:none;margin:0;padding:0;columns:2;column-gap:16px}
.ci-gr__card{break-inside:avoid;margin-block-end:16px;padding:22px;border-radius:22px;background:#fff;border:1px solid rgba(15,26,43,.06);box-shadow:0 18px 44px -26px rgba(15,26,43,.3)}
.ci-gr__head{display:flex;align-items:center;gap:12px;margin-block-end:14px}
.ci-gr__avatar{flex:none;inline-size:44px;block-size:44px;border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:800;color:#fff;background:var(--ci2-grad)}
.ci-gr__who{flex:1;min-inline-size:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.ci-gr__who strong{font-size:15px;font-weight:800;color:var(--ci2-navy);overflow-wrap:anywhere}
.ci-gr__g{flex:none;inline-size:22px;block-size:22px}
.ci-gr__g svg{inline-size:100%;block-size:100%}
.ci-gr__text{margin:0;font-size:14.5px;line-height:1.75;color:#3d4556;text-align:start}
@media (max-width:980px){.ci-gr__inner{grid-template-columns:minmax(0,1fr)}.ci-gr__summary{position:static}}
@media (max-width:640px){.ci-gr__list{columns:1}}

/* Homepage: pink horizons, glass panels. */
.ci-dusk .ci-gr{
  margin-block-start:-1px;
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-pink)),
    radial-gradient(40% 34% at 0 50%,rgba(66,133,244,.12),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-pink)),
    linear-gradient(180deg,var(--dusk-4) 0%,var(--dusk-4) 100%);
}
.ci-dusk .ci-gr__summary,.ci-dusk .ci-gr__card{background:var(--glass-bg);border-color:var(--glass-line);box-shadow:0 26px 56px -30px rgba(0,0,0,.7)}
.ci-dusk .ci-gr__title,.ci-dusk .ci-gr__score strong,.ci-dusk .ci-gr__who strong{color:#fff}
.ci-dusk .ci-gr__sub,.ci-dusk .ci-gr__count{color:rgba(255,255,255,.74)}
.ci-dusk .ci-gr__text{color:rgba(255,255,255,.84)}
.ci-dusk .ci-gr__note{color:rgba(255,255,255,.55)}
.ci-dusk .ci-gr__star{color:rgba(255,255,255,.2)}
.ci-dusk .ci-gr__title em{background:linear-gradient(90deg,#8ab4f8,#f28b82 35%,#fdd663 65%,#81c995);-webkit-background-clip:text;background-clip:text}
/* Team now hands its pink horizon to the reviews, which hand it to the media section. */

/* ══════════════════════════════════════════════════════════════════
   FAQ — "Before you take the next step": sticky help card + numbered
   questions whose answers open as chat bubbles.
   ══════════════════════════════════════════════════════════════════ */
.ci-faq2{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(56px,6.5vw,96px);padding-inline:var(--section-x);background:linear-gradient(180deg,#faf6fc 0%,#fff 100%)}
.ci-faq2__inner{max-inline-size:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:clamp(28px,4.5vw,72px);align-items:start}
.ci-faq2__side{position:sticky;inset-block-start:calc(var(--header-h) + 24px)}
.ci-faq2__title{margin:6px 0 12px;font-size:clamp(28px,3vw,46px);font-weight:900;line-height:1.3;color:var(--ci2-navy);text-wrap:balance}
.ci-faq2__title em{font-style:normal;background:var(--ci2-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-faq2__sub{margin:0 0 26px;font-size:15.5px;line-height:1.8;color:#5b6475}
.ci-faq2__help{overflow:hidden;border-radius:26px;background:#fff;border:1px solid rgba(15,26,43,.06);box-shadow:0 22px 50px -28px rgba(15,26,43,.35)}
.ci-faq2__photo{display:block;inline-size:100%;aspect-ratio:16/9;object-fit:cover}
.ci-faq2__help-body{padding:20px 22px 22px}
.ci-faq2__help-body strong{display:block;font-size:19px;font-weight:900;color:var(--ci2-navy)}
.ci-faq2__help-body p{margin:6px 0 16px;font-size:14px;line-height:1.75;color:#5b6475}
.ci-faq2__actions{display:flex;flex-wrap:wrap;gap:10px}
.ci-faq2__actions .ci-hx__btn{min-block-size:46px;padding-inline:20px;font-size:14px}
.ci-faq2__help .ci-hx__btn--ghost{color:var(--ci2-navy);background:#f6f0fa;border-color:transparent}

.ci-faq2__list{display:flex;flex-direction:column;gap:12px}
.ci-faq2__item{border-radius:22px;background:#fff;border:1px solid rgba(15,26,43,.07);box-shadow:0 14px 34px -24px rgba(15,26,43,.3);transition:box-shadow .25s ease,border-color .25s ease}
/* An open question gets a gradient outline. */
.ci-faq2__item[open]{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--ci2-grad) border-box;border:1.5px solid transparent;box-shadow:0 22px 50px -28px rgba(224,12,92,.45)}
.ci-faq2__q{list-style:none;display:flex;align-items:center;gap:16px;padding:18px 20px;cursor:pointer}
.ci-faq2__q::-webkit-details-marker{display:none}
.ci-faq2__q:focus-visible{outline:3px solid #ff4f9d;outline-offset:2px;border-radius:20px}
.ci-faq2__num{flex:none;font-size:30px;font-weight:900;line-height:1;background:var(--ci2-grad);-webkit-background-clip:text;background-clip:text;color:transparent;min-inline-size:44px}
.ci-faq2__qt{flex:1;font-size:16.5px;font-weight:800;line-height:1.5;color:var(--ci2-navy)}
.ci-faq2__toggle{position:relative;flex:none;inline-size:36px;block-size:36px;border-radius:50%;background:#f6f0fa;transition:background-color .25s ease,transform .3s ease}
.ci-faq2__toggle::before,.ci-faq2__toggle::after{content:"";position:absolute;inset:0;margin:auto;inline-size:14px;block-size:2px;border-radius:2px;background:var(--ci2-navy)}
.ci-faq2__toggle::after{transform:rotate(90deg);transition:transform .3s ease}
.ci-faq2__item[open] .ci-faq2__toggle{background:var(--ci2-grad)}
.ci-faq2__item[open] .ci-faq2__toggle::before,.ci-faq2__item[open] .ci-faq2__toggle::after{background:#fff}
.ci-faq2__item[open] .ci-faq2__toggle::after{transform:rotate(0)}
.ci-faq2__a{display:flex;align-items:flex-start;gap:12px;padding:0 20px 20px}
.ci-faq2__avatar{flex:none;inline-size:40px;block-size:40px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--ci2-grad)}
.ci-faq2__avatar svg{inline-size:20px;block-size:20px}
/* Chat bubble with a tail pointing at the avatar. */
.ci-faq2__bubble{position:relative;margin:0;padding:14px 18px;border-radius:4px 18px 18px 18px;background:#f6f0fa;font-size:15px;line-height:1.85;color:#3d4556}
.ci-rtl .ci-faq2__bubble{border-radius:18px 4px 18px 18px}
.ci-faq2__item[open] .ci-faq2__a{animation:ci-faq2-in .35s ease}
@keyframes ci-faq2-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:980px){.ci-faq2__inner{grid-template-columns:minmax(0,1fr)}.ci-faq2__side{position:static}.ci-faq2__help{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.ci-faq2__photo{block-size:100%;aspect-ratio:auto}}
@media (max-width:560px){.ci-faq2__help{display:block}.ci-faq2__photo{aspect-ratio:16/9}.ci-faq2__num{font-size:24px;min-inline-size:34px}.ci-faq2__qt{font-size:15px}.ci-faq2__q{gap:12px;padding:16px}}
@media (prefers-reduced-motion:reduce){.ci-faq2__item[open] .ci-faq2__a{animation:none}}

/* Homepage: glass cards on the dusk canvas, between a pink and a magenta horizon. */
.ci-dusk .ci-faq2{
  margin-block-start:-1px;
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),
    radial-gradient(40% 32% at 0 50%,rgba(120,10,190,.22),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-magenta)),
    linear-gradient(180deg,var(--dusk-1) 0%,#141a35 100%);
}
.ci-dusk .ci-faq2__title{color:#fff}
.ci-dusk .ci-faq2__title em{background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text}
.ci-dusk .ci-faq2__sub{color:rgba(255,255,255,.74)}
.ci-dusk .ci-faq2__help{background:var(--glass-bg);border-color:var(--glass-line)}
.ci-dusk .ci-faq2__help-body strong{color:#fff}
.ci-dusk .ci-faq2__help-body p{color:rgba(255,255,255,.72)}
.ci-dusk .ci-faq2__help .ci-hx__btn--ghost{color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3)}
.ci-dusk .ci-faq2__item{background:var(--glass-bg);border-color:var(--glass-line);box-shadow:0 22px 50px -30px rgba(0,0,0,.6)}
.ci-dusk .ci-faq2__item[open]{background:linear-gradient(#211a45,#211a45) padding-box,var(--ci2-grad) border-box}
.ci-dusk .ci-faq2__qt{color:#fff}
.ci-dusk .ci-faq2__toggle{background:rgba(255,255,255,.1)}
.ci-dusk .ci-faq2__toggle::before,.ci-dusk .ci-faq2__toggle::after{background:#fff}
.ci-dusk .ci-faq2__bubble{background:rgba(255,255,255,.08);color:rgba(255,255,255,.86)}

/* ══════════════════════════════════════════════════════════════════
   CONSULTATION (inline wizard) — split layout and flag chips, so it no
   longer echoes the photo cards of "Top study destinations".
   ══════════════════════════════════════════════════════════════════ */
.ci-wz-inline__inner{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:clamp(28px,4vw,64px);
  align-items:center;max-inline-size:1240px;text-align:start;
}
.ci-wz-inline__intro{display:flex;flex-direction:column;align-items:flex-start}
.ci-wz-inline__intro .ci-eyebrow{color:#ffb24d;margin:0}
.ci-wz-inline__title{margin:12px 0 12px;font-size:clamp(28px,3vw,46px);font-weight:900;line-height:1.3;color:#fff;text-wrap:balance}
.ci-lang-ar .ci-wz-inline__title{line-height:1.45}
.ci-wz-inline__title em{font-style:normal;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-wz-inline__text{margin:0 0 22px;font-size:16px;line-height:1.85;color:rgba(255,255,255,.78)}
.ci-wz-inline__perks{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px}
.ci-wz-inline__perks li{display:flex;align-items:center;gap:12px;font-size:15.5px;font-weight:700;color:#fff}
.ci-wz-inline__perks li span{flex:none;inline-size:28px;block-size:28px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--ci2-grad)}
.ci-wz-inline__perks svg{inline-size:15px;block-size:15px}
.ci-wz-inline .ci-wz-inline__intro .ci-wz__progress{align-items:flex-start;inline-size:min(320px,100%)}

/* The questions sit in a glass card. */
.ci-wz-inline__card{
  padding:clamp(22px,3vw,36px);border-radius:30px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 40px 80px -40px rgba(0,0,0,.7);
}
.ci-wz-inline__card .ci-wz__q{font-size:clamp(24px,2.3vw,34px)}
.ci-wz-inline__card .ci-wz__sub{font-size:15px}
.ci-wz-inline__card .ci-wz__choices{margin-block-start:22px}
.ci-wz-inline__card .ci-wz__choices > .ci-wz__opt{flex-basis:200px}

/* Destinations as flag chips: no landmark photos here. */
.ci-wz-inline .ci-wz__choices--dest{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ci-wz-inline .ci-wz__dest{flex-direction:row;align-items:center;gap:10px;padding:12px 14px;border-radius:16px}
.ci-wz-inline .ci-wz__dest-img{display:none}
.ci-wz-inline .ci-wz__dest-name{margin:0;flex:1;justify-content:flex-start;font-size:15px;text-align:start}
.ci-wz-inline .ci-wz__flag{inline-size:28px;block-size:19px}
.ci-wz-inline .ci-wz__dest .ci-wz__tick{position:static;flex:none;inline-size:22px;block-size:22px;background:none}
.ci-wz-inline .ci-wz__dest.is-checked .ci-wz__tick{background:var(--ci2-grad)}
.ci-wz-inline .ci-wz__dest--unsure .ci-wz__dest-name::before{
  content:"";flex:none;inline-size:28px;block-size:19px;border-radius:4px;background:rgba(255,255,255,.18);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2 2 3 5 3 8s-1 6-3 8c-2-2-3-5-3-8s1-6 3-8z'/%3E%3C/svg%3E") center/16px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2 2 3 5 3 8s-1 6-3 8c-2-2-3-5-3-8s1-6 3-8z'/%3E%3C/svg%3E") center/16px no-repeat;
  background:#fff;
}
.ci-wz-inline .ci-wz__nav{justify-content:flex-start}
@media (max-width:980px){.ci-wz-inline__inner{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.ci-wz-inline .ci-wz__choices--dest{grid-template-columns:repeat(2,minmax(0,1fr))}.ci-wz-inline .ci-wz__dest-name{font-size:14px}}

/* ══════════════════════════════════════════════════════════════════
   BLOG — homepage: the latest article as a full-bleed cover beside a
   column of three; Blog page: country filters + card grid.
   ══════════════════════════════════════════════════════════════════ */
.ci-bl{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(56px,6.5vw,96px);padding-inline:var(--section-x);background:linear-gradient(180deg,#fff 0%,#faf6fc 100%)}
.ci-bl--page{background:#faf6fc}
.ci-bl__inner{max-inline-size:1240px;margin:0 auto}
.ci-bl__head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px 40px;margin-block-end:clamp(26px,3vw,40px)}
.ci-bl__head > div{max-inline-size:660px}
.ci-bl__title{margin:0 0 10px;font-size:clamp(28px,3vw,46px);font-weight:900;line-height:1.3;color:var(--ci2-navy);text-wrap:balance}
.ci-lang-ar .ci-bl__title{line-height:1.45}
.ci-bl__title em{font-style:normal;background:var(--ci2-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-bl__sub{margin:0;font-size:15.5px;line-height:1.8;color:#5b6475}
.ci-bl__note{margin:10px 0 0;font-size:13.5px;font-weight:600;color:#8a90a0}
.ci-bl--page .ci-bl__note{margin:0 0 20px}
.ci-bl .ci-bl__all{flex:none;min-block-size:50px;font-size:14.5px;color:var(--ci2-navy);background:#f6f0fa;border-color:transparent}

/* Magazine grid: one large story beside a column of three. */
.ci-bl__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(16px,2vw,24px)}
.ci-bl__rows{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,16px)}

.ci-bl__card{
  position:relative;display:flex;flex-direction:column;block-size:100%;overflow:hidden;border-radius:24px;
  background:#fff;border:1px solid rgba(15,26,43,.06);box-shadow:0 18px 44px -26px rgba(15,26,43,.3);
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;
}
.ci-bl__card:hover{transform:translateY(-3px);box-shadow:0 26px 54px -26px rgba(224,12,92,.45)}
.ci-bl__card:focus-within{outline:3px solid #ff4f9d;outline-offset:3px}
.ci-bl__media{position:relative;overflow:hidden;background:#efe7f4}
.ci-bl__media img{display:block;inline-size:100%;block-size:100%;object-fit:cover;transition:transform .6s ease}
.ci-bl__card:hover .ci-bl__media img{transform:scale(1.05)}
.ci-bl__body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 20px 20px}
.ci-bl__name{margin:0;font-size:17px;font-weight:800;line-height:1.55;color:var(--ci2-navy)}
.ci-bl__link{color:inherit;text-decoration:none}
.ci-bl__link:hover{color:inherit}
/* One link per card, stretched over the whole card. */
.ci-bl__link::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit}
.ci-bl__link:focus-visible{outline:none}
.ci-bl__text{margin:0;font-size:14.5px;line-height:1.8;color:#5b6475}
.ci-bl__meta{margin:auto 0 0;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:13px;font-weight:600;color:#8a90a0}
.ci-bl__more{font-size:15px;font-weight:800;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Country chip */
.ci-bl__chip{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;
  font-size:12.5px;font-weight:800;line-height:1;color:var(--ci2-navy);background:#fff;box-shadow:0 8px 20px -10px rgba(15,26,43,.55);
}
.ci-bl__flag{flex:none;inline-size:20px;block-size:14px;border-radius:3px;box-shadow:0 0 0 1px rgba(15,26,43,.12)}
.ci-bl__chip--plain::before{content:"";flex:none;inline-size:8px;block-size:8px;border-radius:50%;background:var(--ci2-grad)}
.ci-bl__media .ci-bl__chip{position:absolute;inset-block-start:14px;inset-inline-start:14px;z-index:1}

/* The cover story: photo fills the card, text sits on a navy fade. */
.ci-bl__card--feature{min-block-size:clamp(440px,40vw,540px);border:0}
.ci-bl__card--feature{isolation:isolate}
.ci-bl__card--feature .ci-bl__media{position:absolute;inset:0;z-index:-1}
.ci-bl__card--feature .ci-bl__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,26,43,0) 22%,rgba(15,26,43,.5) 50%,rgba(15,26,43,.94) 100%)}
.ci-bl__card--feature .ci-bl__body{flex:none;margin-block-start:auto;gap:12px;padding:clamp(22px,2.6vw,34px)}
.ci-bl__card--feature .ci-bl__name{font-size:clamp(21px,2vw,30px);line-height:1.45;color:#fff;text-wrap:balance}
.ci-bl__card--feature .ci-bl__text{color:rgba(255,255,255,.8);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ci-bl__card--feature .ci-bl__meta{margin:0;color:rgba(255,255,255,.7)}

/* Compact rows: thumbnail beside the title. */
.ci-bl__card--row{flex-direction:row}
.ci-bl__card--row .ci-bl__media{flex:none;inline-size:clamp(116px,34%,200px)}
.ci-bl__card--row .ci-bl__body{justify-content:center;gap:8px;padding:14px 18px}
.ci-bl__card--row .ci-bl__name{font-size:15.5px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ci-bl__card--row .ci-bl__meta{margin:0;font-size:12.5px}
.ci-bl__card--row .ci-bl__chip{padding-block:5px;background:#f6f0fa;box-shadow:none}

/* Grid cards (Blog page, related articles). */
.ci-bl__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.ci-bl__card--card .ci-bl__media{aspect-ratio:16/10}
.ci-bl__card--card .ci-bl__name,.ci-bl__card--card .ci-bl__text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.ci-bl__filters{display:flex;flex-wrap:wrap;gap:10px;margin-block-end:clamp(22px,2.6vw,34px)}
.ci-bl__filter{
  display:inline-flex;align-items:center;gap:8px;min-block-size:44px;padding-inline:16px;border-radius:999px;
  font-size:14.5px;font-weight:700;color:var(--ci2-navy);background:#fff;border:1px solid rgba(15,26,43,.1);text-decoration:none;
  transition:border-color .2s ease,color .2s ease;
}
.ci-bl__filter:hover{color:#c20a6a;border-color:#e00c5c}
.ci-bl__filter[aria-current]{color:#fff;background:var(--ci2-grad);border-color:transparent}
.ci-bl__pages{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-block-start:clamp(28px,3vw,44px)}
.ci-bl__pages .page-numbers{
  display:inline-grid;place-items:center;min-inline-size:46px;block-size:46px;padding-inline:12px;border-radius:999px;
  font-size:15px;font-weight:800;color:var(--ci2-navy);background:#fff;border:1px solid rgba(15,26,43,.1);text-decoration:none;
}
.ci-bl__pages a.page-numbers:hover{border-color:#e00c5c;color:#c20a6a}
.ci-bl__pages .page-numbers.current{color:#fff;background:var(--ci2-grad);border-color:transparent}
.ci-bl__pages .page-numbers.dots{background:none;border:0}
.ci-bl__empty{margin:0;padding:40px 0;text-align:center;font-size:16px;color:#5b6475}

@media (max-width:1080px){.ci-bl__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.ci-bl__grid{grid-template-columns:minmax(0,1fr)}.ci-bl__rows{grid-template-rows:none}}
@media (max-width:600px){
  .ci-bl__cards{grid-template-columns:minmax(0,1fr)}
  .ci-bl .ci-bl__all{inline-size:100%}
  .ci-bl__card--feature{min-block-size:420px}
  .ci-bl__card--row .ci-bl__media{inline-size:108px}
  .ci-bl__card--row .ci-bl__body{padding:12px 14px}
  .ci-bl__card--row .ci-bl__name{font-size:14.5px}
}
@media (prefers-reduced-motion:reduce){.ci-bl__card,.ci-bl__media img{transition:none}.ci-bl__card:hover{transform:none}.ci-bl__card:hover .ci-bl__media img{transform:none}}

/* Homepage: between the media section's coral horizon and the FAQ's. */
.ci-dusk .ci-bl{
  margin-block-start:-1px;
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),
    radial-gradient(42% 34% at 0 55%,rgba(120,10,190,.22),transparent 70%),
    radial-gradient(38% 30% at 100% 40%,rgba(241,135,17,.12),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-1) 0%,var(--dusk-1) 100%);
}
.ci-dusk .ci-bl__title{color:#fff}
.ci-dusk .ci-bl__title em{background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text}
.ci-dusk .ci-bl__sub{color:rgba(255,255,255,.74)}
.ci-dusk .ci-bl__note{color:rgba(255,255,255,.6)}
.ci-dusk .ci-bl .ci-bl__all{color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.38)}
.ci-dusk .ci-bl__card{background:var(--glass-bg);border-color:var(--glass-line);box-shadow:0 26px 56px -30px rgba(0,0,0,.7)}
.ci-dusk .ci-bl__card:hover{background:var(--glass-bg-hover);box-shadow:0 30px 64px -26px rgba(224,12,92,.5)}
.ci-dusk .ci-bl__card--feature{background:#1a1440}
.ci-dusk .ci-bl__media{background:rgba(255,255,255,.06)}
.ci-dusk .ci-bl__name{color:#fff}
.ci-dusk .ci-bl__meta{color:rgba(255,255,255,.58)}
.ci-dusk .ci-bl__card--row .ci-bl__chip{color:#fff;background:rgba(255,255,255,.1)}

/* ══════════════════════════════════════════════════════════════════
   ARTICLE — dusk header, cover photo overlapping it, text beside a
   sticky contents list and booking card.
   ══════════════════════════════════════════════════════════════════ */
.ci-post__hero{
  position:relative;isolation:isolate;overflow:hidden;color:#fff;
  padding-block:clamp(44px,5.5vw,84px) clamp(130px,13vw,190px);padding-inline:var(--section-x);
  background:
    radial-gradient(60% 70% at 100% 0,rgba(224,12,92,.4),transparent 65%),
    radial-gradient(55% 65% at 0 100%,rgba(241,135,17,.3),transparent 65%),
    linear-gradient(160deg,#16163a 0%,#241245 60%,#1a1440 100%);
}
/* The cover, blurred into a soft glow behind the title. */
.ci-post__glow{position:absolute;inset:-60px;z-index:-2;inline-size:calc(100% + 120px);block-size:calc(100% + 120px);max-inline-size:none;object-fit:cover;filter:blur(48px) saturate(150%);opacity:.4}
.ci-post__hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,26,43,.45) 0%,rgba(26,20,64,.8) 100%)}
.ci-post__head{max-inline-size:920px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.ci-post__crumbs{justify-content:center;margin:0;font-size:13px;color:rgba(255,255,255,.7)}
.ci-post__crumbs a{color:rgba(255,255,255,.78)}
.ci-post__crumbs a:hover{color:#fff}
.ci-post__title{margin:0;font-size:clamp(28px,3.6vw,52px);font-weight:900;line-height:1.3;color:#fff;text-wrap:balance}
.ci-lang-ar .ci-post__title{line-height:1.55}
.ci-post__meta{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;font-size:14px;font-weight:600;color:rgba(255,255,255,.75)}

.ci-post__wrap{padding-inline:var(--section-x);padding-block-end:clamp(48px,6vw,88px);background:#fff}
.ci-post__cover{position:relative;z-index:1;max-inline-size:1000px;margin:calc(-1 * clamp(100px,10vw,150px)) auto 0;text-align:center}
.ci-post__cover img{
  display:inline-block;inline-size:auto;block-size:auto;max-inline-size:100%;max-block-size:min(70vh,600px);
  border-radius:28px;border:6px solid #fff;box-shadow:0 40px 80px -40px rgba(15,26,43,.6);vertical-align:top;
}
.ci-post__layout{max-inline-size:1180px;margin:clamp(36px,4vw,56px) auto 0;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,4vw,64px);align-items:start}
.ci-post__aside{position:sticky;inset-block-start:calc(var(--header-h) + 24px);display:grid;gap:18px}

.ci-post__toc{padding:20px;border-radius:22px;background:#faf6fc;border:1px solid rgba(15,26,43,.06)}
.ci-post__toc-h{margin:0 0 10px;font-size:15px;font-weight:900;color:var(--ci2-navy)}
.ci-post__toc ol{list-style:none;margin:0;padding:0;counter-reset:ci-toc;display:grid;gap:2px;max-block-size:42vh;overflow-y:auto;overscroll-behavior:contain}
.ci-post__toc li{counter-increment:ci-toc}
.ci-post__toc a{display:flex;gap:10px;padding:7px 8px;border-radius:10px;font-size:13.5px;line-height:1.6;color:#4a5263;text-decoration:none}
.ci-post__toc a::before{content:counter(ci-toc,decimal-leading-zero);flex:none;font-weight:900;background:var(--ci2-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-post__toc a:hover{color:var(--ci2-navy);background:#fff}

.ci-post__cta{
  padding:24px;border-radius:24px;color:#fff;
  background:radial-gradient(70% 60% at 100% 0,rgba(224,12,92,.5),transparent 65%),radial-gradient(70% 60% at 0 100%,rgba(241,135,17,.38),transparent 65%),linear-gradient(160deg,#341760 0%,#1a1440 100%);
  box-shadow:0 26px 56px -30px rgba(26,20,64,.8);
}
.ci-post__cta strong{display:block;font-size:19px;font-weight:900;line-height:1.45}
.ci-post__cta p{margin:8px 0 18px;font-size:14px;line-height:1.75;color:rgba(255,255,255,.8)}
.ci-post__cta .ci-hx__btn{inline-size:100%;min-block-size:50px;padding-inline:18px;font-size:14.5px}
.ci-post__call{display:block;margin-block-start:12px;text-align:center;font-size:14px;font-weight:700;color:rgba(255,255,255,.85)}
.ci-post__call:hover{color:#fff}

/* Article text */
.ci-post__body{max-inline-size:none;font-size:16.5px;line-height:2}
.ci-post__body h2{position:relative;padding-inline-start:16px;font-size:clamp(22px,2.2vw,30px);font-weight:900;line-height:1.45;color:var(--ci2-navy);scroll-margin-block-start:calc(var(--header-h) + 24px)}
.ci-post__body h2::before{content:"";position:absolute;inset-block:.3em;inset-inline-start:0;inline-size:5px;border-radius:5px;background:var(--ci2-grad)}
.ci-post__body h3,.ci-post__body h4{color:var(--ci2-navy);font-weight:800;line-height:1.55}
.ci-post__body p,.ci-post__body li{color:#3d4556}
.ci-post__body strong{color:var(--ci2-navy)}
.ci-post__body a{color:#c20a6a}
.ci-post__body .has-text-align-center{text-align:center}
.ci-post__body figure{margin:28px 0;text-align:center}
.ci-post__body img{max-inline-size:100%;block-size:auto;border-radius:18px}
.ci-post__body iframe{display:block;inline-size:100%;block-size:auto;aspect-ratio:16/9;border:0;border-radius:18px}
.ci-post__body blockquote{margin:28px 0;padding:18px 22px;border-radius:18px;border-inline-start:5px solid #e00c5c;background:#faf6fc}
.ci-post__body blockquote p:last-child{margin:0}
/* Booking box the old site pasted into its articles. */
.ci-post__body .campus-cta-wrapper{
  margin:34px 0;padding:26px 28px;border-radius:24px;color:#fff;
  background:radial-gradient(70% 90% at 100% 0,rgba(224,12,92,.45),transparent 62%),radial-gradient(60% 80% at 0 100%,rgba(241,135,17,.35),transparent 62%),linear-gradient(160deg,#341760 0%,#1a1440 100%);
  box-shadow:0 26px 56px -30px rgba(26,20,64,.8);
}
.ci-post__body .campus-cta-content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px}
.ci-post__body .campus-cta-text{flex:1 1 260px;font-size:clamp(19px,1.8vw,24px);font-weight:900;line-height:1.5;color:#fff}
.ci-post__body .campus-cta-button{
  display:inline-flex;align-items:center;justify-content:center;min-block-size:50px;padding-inline:26px;border-radius:999px;
  font-size:15px;font-weight:800;color:#fff;text-decoration:none;background:var(--ci2-grad);box-shadow:0 16px 36px -12px rgba(224,12,92,.7);
}
.ci-post__body .campus-cta-button:hover{color:#fff}
/* Rank Math FAQ blocks */
.ci-post__body .rank-math-list-item{margin-block-end:12px;padding:18px 20px;border-radius:18px;background:#faf6fc;border:1px solid rgba(15,26,43,.06)}
.ci-post__body .rank-math-question{margin:0 0 6px;font-size:17px}
.ci-post__body .rank-math-answer p:last-child{margin:0}

.ci-post__related{padding-block:clamp(48px,6vw,88px);padding-inline:var(--section-x);background:#faf6fc}
.ci-post__related-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-block-end:clamp(22px,2.6vw,34px)}
.ci-post__related .ci-bl__title{margin:0;font-size:clamp(24px,2.4vw,36px)}
.ci-post__back{font-size:15px;font-weight:800;color:#c20a6a}

@media (max-width:1024px){
  .ci-post__layout{grid-template-columns:minmax(0,1fr)}
  .ci-post__aside{position:static}
  .ci-post__toc{display:none}
}
@media (max-width:600px){
  .ci-post__body{font-size:16px}
  .ci-post__cover img{border-width:4px;border-radius:20px}
  .ci-post__body .campus-cta-button{inline-size:100%}
}

/* ══════════════════════════════════════════════════════════════════
   DESTINATION PAGES — the homepage's full-bleed dusk hero for each
   country, then the guide as one long article beside a call-back form.
   ══════════════════════════════════════════════════════════════════ */
.ci-overlay-header .ci-dhx{min-block-size:max(600px,92vh);min-block-size:max(600px,92svh)}
.ci-dhx__inner{
  align-self:center;display:flex;flex-direction:column;align-items:center;text-align:center;
  inline-size:100%;max-inline-size:1120px;margin-inline:auto;
  padding-inline:var(--section-x);padding-block:calc(var(--hx-top,0px) + clamp(36px,6vh,80px)) clamp(40px,7vh,72px);
}
.ci-dhx__crumbs{justify-content:center;margin:0 0 20px;font-size:13px;color:rgba(255,255,255,.72)}
.ci-dhx__crumbs a{color:rgba(255,255,255,.85)}
.ci-dhx__crumbs a:hover{color:#fff}
.ci-dhx__pill{
  display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;
  font-size:14px;font-weight:700;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.ci-dhx__flag{flex:none;inline-size:24px;block-size:16px;border-radius:3px}
.ci-dhx__title{
  margin:18px 0 0;max-inline-size:22ch;font-size:var(--hx-title);font-weight:900;line-height:1.25;letter-spacing:-.02em;
  color:#fff;text-shadow:0 6px 34px rgba(15,26,43,.55);
}
.ci-lang-ar .ci-dhx__title{line-height:1.42;letter-spacing:0}
.ci-dhx__sub{max-inline-size:60ch;font-size:clamp(16px,1.45vw,20px);line-height:1.85}
.ci-dhx__badges{list-style:none;margin:clamp(28px,4.5vh,48px) 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ci-dhx__badges li{
  display:inline-flex;align-items:center;gap:10px;padding-block:9px;padding-inline:10px 16px;border-radius:16px;
  font-size:14px;font-weight:700;color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
.ci-dhx__badges b{flex:none;display:grid;place-items:center;inline-size:30px;block-size:30px;border-radius:10px;font-size:14px;background:var(--ci2-grad)}
@media (max-width:820px){
  .ci-overlay-header .ci-dhx{min-block-size:auto}
  .ci-dhx__inner{padding-block:calc(var(--hx-top,0px) + 40px) 44px}
  .ci-dhx__badges li{font-size:13px}
}

/* The article */
.ci-da{padding-inline:var(--section-x);padding-block:clamp(40px,5vw,72px) clamp(56px,6vw,96px);background:#fff}
.ci-da__layout{max-inline-size:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,4vw,64px)}
.ci-da__main{min-inline-size:0}
.ci-da__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:0 0 24px;padding-block-end:18px;
  border-block-end:1px solid rgba(15,26,43,.08);font-size:13.5px;font-weight:600;color:#6b7385;
}
.ci-da__by{display:inline-flex;align-items:center;gap:9px;font-weight:800;color:var(--ci2-navy)}
.ci-da__by img{inline-size:30px;block-size:30px;border-radius:50%;object-fit:cover;border:1px solid rgba(15,26,43,.1);background:#fff}
.ci-da__lead{margin:0 0 28px;font-size:clamp(17px,1.5vw,20px);line-height:1.95;font-weight:600;color:var(--ci2-navy)}

.ci-da__toc{margin:0 0 36px;border-radius:22px;background:#faf6fc;border:1px solid rgba(15,26,43,.07)}
.ci-da__toc summary{list-style:none;display:flex;align-items:center;gap:12px;padding:16px 22px;cursor:pointer;color:var(--ci2-navy)}
.ci-da__toc summary::-webkit-details-marker{display:none}
.ci-da__toc summary::after{
  content:"";margin-inline-start:auto;inline-size:9px;block-size:9px;
  border-inline-end:2.5px solid currentColor;border-block-end:2.5px solid currentColor;transform:rotate(45deg);transition:transform .25s ease;
}
.ci-da__toc[open] summary::after{transform:rotate(-135deg)}
.ci-da__toc summary:focus-visible{outline:3px solid #ff4f9d;outline-offset:2px;border-radius:20px}
.ci-da__toc-h{font-size:17px;font-weight:900}
.ci-da__toc-n{padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:700;color:#6b7385;background:#fff}
.ci-da__toc ol{list-style:none;margin:0;padding:0 14px 16px;counter-reset:ci-dtoc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}
.ci-da__toc li{counter-increment:ci-dtoc}
.ci-da__toc a{display:flex;gap:10px;padding:8px;border-radius:10px;font-size:14.5px;line-height:1.6;color:#3d4556;text-decoration:none}
.ci-da__toc a::before{content:counter(ci-dtoc,decimal-leading-zero);flex:none;font-weight:900;background:var(--ci2-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-da__toc a:hover{color:var(--ci2-navy);background:#fff}

.ci-da__body{max-inline-size:none;font-size:16.5px;line-height:2}
.ci-da__sec,.ci-da__faq{scroll-margin-block-start:calc(var(--header-h) + 24px)}
.ci-da__body h2,.ci-da__faq > h2{
  position:relative;margin-block:44px 18px;padding-inline-start:18px;
  font-size:clamp(23px,2.3vw,32px);font-weight:900;line-height:1.45;color:var(--ci2-navy);
}
.ci-da__body h2::before,.ci-da__faq > h2::before{content:"";position:absolute;inset-block:.28em;inset-inline-start:0;inline-size:5px;border-radius:5px;background:var(--ci2-grad)}
.ci-da__sec:first-child h2{margin-block-start:8px}
.ci-da__body h3,.ci-da__body h4{color:var(--ci2-navy);font-weight:800;line-height:1.55}
.ci-da__body h3{font-size:clamp(18px,1.6vw,21px)}
.ci-da__body p,.ci-da__body li{color:#3d4556}
.ci-da__body strong,.ci-da__body b{color:var(--ci2-navy)}
.ci-da__body a{color:#c20a6a}
.ci-da__body li::marker{color:#e00c5c;font-weight:800}
.ci-da__body ul ul,.ci-da__body ol ul{margin-block:8px 4px}
.ci-da__soon{margin:0 0 24px;padding:22px 24px;border-radius:20px;background:#faf6fc;font-size:16px;line-height:1.9;color:#3d4556}

/* "Start your journey" boxes between sections: the country's landmark under a dusk veil. */
.ci-da__cta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;
  margin-block:40px;padding:clamp(22px,2.6vw,32px);border-radius:26px;color:#fff;
  background:
    radial-gradient(70% 90% at 100% 0,rgba(224,12,92,.42),transparent 62%),
    linear-gradient(160deg,rgba(52,23,96,.94) 0%,rgba(26,20,64,.9) 100%),
    var(--dg-img,none) center/cover,#1a1440;
  box-shadow:0 26px 56px -30px rgba(26,20,64,.8);
}
.ci-da__cta > div:first-child{flex:1 1 320px}
.ci-da__cta strong{display:block;font-size:clamp(19px,1.8vw,24px);font-weight:900;line-height:1.5}
.ci-da__cta p{margin:8px 0 0;font-size:14.5px;line-height:1.8;color:rgba(255,255,255,.8)}
.ci-da__cta-actions{display:flex;flex-wrap:wrap;gap:10px}
.ci-da__cta .ci-hx__btn{min-block-size:50px;padding-inline:22px;font-size:14.5px}
.ci-da__cta--end{margin-block-end:0}

.ci-da__faq{margin-block-start:44px}
.ci-da__faq .ci-faq2__item[open] .ci-faq2__a{animation:none}
.ci-da__answer{display:block;padding-block:0 18px;padding-inline:80px 22px;font-size:15.5px;line-height:1.95;color:#3d4556}
.ci-da__answer p{margin:0 0 10px}
.ci-da__answer ul{margin:0 0 10px;padding-inline-start:20px}
.ci-da__answer > :last-child{margin-block-end:0}

/* Sidebar: other destinations, then a call-back form that follows the reader. */
.ci-da__aside{display:flex;flex-direction:column;gap:18px}
.ci-da__others{padding:20px;border-radius:22px;background:#faf6fc;border:1px solid rgba(15,26,43,.07)}
.ci-da__others-h{margin:0 0 10px;font-size:15px;font-weight:900;color:var(--ci2-navy)}
.ci-da__others ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ci-da__others a{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;font-size:14px;font-weight:700;color:#3d4556;text-decoration:none}
.ci-da__others a:hover{color:var(--ci2-navy);background:#fff}
.ci-da__others .ci-flag{flex:none;inline-size:24px;block-size:16px;border-radius:3px;box-shadow:0 0 0 1px rgba(15,26,43,.1)}
.ci-da__form{
  position:sticky;inset-block-start:calc(var(--header-h) + 20px);
  padding:24px;border-radius:26px;color:#fff;
  background:radial-gradient(70% 60% at 100% 0,rgba(224,12,92,.5),transparent 65%),radial-gradient(70% 60% at 0 100%,rgba(241,135,17,.38),transparent 65%),linear-gradient(160deg,#341760 0%,#1a1440 100%);
  box-shadow:0 26px 56px -30px rgba(26,20,64,.8);
}
.ci-da__form-pill{display:inline-block;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:800;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24)}
.ci-da__form-h{margin:12px 0 6px;font-size:21px;font-weight:900;line-height:1.45;color:#fff}
.ci-da__form p{margin:0 0 16px;font-size:14px;line-height:1.75;color:rgba(255,255,255,.8)}
.ci-da__form .ci-form{display:grid;gap:10px}
.ci-da__form .ci-field{margin:0}
.ci-da__form .ci-field input,.ci-da__form .ci-select{
  inline-size:100%;min-block-size:50px;margin:0;padding-inline:16px;border-radius:14px;font:inherit;font-size:14.5px;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);
}
.ci-da__form .ci-field input::placeholder{color:rgba(255,255,255,.62)}
.ci-da__form .ci-field input:focus,.ci-da__form .ci-select:focus{outline:2px solid #ff4f9d;outline-offset:1px;border-color:transparent}
.ci-da__form .ci-select option{color:var(--ci2-navy)}
.ci-da__form .ci-hx__btn{inline-size:100%;min-block-size:52px;margin-block-start:4px;font-size:15px}

.ci-da__related{background:#faf6fc}

@media (max-width:1080px){
  .ci-da__layout{grid-template-columns:minmax(0,1fr)}
  .ci-da__aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .ci-da__form{position:static;order:-1}
}
@media (max-width:760px){
  .ci-da__toc ol{grid-template-columns:minmax(0,1fr)}
  .ci-da__aside{grid-template-columns:minmax(0,1fr)}
  .ci-da__answer{padding-inline:20px}
  .ci-da__body{font-size:16px}
  .ci-da__cta-actions,.ci-da__cta .ci-hx__btn{inline-size:100%}
}
@media (prefers-reduced-motion:reduce){.ci-da__toc summary::after{transition:none}}

/* ══════════════════════════════════════════════════════════════════
   STANDARD PAGES — dusk bands after the hero. Each band is lit by a
   coral horizon top and bottom, so bands and reused homepage blocks
   meet without a seam; text sits on the dark sky, lists become glass
   cards and numbered steps.
   ══════════════════════════════════════════════════════════════════ */
.ci-pgs{
  position:relative;overflow:hidden;isolation:isolate;margin-block-start:-1px;
  padding-block:clamp(56px,6.5vw,96px);padding-inline:var(--section-x);color:rgba(255,255,255,.84);
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),
    radial-gradient(40% 34% at 100% 50%,rgba(120,10,190,.2),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-1) 0%,var(--dusk-1) 100%);
}
.ci-pgs:nth-child(even){
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),
    radial-gradient(40% 34% at 0 50%,rgba(241,135,17,.14),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-4) 0%,var(--dusk-4) 100%);
}
/* The first band picks up the purple glow at the foot of the hero. */
.ci-pg > .ci-pgs:first-child{
  margin-block-start:0;
  background:
    radial-gradient(70% 280px at 50% 0,rgba(120,10,190,.45),transparent 75%),
    radial-gradient(40% 30% at 100% 45%,rgba(224,12,92,.14),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-0) 0%,var(--dusk-1) 100%);
}
.ci-pgs__inner{max-inline-size:1180px;margin:0 auto}
.ci-pgs__title{
  margin:0 auto clamp(24px,3vw,40px);max-inline-size:26ch;text-align:center;
  font-size:clamp(26px,2.8vw,42px);font-weight:900;line-height:1.35;color:#fff;text-wrap:balance;
}
.ci-pgs__prose{font-size:16.5px;line-height:2}
.ci-pgs__prose > :not(.ci-cards):not(.ci-flow):not(.is-style-ci-cards):not(.is-style-ci-steps):not(.is-style-ci-cta):not(.alignwide):not(.alignfull):not(.wp-block-columns):not(.wp-block-media-text):not(.wp-block-gallery):not(.wp-block-table){max-inline-size:820px;margin-inline:auto}
.ci-pgs__prose p{margin-block:0 18px;color:rgba(255,255,255,.82)}
.ci-pgs__prose h2{margin-block:44px 16px;font-size:clamp(22px,2.2vw,30px);font-weight:900;line-height:1.45;color:#fff;scroll-margin-block-start:calc(var(--header-h) + 24px)}
.ci-pgs__prose h2:first-child{margin-block-start:0}
.ci-pgs__prose h3{margin-block:26px 10px;font-size:19px;font-weight:800;line-height:1.55;color:#fff}
.ci-pgs__prose strong,.ci-pgs__prose b{color:#fff}
.ci-pgs__prose a{color:#ffb24d;text-decoration:underline;text-underline-offset:3px}
.ci-pgs__prose ul:not(.ci-cards):not(.is-style-ci-ticks),.ci-pgs__prose ol:not(.ci-flow){margin-block:0 20px;padding-inline-start:22px}
.ci-pgs__prose li{margin-block-end:8px;color:rgba(255,255,255,.82)}
.ci-pgs__prose ul:not(.ci-cards):not(.is-style-ci-ticks) > li::marker{color:#ff6b4f}
/* The page's own motto, set like a headline. */
.ci-pgs__prose :is(.ci-motto,.is-style-ci-motto){
  margin-block:0 26px;text-align:center;font-size:clamp(24px,2.6vw,38px);font-weight:900;line-height:1.4;
  background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.ci-pgs--intro .ci-pgs__prose,.ci-pgs__inner.ci-pgs__prose{font-size:17px}

/* Lists of titled items → glass cards. */
.ci-pgs__prose :is(.ci-cards,.is-style-ci-cards){
  list-style:none;margin:clamp(26px,3vw,40px) 0 clamp(26px,3vw,40px);padding:0;counter-reset:ci-card;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(14px,1.6vw,22px);
}
.ci-pgs__prose :is(.ci-cards > li,.is-style-ci-cards > *){
  counter-increment:ci-card;position:relative;margin:0;padding:clamp(22px,2.4vw,30px);border-radius:24px;
  background:var(--glass-bg);border:1px solid var(--glass-line);box-shadow:0 26px 56px -30px rgba(0,0,0,.7);
  font-size:15px;line-height:1.9;
}
.ci-pgs__prose :is(.ci-cards > li,.is-style-ci-cards > *)::before{
  content:counter(ci-card,decimal-leading-zero);display:grid;place-items:center;inline-size:46px;block-size:46px;margin-block-end:14px;
  border-radius:14px;font-size:16px;font-weight:900;color:#fff;background:var(--ci2-grad);box-shadow:0 12px 26px -12px rgba(224,12,92,.7);
}
.ci-pgs__prose :is(.ci-cards,.is-style-ci-cards) h3{margin:0 0 10px;font-size:18px}
.ci-pgs__prose :is(.ci-cards,.is-style-ci-cards) p{margin-block-end:10px;font-size:15px;line-height:1.9}
.ci-pgs__prose :is(.ci-cards > li,.is-style-ci-cards > *) > :last-child{margin-block-end:0}
.ci-pgs__prose :is(.ci-cards,.is-style-ci-cards) ul{padding-inline-start:20px;margin-block-end:10px}

/* Numbered steps joined by a gradient line. */
.ci-pgs__prose :is(.ci-flow,.is-style-ci-steps){
  list-style:none;margin:clamp(26px,3vw,40px) 0 0;padding:0;counter-reset:ci-flow;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:clamp(14px,1.6vw,22px);
}
.ci-pgs__prose :is(.ci-flow > li,.is-style-ci-steps > *){
  counter-increment:ci-flow;position:relative;margin:0;padding:22px;border-radius:22px;text-align:center;
  background:var(--glass-bg);border:1px solid var(--glass-line);
}
.ci-pgs__prose :is(.ci-flow > li,.is-style-ci-steps > *)::before{
  content:counter(ci-flow);display:grid;place-items:center;inline-size:52px;block-size:52px;margin:0 auto 14px;border-radius:50%;
  font-size:20px;font-weight:900;color:#fff;background:var(--ci2-grad);box-shadow:0 12px 28px -10px rgba(224,12,92,.75);
}
.ci-pgs__prose :is(.ci-flow,.is-style-ci-steps) h3{margin:0 0 8px;font-size:16.5px}
.ci-pgs__prose :is(.ci-flow,.is-style-ci-steps) p{margin:0;font-size:14.5px;line-height:1.85}

/* ── Glass forms (contact, parents) ───────────────────────────── */
.ci-gform{
  padding:clamp(22px,2.6vw,34px);border-radius:28px;color:#fff;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 40px 80px -40px rgba(0,0,0,.7);
}
.ci-gform__h{margin:0 0 16px;font-size:22px;font-weight:900;color:#fff}
.ci-gform .ci-form{display:grid;gap:12px}
.ci-gform__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ci-gform input:not([type=checkbox]),.ci-gform textarea,.ci-gform select{
  inline-size:100%;min-block-size:52px;margin:0;padding:12px 16px;border-radius:14px;font:inherit;font-size:15px;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);
}
.ci-gform textarea{min-block-size:130px;resize:vertical;line-height:1.7}
.ci-gform input::placeholder,.ci-gform textarea::placeholder{color:rgba(255,255,255,.6)}
.ci-gform input:focus,.ci-gform textarea:focus{outline:2px solid #ff4f9d;outline-offset:1px;border-color:transparent}
.ci-gform__set{margin:0;padding:0;border:0;display:grid;gap:12px;min-inline-size:0}
.ci-gform__set legend{margin-block-end:10px;padding:0;font-size:13px;font-weight:800;letter-spacing:.02em;color:#ffb24d}
.ci-gform__consent{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,.8);cursor:pointer}
.ci-gform__consent input{inline-size:18px;block-size:18px;accent-color:#e00c5c;flex:none}
.ci-gform .ci-hx__btn{inline-size:100%;min-block-size:54px;font-size:15.5px}
.ci-gform .ci-form__done{color:#fff}
@media (max-width:560px){.ci-gform__row{grid-template-columns:minmax(0,1fr)}}

/* ── Parents' follow-up form ───────────────────────────────────── */
.ci-pf{
  margin-block-start:-1px;padding-block:clamp(56px,6.5vw,96px);padding-inline:var(--section-x);
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),
    radial-gradient(42% 34% at 0 50%,rgba(120,10,190,.22),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-1) 0%,var(--dusk-1) 100%);
}
.ci-pf__inner{max-inline-size:860px;margin:0 auto}
.ci-pf__title{margin:0 0 8px;font-size:clamp(26px,2.6vw,38px);font-weight:900;line-height:1.35;color:#fff}
.ci-pf__title em,.ci-ct__title em{font-style:normal;background:var(--ci2-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.ci-pf__text{margin:0 0 22px;font-size:15.5px;line-height:1.85;color:rgba(255,255,255,.78)}

/* ── Contact ───────────────────────────────────────────────────── */
.ci-ct{
  margin-block-start:-1px;padding-block:clamp(56px,6.5vw,96px) 0;padding-inline:var(--section-x);color:#fff;
  background:
    radial-gradient(70% 280px at 50% 0,rgba(120,10,190,.45),transparent 75%),
    radial-gradient(40% 32% at 100% 40%,rgba(224,12,92,.16),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-0) 0%,var(--dusk-1) 100%);
}
.ci-pg > .ci-pgs + .ci-ct{background:radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),linear-gradient(180deg,var(--dusk-1) 0%,var(--dusk-1) 100%)}
.ci-ct__inner{max-inline-size:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);align-items:start}
.ci-ct__title{margin:0 0 10px;font-size:clamp(28px,3vw,46px);font-weight:900;line-height:1.3;color:#fff}
.ci-ct__text{margin:0 0 26px;font-size:16px;line-height:1.85;color:rgba(255,255,255,.78)}
.ci-ct__cards{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px}
.ci-ct__cards li{
  display:flex;align-items:flex-start;gap:16px;padding:18px 20px;border-radius:22px;
  background:var(--glass-bg);border:1px solid var(--glass-line);
}
.ci-ct__icon{flex:none;display:grid;place-items:center;inline-size:46px;block-size:46px;border-radius:14px;color:#fff;background:var(--ci2-grad);box-shadow:0 12px 26px -12px rgba(224,12,92,.7)}
.ci-ct__icon svg{inline-size:22px;block-size:22px}
.ci-ct__cards small{display:block;margin-block-end:4px;font-size:12.5px;font-weight:800;color:#ffb24d}
.ci-ct__cards address{font-style:normal;font-size:15.5px;line-height:1.7;color:#fff}
.ci-ct__cards a{color:rgba(255,255,255,.8);font-size:13.5px;font-weight:700}
.ci-ct__cards a:hover{color:#fff}
.ci-ct__cards .ci-ct__big{display:inline-block;font-size:18px;font-weight:800;color:#fff;unicode-bidi:isolate}
.ci-rtl .ci-ct__cards .ci-ct__big{text-align:end}
.ci-ct__social{margin:0}
.ci-ct__map{max-inline-size:1240px;margin:clamp(36px,4vw,56px) auto 0;padding-block-end:clamp(56px,6vw,90px)}
.ci-ct__map iframe{display:block;inline-size:100%;block-size:clamp(280px,32vw,420px);border:1px solid var(--glass-line);border-radius:26px;filter:saturate(.9)}
@media (max-width:980px){.ci-ct__inner{grid-template-columns:minmax(0,1fr)}}

/* ── Programs on the dusk canvas ───────────────────────────────── */
.ci-dusk .ci-pr{
  margin-block-start:-1px;
  background:
    radial-gradient(1100px 380px at 50% 0,var(--hz-coral)),
    radial-gradient(42% 34% at 100% 50%,rgba(120,10,190,.2),transparent 70%),
    radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),
    linear-gradient(180deg,var(--dusk-1) 0%,var(--dusk-1) 100%);
}
.ci-dusk .ci-pg > .ci-pr:first-child{margin-block-start:0;background:radial-gradient(70% 280px at 50% 0,rgba(120,10,190,.45),transparent 75%),radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),linear-gradient(180deg,var(--dusk-0) 0%,var(--dusk-1) 100%)}
.ci-dusk .ci-pr__card{background:var(--glass-bg);border-color:var(--glass-line);box-shadow:0 26px 56px -30px rgba(0,0,0,.7)}
.ci-dusk .ci-pr__name{color:#fff}
.ci-dusk .ci-pr__text{color:rgba(255,255,255,.74)}
.ci-dusk .ci-pr__label{color:#ffb24d}
.ci-dusk .ci-pr__dests a{color:#fff;background:rgba(255,255,255,.1)}
.ci-dusk .ci-pr__dests a:hover{background:rgba(255,255,255,.18)}

/* ── Track application on the dusk canvas ──────────────────────── */
.ci-dusk .ci-track{
  margin-block-start:-1px;
  background:radial-gradient(70% 280px at 50% 0,rgba(120,10,190,.45),transparent 75%),radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),linear-gradient(180deg,var(--dusk-0) 0%,var(--dusk-1) 100%);
}

/* ── Blog page controls on the dusk canvas ─────────────────────── */
.ci-dusk .ci-bl--page{background:radial-gradient(70% 280px at 50% 0,rgba(120,10,190,.45),transparent 75%),radial-gradient(1100px 380px at 50% 100%,var(--hz-coral)),linear-gradient(180deg,var(--dusk-0) 0%,var(--dusk-1) 100%)}
.ci-dusk .ci-bl__filter{color:#fff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2)}
.ci-dusk .ci-bl__filter:hover{color:#fff;border-color:#ff4f9d}
.ci-dusk .ci-bl__filter[aria-current]{background:var(--ci2-grad);border-color:transparent}
.ci-dusk .ci-bl__pages .page-numbers{color:#fff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2)}
.ci-dusk .ci-bl__pages a.page-numbers:hover{color:#fff;border-color:#ff4f9d}
.ci-dusk .ci-bl__pages .page-numbers.current{background:var(--ci2-grad);border-color:transparent}
.ci-dusk .ci-bl__pages .page-numbers.dots{background:none}
.ci-dusk .ci-bl__empty{color:rgba(255,255,255,.75)}
.ci-dusk .ci-bl__card--card .ci-bl__text{color:rgba(255,255,255,.72)}

/* ── Block editor content inside the dusk bands ────────────────── */
/* WordPress spaces flow-layout children with margins; grid items must not. */
.ci-pgs__prose :is(.is-style-ci-cards,.is-style-ci-steps) > *{margin:0 !important}
.ci-pgs__prose :is(.is-style-ci-cards,.is-style-ci-steps) > * > :first-child{margin-block-start:0}
.ci-pgs__prose :is(.ci-cards,.is-style-ci-cards,.ci-flow,.is-style-ci-steps,.wp-block-columns,.wp-block-media-text,.wp-block-gallery,.alignwide){max-inline-size:1180px;margin-inline:auto}
.ci-pgs__prose .alignfull{max-inline-size:none}
.ci-pgs__prose .has-text-align-center{text-align:center}
.ci-pgs__prose .is-style-ci-ticks{list-style:none;margin-block:0 22px;padding:0;display:grid;gap:12px}
.ci-pgs__prose .is-style-ci-ticks > li{position:relative;margin:0;padding-inline-start:38px;font-weight:600;color:#fff}
.ci-pgs__prose .is-style-ci-ticks > li::before{
  content:"✓";position:absolute;inset-inline-start:0;inset-block-start:.25em;display:grid;place-items:center;inline-size:26px;block-size:26px;border-radius:50%;
  font-size:13px;font-weight:900;color:#fff;background:var(--ci2-grad);
}
.ci-pgs__prose .is-style-ci-cta{
  margin-block:clamp(26px,3vw,40px);padding:clamp(24px,3vw,40px);border-radius:28px;text-align:center;
  background:radial-gradient(70% 90% at 100% 0,rgba(224,12,92,.42),transparent 62%),radial-gradient(60% 80% at 0 100%,rgba(241,135,17,.3),transparent 62%),linear-gradient(160deg,#341760 0%,#1a1440 100%);
  border:1px solid var(--glass-line);box-shadow:0 30px 60px -34px rgba(0,0,0,.7);
}
.ci-pgs__prose .is-style-ci-cta h3{margin-block-start:0;font-size:clamp(20px,2vw,26px)}
.ci-pgs__prose .is-style-ci-cta .wp-block-buttons{justify-content:center}
.ci-pgs__prose figure{margin-block:28px}
.ci-pgs__prose img{max-inline-size:100%;block-size:auto}
.ci-pgs__prose .wp-block-image img,.ci-pgs__prose .wp-block-media-text__media img,.ci-pgs__prose .wp-block-gallery img{border-radius:22px}
.ci-pgs__prose .is-style-ci-frame img{border:6px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.ci-pgs__prose figcaption{margin-block-start:10px;font-size:13.5px;text-align:center;color:rgba(255,255,255,.6)}
.ci-pgs__prose .wp-block-media-text{gap:clamp(20px,3vw,44px);margin-block:30px}
.ci-pgs__prose .wp-block-media-text__content{padding:0}
.ci-pgs__prose .wp-block-columns{gap:clamp(18px,2.4vw,36px);margin-block:28px}
.ci-pgs__prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-block:22px}
.ci-pgs__prose .wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;min-block-size:52px;padding:0 28px;border:0;border-radius:999px;
  font-size:15px;font-weight:800;color:#fff;text-decoration:none;background:var(--ci2-grad);box-shadow:0 16px 36px -12px rgba(224,12,92,.7);
}
.ci-pgs__prose .is-style-outline .wp-block-button__link{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.38);box-shadow:none}
.ci-pgs__prose .wp-block-button__link:hover{color:#fff;filter:brightness(1.08)}
.ci-pgs__prose :is(blockquote,.wp-block-quote,.wp-block-pullquote){
  margin-block:28px;padding:18px 22px;border-radius:18px;border:0;border-inline-start:5px solid #e00c5c;background:rgba(255,255,255,.06);
}
.ci-pgs__prose :is(blockquote,.wp-block-quote) p:last-child{margin:0}
.ci-pgs__prose .wp-block-table{overflow-x:auto;margin-block:26px}
.ci-pgs__prose table{inline-size:100%;border-collapse:collapse;font-size:15px}
.ci-pgs__prose :is(th,td){padding:12px 14px;text-align:start;border:1px solid rgba(255,255,255,.16)}
.ci-pgs__prose th{color:#fff;background:rgba(255,255,255,.08)}
.ci-pgs__prose hr,.ci-pgs__prose .wp-block-separator{block-size:2px;margin-block:34px;border:0;background:linear-gradient(90deg,transparent,rgba(255,79,157,.7),transparent)}
.ci-pgs__prose .wp-block-embed iframe,.ci-pgs__prose iframe{inline-size:100%;block-size:auto;aspect-ratio:16/9;border:0;border-radius:20px}

/* Destination pages: the header scrolls away with the hero, so nothing it
   would have covered needs to clear it. */
.ci-static-header .ci-da__form{inset-block-start:24px}
.ci-static-header :is(.ci-da__sec,.ci-da__faq,.ci-post__body h2){scroll-margin-block-start:24px}

/* ══════════════════════════════════════════════════════════════════
   CLIENT ROUND 3 — homepage refinements
   ══════════════════════════════════════════════════════════════════ */
/* Hero: six destinations — one row on wide screens, two rows of three below 1100px. */
@media (max-width:1100px){
  .ci-hx__cards--many{grid-template-columns:repeat(3,minmax(0,170px));row-gap:16px}
  .ci-hx__cards--many .ci-hx__card{margin-block-start:0 !important} /* no arc across two rows */
  .ci-hx__cards--many .ci-hx__card::after{display:none}
}
@media (max-width:820px){
  .ci-hx__cards--many{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-block:26px 34px}
  .ci-hx__cards--many .ci-hx__card{padding:6px 6px 9px;border-radius:16px;gap:6px}
  .ci-hx__cards--many .ci-hx__card:last-child:nth-child(odd){grid-column:auto;justify-self:stretch;inline-size:auto}
  .ci-hx__cards--many .ci-hx__card-img{aspect-ratio:1/1;border-radius:11px}
  .ci-hx__cards--many .ci-hx__card-name{font-size:13.5px;line-height:1.25}
}

/* "See all" buttons under homepage sections (and the blog's, moved below the posts). */
.ci-sec-more{display:flex;justify-content:center;margin-block-start:clamp(26px,3vw,40px)}
.ci-sec-more .ci-hx__btn{min-block-size:50px;padding-inline:26px;font-size:15px}
.ci-bl .ci-sec-more .ci-bl__all{flex:none}

/* Media on the homepage: six photos in an even grid, four videos. */
.ci-md__grid--home{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(150px,16vw,240px)}
.ci-md__grid--home .ci-md__photo:first-child{grid-column:auto;grid-row:auto}
@media (max-width:560px){.ci-md__grid--home{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:130px}}

/* Inline booking form: buttons sit at the foot of the reserved height. */
.ci-wz-inline .ci-wz__nav{margin-block-start:auto;padding-block-start:clamp(20px,3vh,32px)}

/* Arrows are text glyphs, never emoji tiles. */
.ci-hx__btn span[aria-hidden],.ci-btn span[aria-hidden]{font-variant-emoji:text}

/* Title Case for every title and button in French and English. */
.ci-ltr :is(h1,h2,h3,h4,legend.ci-wz__q,.ci-hx__btn,.ci-btn,.ci-bl__more,.ci-post__back,.ci-td__cta,.ci-pr__cta,.ci-nav__track,.ci-head-actions .ci-btn,.wp-block-button__link,.ci-md__tab,.ci-wz__nav button,.ci-gform button){text-transform:capitalize}

/* ICEF: the official badge (script by ICEF), responsive. */
.ci-ft__icef #iasBadge{flex:none;display:block;line-height:0}
.ci-ft__icef #iasBadge a{display:block}
.ci-ft__icef #iasBadge img{inline-size:clamp(84px,9vw,112px) !important;block-size:auto !important;border-radius:10px;background:#fff}
@media (max-width:560px){.ci-ft__icef{display:flex;inline-size:100%}.ci-ft__icef #iasBadge img{inline-size:88px !important}}

/* ══════════════════════════════════════════════════════════════════
   CLIENT ROUND 4 — final points
   ══════════════════════════════════════════════════════════════════ */

/* Social-proof counters: number above label, equal columns, centred, even dividers. */
.ci-metrics{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;padding-block:clamp(34px,4vw,56px)}
.ci-metrics__item{flex-direction:column;justify-content:center;gap:10px;padding:8px clamp(10px,2vw,28px);text-align:center;border-inline-end:1px solid rgba(255,255,255,.35)}
.ci-metrics__item strong{font-family:var(--font-body);font-weight:900;font-size:clamp(34px,4.2vw,60px);line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.ci-metrics__item span{max-inline-size:22ch;font-size:clamp(12.5px,1.05vw,15px);font-weight:700;line-height:1.5;letter-spacing:.02em;text-transform:none;opacity:.95}
.ci-lang-ar .ci-metrics__item span{letter-spacing:0}
@media (max-width:860px){
  .ci-metrics{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:0;padding-block:20px}
  .ci-metrics__item{padding-block:22px}
  .ci-metrics__item:nth-child(2n){border-inline-end:0}
  .ci-metrics__item:nth-child(-n+2){border-block-end:1px solid rgba(255,255,255,.35)}
}

/* Google reviews: stars only, no score number. */
.ci-gr__score{justify-content:flex-start}

/* Destination hero: trust bar — four equal items, icon over centred text, thin dividers, one row everywhere. */
.ci-trust{
  list-style:none;margin:clamp(28px,4.5vh,48px) 0 0;padding:0;inline-size:min(100%,920px);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
.ci-trust__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 10px;text-align:center;color:#fff}
.ci-trust__item + .ci-trust__item{border-inline-start:1px solid rgba(255,255,255,.22)}
.ci-trust__icon{display:grid;place-items:center;inline-size:40px;block-size:40px;border-radius:12px;background:var(--ci2-grad);box-shadow:0 10px 22px -10px rgba(224,12,92,.8)}
.ci-trust__icon svg{inline-size:22px;block-size:22px}
.ci-trust__text{font-size:14px;font-weight:700;line-height:1.4}
@media (max-width:600px){
  .ci-trust{border-radius:16px}
  .ci-trust__item{gap:6px;padding:12px 4px}
  .ci-trust__icon{inline-size:32px;block-size:32px;border-radius:10px}
  .ci-trust__icon svg{inline-size:18px;block-size:18px}
  .ci-trust__text{font-size:11px;line-height:1.35}
}

/* Destination video, directly under the hero. */
.ci-dvid{
  padding-block:clamp(40px,5vw,72px);padding-inline:var(--section-x);color:#fff;
  background:radial-gradient(70% 260px at 50% 0,rgba(120,10,190,.4),transparent 75%),linear-gradient(180deg,#141a35 0%,#1a1440 100%);
}
.ci-dvid__inner{max-inline-size:1100px;margin:0 auto}
.ci-dvid__title{margin:0 0 clamp(20px,2.6vw,32px);text-align:center;font-size:clamp(22px,2.4vw,34px);font-weight:900;line-height:1.4;color:#fff}
.ci-dvid__player{position:relative;inline-size:100%;max-inline-size:960px;margin:0 auto;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#0f1a2b;box-shadow:0 40px 80px -40px rgba(0,0,0,.8);border:1px solid rgba(255,255,255,.14)}
.ci-dvid__player iframe{display:block;inline-size:100%;block-size:100%;border:0}
.ci-dvid__btn{position:absolute;inset:0;display:block;inline-size:100%;block-size:100%;padding:0;border:0;cursor:pointer;background:none}
.ci-dvid__btn img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform .6s ease}
.ci-dvid__btn:hover img{transform:scale(1.03)}
.ci-dvid__btn:focus-visible{outline:3px solid #ff4f9d;outline-offset:-3px}
.ci-dvid__player .ci-vid__play{position:absolute;inset:0;margin:auto}
.ci-dvid__player--soon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(160deg,rgba(52,23,96,.9),rgba(15,26,43,.92)),var(--dg-img,none) center/cover,#1a1440}
.ci-dvid__player--soon .ci-vid__play{position:static;margin:0;opacity:.85}
.ci-dvid__player--soon strong{font-size:clamp(16px,1.6vw,20px);font-weight:800;color:#fff}
.ci-dvid__shorts{max-inline-size:1100px}

/* Track application: tracking-number search and its "not found" answer. */
.ci-track__form{display:flex;gap:10px;inline-size:min(100%,560px);margin:26px auto 0}
.ci-track__field{position:relative;flex:1;display:flex;align-items:center}
.ci-track__field svg{position:absolute;inset-inline-start:16px;inline-size:20px;block-size:20px;color:rgba(255,255,255,.6);pointer-events:none}
.ci-track__field input{
  inline-size:100%;min-block-size:54px;padding-inline:48px 16px;border-radius:999px;font:inherit;font-size:15.5px;letter-spacing:.02em;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);text-align:start;
}
.ci-rtl .ci-track__field input{text-align:right}
.ci-track__field input::placeholder{color:rgba(255,255,255,.6);letter-spacing:0}
.ci-track__field input:focus{outline:2px solid #ff4f9d;outline-offset:2px}
.ci-track__form .ci-hx__btn{min-block-size:54px;padding-inline:30px;flex:none}
.ci-track__result{
  display:flex;align-items:center;gap:14px;inline-size:min(100%,560px);margin:16px auto 0;padding:16px 18px;border-radius:18px;text-align:start;
  background:rgba(243,63,41,.14);border:1px solid rgba(255,107,79,.45);color:#fff;
}
.ci-track__result[hidden]{display:none}
.ci-track__result.is-shown{animation:ci-faq2-in .35s ease}
.ci-track__result-icon{flex:none;display:grid;place-items:center;inline-size:40px;block-size:40px;border-radius:50%;background:rgba(255,107,79,.25);color:#ffb39c}
.ci-track__result-icon svg{inline-size:22px;block-size:22px}
.ci-track__result strong{display:block;font-size:16px;font-weight:800}
.ci-track__result small{display:block;margin-block-start:3px;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.78)}
@media (max-width:560px){.ci-track__form{flex-direction:column}.ci-track__form .ci-hx__btn{inline-size:100%}}
/* Tracking number found (inc/tracking.php) */
.ci-track__found{inline-size:min(100%,620px);margin:16px auto 0;padding:18px 20px;border-radius:20px;text-align:start;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(110,231,183,.4)}
.ci-track__found[hidden],.ci-track__found [hidden]{display:none}
.ci-track__found.is-shown{animation:ci-faq2-in .35s ease}
.ci-track__found-head{display:flex;align-items:center;gap:14px}
.ci-track__found-head strong{display:block;font-size:17px;font-weight:800;line-height:1.45}
.ci-track__found-head small{display:block;margin-block-start:3px;font-size:14px;color:rgba(255,255,255,.78)}
.ci-track__result-icon--ok{background:rgba(16,185,129,.22);color:#6ee7b7}
.ci-track__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0}
.ci-track__meta div{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06)}
.ci-track__meta dt{font-size:12px;font-weight:700;color:rgba(255,255,255,.62)}
.ci-track__meta dd{margin:3px 0 0;font-size:15px;font-weight:800;overflow-wrap:anywhere}
.ci-track__note{margin-block-start:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);border-inline-start:3px solid #ff4f9d}
.ci-track__note span{font-size:12px;font-weight:700;color:rgba(255,255,255,.62)}
.ci-track__note p{margin:4px 0 0;font-size:14.5px;line-height:1.75;white-space:pre-line}
.ci-track__steps.is-tracked .ci-track__step::before{background:rgba(255,255,255,.18)}
.ci-track__steps.is-tracked .ci-track__step.is-done::before{background:linear-gradient(90deg,#f18711,#e00c5c)}
.ci-track__steps.is-tracked .ci-track__step .ci-track__dot{background:#2a2150;border-color:rgba(255,255,255,.22);box-shadow:none}
.ci-track__steps.is-tracked .ci-track__step:is(.is-done,.is-current) .ci-track__dot{background:var(--ci2-grad);border-color:transparent}
.ci-track__steps.is-tracked .ci-track__step.is-current{color:#fff}
.ci-track__steps.is-tracked .ci-track__step.is-current .ci-track__dot{box-shadow:0 0 0 6px rgba(255,79,157,.22),0 10px 24px -10px rgba(224,12,92,.8)}
.ci-track__form .ci-hx__btn.is-busy{opacity:.7;cursor:progress}
@media (max-width:560px){.ci-track__meta{grid-template-columns:1fr}.ci-track__found-head{flex-direction:column;text-align:center}}

/* Light / dark switch in the header. */
.ci-theme{
  flex:none;display:grid;place-items:center;inline-size:38px;block-size:38px;padding:0;border-radius:50%;cursor:pointer;
  color:var(--plum-ink);background:transparent;border:1px solid var(--line);transition:background-color .2s ease,color .2s ease;
}
.ci-theme svg{inline-size:18px;block-size:18px}
.ci-theme:hover{background:rgba(15,26,43,.06)}
.ci-theme:focus-visible{outline:3px solid #ff4f9d;outline-offset:2px}
.ci-theme__moon{display:none}
html.ci-light .ci-theme__sun{display:none}
html.ci-light .ci-theme__moon{display:block}
.ci-overlay-header .ci-theme{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06)}
.ci-overlay-header .ci-theme:hover{background:rgba(255,255,255,.16)}

/* ── Light mode: the dusk overrides are dropped (body loses .ci-dusk); these
   are the light versions of the parts that only had a dark design. ── */
html.ci-light body{background:#fff}
html.ci-light .ci-pgs,html.ci-light .ci-pf,html.ci-light .ci-ct{color:#3d4556;background:#fff}
html.ci-light .ci-pgs:nth-child(even),html.ci-light .ci-pf{background:#faf6fc}
html.ci-light .ci-pg > .ci-pgs:first-child,html.ci-light .ci-ct{background:linear-gradient(180deg,#f3ecfa 0%,#fff 70%)}
html.ci-light :is(.ci-pgs__title,.ci-pf__title,.ci-ct__title,.ci-gform__h){color:var(--ci2-navy)}
html.ci-light .ci-pgs__prose :is(p,li){color:#4a5263}
html.ci-light .ci-pgs__prose :is(h2,h3,strong,b){color:var(--ci2-navy)}
html.ci-light .ci-pgs__prose a{color:#c20a6a}
html.ci-light .ci-pgs__prose :is(.ci-motto,.is-style-ci-motto){background:var(--ci2-grad);-webkit-background-clip:text;background-clip:text}
html.ci-light .ci-pgs__prose :is(.ci-cards > li,.is-style-ci-cards > *,.ci-flow > li,.is-style-ci-steps > *){background:#fff;border-color:rgba(15,26,43,.08);box-shadow:0 18px 44px -26px rgba(15,26,43,.3)}
html.ci-light .ci-pgs__prose .is-style-ci-ticks > li{color:var(--ci2-navy)}
html.ci-light .ci-pgs__prose :is(blockquote,.wp-block-quote,.wp-block-pullquote){background:#faf6fc}
html.ci-light .ci-pgs__prose :is(th,td){border-color:rgba(15,26,43,.12)}
html.ci-light .ci-pgs__prose th{color:var(--ci2-navy);background:#f6f0fa}
html.ci-light .ci-pgs__prose figcaption{color:#6b7385}
html.ci-light .ci-pgs__prose .is-style-ci-cta :is(h3,p,strong){color:#fff}
html.ci-light .ci-ct__text,html.ci-light .ci-pf__text{color:#5b6475}
html.ci-light .ci-ct__cards li{background:#fff;border-color:rgba(15,26,43,.08);box-shadow:0 14px 34px -24px rgba(15,26,43,.3)}
html.ci-light .ci-ct__cards small{color:#c25a00}
html.ci-light .ci-ct__cards address,html.ci-light .ci-ct__cards .ci-ct__big{color:var(--ci2-navy)}
html.ci-light .ci-ct__cards a{color:#5b6475}
html.ci-light .ci-ct__social{color:#5b6475}
html.ci-light .ci-ct__social a{color:var(--ci2-navy);background:#f6f0fa;border-color:transparent}
html.ci-light .ci-gform{color:var(--ci2-navy);background:#fff;border-color:rgba(15,26,43,.08);box-shadow:0 26px 56px -32px rgba(15,26,43,.35);-webkit-backdrop-filter:none;backdrop-filter:none}
html.ci-light .ci-gform :is(input:not([type=checkbox]),textarea,select){color:var(--ci2-navy);background:#f7f4fa;border-color:rgba(15,26,43,.12)}
html.ci-light .ci-gform :is(input,textarea)::placeholder{color:#8a90a0}
html.ci-light .ci-gform__set legend{color:#c25a00}
html.ci-light .ci-gform__consent{color:#5b6475}
html.ci-light .ci-gform .ci-form__done{color:var(--ci2-navy)}
html.ci-light .ci-sec-more .ci-hx__btn--ghost{color:var(--ci2-navy);background:#f6f0fa;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
html.ci-light .ci-ct__map iframe{border-color:rgba(15,26,43,.1)}
html.ci-light .ci-bl--page{background:#faf6fc}
html.ci-light .ci-track{background:linear-gradient(180deg,#faf6fc 0%,#fff 100%)}

/* ── Mobile: centred layout, one-line buttons, centred article CTAs ── */
@media (max-width:600px){
  .ci-jr__head,.ci-bl__head,.ci-bl__head > div,.ci-gr__summary,.ci-faq2__side,.ci-wz-inline__intro,.ci-about__copy,.ci-why__intro,.ci-why__tile,
  .ci-pr__card,.ci-crew__card,.ci-ct__info,.ci-pf__inner,.ci-track__inner,.ci-ft__cta,.ci-ft__brand,.ci-ft__col,.ci-ft__bar,.ci-da__meta,
  .ci-pgs__title,.ci-dvid__title,.ci-post__head,.ci-post__related-head,.ci-bl__card .ci-bl__body,.ci-td__body,.ci-md,.ci-st,.ci-parents__inner > div{text-align:center}
  .ci-bl__head,.ci-post__related-head,.ci-gr__score,.ci-about__actions,.ci-about__social,.ci-faq2__actions,.ci-da__meta,.ci-ft__icef,
  .ci-ft__bar,.ci-ft__meta,.ci-bl__meta,.ci-wz-inline__perks li,.ci-ct__social,.ci-hx__ctas{justify-content:center}
  .ci-bl__head,.ci-wz-inline__intro,.ci-why__tile,.ci-pr__card,.ci-bl__card .ci-bl__body,.ci-gr__summary,.ci-gform__set,.ci-ft__brand,.ci-about__copy{align-items:center}
  .ci-wz-inline .ci-wz-inline__intro .ci-wz__progress{align-items:center;margin-inline:auto}
  .ci-wz-inline__perks{justify-items:center}
  .ci-ft__col ul,.ci-ft__phones{justify-items:center}
  .ci-ft__logo,.ci-why__icon,.ci-gr__logo{margin-inline:auto}
  .ci-pr__cta{align-self:center}
  .ci-ct__cards li{flex-direction:column;align-items:center;text-align:center}

  /* Button labels stay on one line. */
  :is(.ci-hx__btn,.ci-btn,.wp-block-button__link,.ci-td__cta,.ci-pr__cta,.campus-cta-button){
    white-space:nowrap;font-size:clamp(12.5px,3.6vw,15px);padding-inline:clamp(14px,4.4vw,26px);max-inline-size:100%;
  }

  /* Calls to action inside articles: centred. */
  .ci-da__cta,.ci-post__cta,.ci-pgs__prose .is-style-ci-cta,.ci-post__body .campus-cta-wrapper{text-align:center}
  .ci-da__cta{flex-direction:column;align-items:center}
  .ci-da__cta-actions{justify-content:center;inline-size:100%}
  .ci-post__body .campus-cta-content{flex-direction:column;justify-content:center;text-align:center}
}
@media (max-width:600px){
  .ci-track__result{flex-direction:column;text-align:center}
  .ci-gr__summary .ci-gr__score{flex-direction:column;gap:8px}
}

/* Team: the portraits are framed on the face, a little larger. */
.ci-crew__photo{inline-size:120px;block-size:120px}
.ci-crew__photo img{object-position:50% 18%}
@media (max-width:560px){.ci-crew__photo{inline-size:96px;block-size:96px}}

/* ══════════════════════════════════════════════════════════════════
   Client round 5 (2026-10-28)
   ══════════════════════════════════════════════════════════════════ */

/* Student stories: a grid of video cards per destination, each under its own heading. */
.ci-st__groups{max-inline-size:1160px;margin:clamp(28px,3.4vw,44px) auto 0;display:grid;gap:clamp(36px,4.4vw,60px)}
.ci-st__dest{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 clamp(16px,1.8vw,24px);font-size:clamp(19px,1.8vw,24px);font-weight:900;line-height:1.3;color:var(--ci2-navy)}
.ci-st__dest::before,.ci-st__dest::after{content:"";flex:1;max-inline-size:240px;block-size:1px;background:rgba(224,12,92,.35)}
.ci-st__dest > span{display:inline-flex;align-items:center}
.ci-st__flag{flex:none;inline-size:30px;block-size:20px;border-radius:4px;box-shadow:0 2px 8px rgba(15,26,43,.25)}
.ci-dusk .ci-st__dest{color:#fff}
.ci-dusk .ci-st__dest::before,.ci-dusk .ci-st__dest::after{background:rgba(255,255,255,.24)}
.ci-st__grid{--g:clamp(14px,1.6vw,24px);list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--g)}
.ci-st__grid > li{flex:0 0 calc((100% - 3 * var(--g)) / 4);min-inline-size:0}
@media (max-width:900px){.ci-st__grid > li{flex-basis:calc((100% - var(--g)) / 2)}.ci-st__groups{max-inline-size:640px}}
@media (max-width:480px){.ci-st__grid{--g:10px}.ci-st__dest{gap:10px}.ci-st__flag{inline-size:26px;block-size:17px}}

/* Destination video: one video, large and centred (portrait for student shorts). */
.ci-dvid__player{max-inline-size:1000px}
.ci-dvid__player--tall{max-inline-size:min(100%,380px);aspect-ratio:9/16}
.ci-dvid__cap{display:flex;align-items:flex-start;justify-content:center;gap:10px;max-inline-size:460px;margin:16px auto 0;font-size:15px;font-weight:700;line-height:1.65;text-align:center;color:rgba(255,255,255,.88)}
.ci-dvid__cap .ci-flag{flex:none;inline-size:24px;block-size:16px;margin-block-start:4px;border-radius:3px}
@media (max-width:600px){.ci-dvid__player--tall{max-inline-size:min(100%,320px)}.ci-dvid__cap{font-size:14px}}

/* "Start your journey" boxes on phones: the text no longer keeps its 320px desktop basis as height. */
@media (max-width:600px){
  .ci-da__cta{gap:18px;padding:26px 20px;margin-block:32px;border-radius:22px}
  .ci-da__cta > div:first-child{flex:0 0 auto;inline-size:100%}
  .ci-da__cta strong{font-size:19px}
  .ci-da__cta p{margin-block-start:6px}
  .ci-da__cta-actions{gap:10px}
  .ci-da__cta .ci-hx__btn{min-block-size:48px}
}

/* Trust bar: as many equal columns as items (China keeps four, the others three). */
.ci-trust{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}

/* Contact form: readable "Reason for contact" choices, and the site's own arrow. */
.ci-gform select{
  -webkit-appearance:none;appearance:none;padding-inline-end:46px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:18px;
}
.ci-rtl .ci-gform select{background-position:left 16px center}
.ci-gform select:invalid{color:rgba(255,255,255,.62)}
.ci-gform select option{color:#0f1a2b;background:#fff}
html.ci-light .ci-gform select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f1a2b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:18px;
}
html.ci-light .ci-rtl .ci-gform select{background-position:left 16px center}
html.ci-light .ci-gform select:invalid{color:rgba(15,26,43,.55)}

/* Footer on phones: links as a tidy two-column grid of tap targets, headings centred. */
@media (max-width:600px){
  .ci-ft__grid{gap:34px}
  .ci-ft__h{margin-block-end:16px}
  .ci-ft__h::after{inset-inline:0;margin-inline:auto}
  nav.ci-ft__col > ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-items:stretch}
  nav.ci-ft__col > ul > li{display:flex;min-inline-size:0}
  nav.ci-ft__col > ul a{
    display:flex;align-items:center;justify-content:center;gap:8px;inline-size:100%;min-block-size:44px;padding:8px 10px;
    border-radius:12px;font-size:13.5px;line-height:1.35;text-align:center;color:rgba(255,255,255,.9);
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);
  }
  nav.ci-ft__col > ul a:hover{background:rgba(255,255,255,.14)}
  .ci-ft__bar{gap:14px}
}

/* Header with "Contact" added: keep one line between the menu-button breakpoint and 1360px. */
@media (min-width:1281px){.ci-header .ci-head-actions{margin-inline-start:12px}.ci-header .ci-head-actions .ci-btn{white-space:nowrap}}
@media (min-width:1281px) and (max-width:1400px){
  .ci-header .ci-head-actions{gap:8px}
  .ci-header .ci-head-actions .ci-btn{padding-inline:18px}
  .ci-nav .ci-nav__track{padding-inline:10px;gap:6px}
  .ci-ltr .ci-nav{gap:12px}
  .ci-header{padding-inline:2.6vw}
}

/* Google reviews summary: larger stars in clean half steps, with room before the button. */
.ci-gr__score{margin-block:6px 24px}
.ci-gr__stars--lg{gap:5px}
.ci-gr__stars--lg .ci-gr__star{inline-size:30px;block-size:30px}
.ci-dusk .ci-gr__star{color:rgba(255,255,255,.28)}
.ci-gr__summary .ci-gr__all{inline-size:100%;justify-content:center}
.ci-gr__note{margin-block-start:14px}
@media (max-width:600px){.ci-gr__summary .ci-gr__score{margin-block:4px 20px}}
