/* ---------- fonts (self-hosted, no third-party CDN) ---------- */
@font-face { font-family:'Bodoni Moda'; font-weight:700; font-style:normal; font-display:swap; src:url('../assets/fonts/bodoni-moda-700.woff2') format('woff2'); }
@font-face { font-family:'Bodoni Moda'; font-weight:800; font-style:normal; font-display:swap; src:url('../assets/fonts/bodoni-moda-800.woff2') format('woff2'); }
@font-face { font-family:'Satisfy'; font-weight:400; font-style:normal; font-display:swap; src:url('../assets/fonts/satisfy-400.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-weight:400; font-style:normal; font-display:swap; src:url('../assets/fonts/poppins-400.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-weight:500; font-style:normal; font-display:swap; src:url('../assets/fonts/poppins-500.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-weight:600; font-style:normal; font-display:swap; src:url('../assets/fonts/poppins-600.woff2') format('woff2'); }
@font-face { font-family:'Archivo'; font-weight:700; font-style:normal; font-display:swap; src:url('../assets/fonts/archivo-700.woff2') format('woff2'); }
@font-face { font-family:'Archivo'; font-weight:800; font-style:normal; font-display:swap; src:url('../assets/fonts/archivo-800.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-weight:800; font-style:normal; font-display:swap; src:url('../assets/fonts/poppins-800.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-weight:700; font-style:normal; font-display:swap; src:url('../assets/fonts/poppins-700.woff2') format('woff2'); }

/* ---------- tokens ---------- */
:root{
  --teal-deep-1:#062c34;
  --teal-deep-2:#051d24;
  --teal:#008f8a;
  --gold:#f5b62b;
  --coral:#e95850;
  --white:#ffffff;
  --radius:8px;
  --shadow:0 24px 60px rgba(2,16,20,.45);
  --ease:cubic-bezier(0.25,0.1,0.25,1);
  --micro:200ms var(--ease);
  --font-display:'Archivo', -apple-system, 'Segoe UI', sans-serif;
  --font-script:'Satisfy', cursive;
  --font-body:'Poppins', -apple-system, sans-serif;
  /* scene unit: scales every pinned scene with BOTH viewport axes so
     content always fits 100svh — same idea as the homepage --u system */
  --u: clamp(8.5px, min(1.05vw, 1.72vh), 17px);
  --headerH: calc(var(--u)*5.8);
}
@supports (height: 1svh){
  :root{ --u: clamp(8.5px, min(1.05vw, 1.72svh), 17px); }
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:auto; }
body{
  margin:0;
  background:var(--teal-deep-2);
  color:var(--white);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  overflow-x:clip; /* keeps position:sticky working, unlike hidden */
}

/* Adaptive low-power path. It preserves the full editorial content while
   removing the compositor-heavy glass, sticky runways and clip animation. */
html.is-lite .site-header,
html.is-lite .site-header.is-scrolled{
  background:rgba(5,29,36,.97);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html.is-lite .route,
html.is-lite .opening__hint{ display:none; }
html.is-lite .scene,
html.is-lite .site-footer{
  content-visibility:auto;
  contain:layout paint style;
  contain-intrinsic-size:auto 900px;
}
html.is-lite .scene--opening{ content-visibility:visible; contain:none; }
html.is-lite .scene__pin{
  min-height:min(860px, 100svh);
  transform:none !important;
}
html.is-lite .scene--wipes .scene__pin,
html.is-lite .gcard,
html.is-lite .poster-card{
  clip-path:none !important;
  will-change:auto !important;
}
html.is-lite .scene__video{ pointer-events:none; }
html.is-lite .chapter__kicker,
html.is-lite .chapter__title,
html.is-lite .chapter__lede,
html.is-lite .chapter__duration,
html.is-lite .chapter__price,
html.is-lite .chapter__cta,
html.is-lite .itinerary__step,
html.is-lite .itinerary__more,
html.is-lite .gcard,
html.is-lite .closing__intro,
html.is-lite .closing__cta,
html.is-lite .poster-card{
  opacity:1 !important;
  transform:none !important;
}

@media (min-width:761px){
  html.is-lite .scene__pin{ padding-top:max(96px, calc(var(--headerH) + 24px)); }
  html.is-lite .chapter,
  html.is-lite .scene--closing{ min-height:760px; }
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ margin:0; font-family:var(--font-display); font-weight:700; }
p{ margin:0; }
ol{ margin:0; padding:0; list-style:none; }
em{ font-style:italic; }
figure{ margin:0; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.5em;
  padding:.85em 1.8em;
  border-radius:999px;
  font-size:max(12px, calc(var(--u)*0.95));
  font-weight:600;
  letter-spacing:.02em;
  transition:transform var(--micro), box-shadow var(--micro), background var(--micro);
  white-space:nowrap;
}
.btn--coral{ background:var(--coral); color:var(--white); box-shadow:0 10px 30px rgba(233,88,80,.35); }
.btn--coral:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(233,88,80,.48); }
.btn--outline{ border:1.5px solid rgba(255,255,255,.55); color:var(--white); }
.btn--outline:hover{ background:rgba(255,255,255,.1); border-color:var(--white); transform:translateY(-2px); }
.btn:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ---------- header (nav pills matching the homepage header) ---------- */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:100;
  display:flex;
  align-items:center;
  gap:calc(var(--u)*1.4);
  padding:calc(var(--u)*1.1) clamp(18px, 3.4vw, 56px);
  background:transparent;
  transition:background var(--micro), box-shadow var(--micro), backdrop-filter var(--micro);
}
.site-header.is-scrolled{
  background:rgba(5,29,36,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 8px 30px rgba(0,0,0,.28);
}
.site-header__logo{ flex:0 0 auto; }
.site-header__logo img{ height:clamp(46px, calc(var(--u)*3.3), 54px); width:auto; }
.site-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  justify-content:center;
  gap:calc(var(--u)*0.42);
}
.site-nav a{
  display:inline-flex;
  align-items:center;
  height:calc(var(--u)*2.82);
  padding:0 calc(var(--u)*1.35);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:rgba(255,255,255,.96);
  font-size:max(12px, calc(var(--u)*1.02));
  font-weight:700;
  white-space:nowrap;
  transition:background-color var(--micro), color var(--micro);
}
.site-nav a:hover{ background:rgba(255,255,255,.18); color:var(--white); }
.site-nav a.is-active{ color:#ffb21c; background:rgba(255,178,28,.14); }
.site-nav a.is-active:hover{ background:rgba(255,178,28,.22); }
.site-nav a:focus-visible{ outline:2px solid rgba(255,255,255,.7); outline-offset:2px; }
.site-header__login{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  height:calc(var(--u)*2.96);
  padding:0 calc(var(--u)*1.3);
  border:2px solid rgba(255,255,255,.92);
  border-radius:8px;
  color:var(--white);
  font-size:max(12px, calc(var(--u)*0.95));
  font-weight:700;
  white-space:nowrap;
  transition:background var(--micro);
}
.site-header__enterprise{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:calc(var(--u)*2.96);
  padding:0 calc(var(--u)*1.18);
  border:1px solid rgba(113,234,225,.55);
  border-radius:8px;
  background:rgba(0,143,138,.92);
  box-shadow:0 8px 24px rgba(0,55,58,.18);
  color:#fff;
  font-size:max(12px,calc(var(--u)*.92));
  font-weight:700;
  white-space:nowrap;
  font-family:inherit;
  cursor:pointer;
  transition:background var(--micro),border-color var(--micro),transform var(--micro);
}
.site-header__enterprise:hover{ background:#00a39d; border-color:rgba(143,248,240,.82); transform:translateY(-1px); }
.site-header__enterprise:focus-visible{ outline:2px solid rgba(255,255,255,.7); outline-offset:2px; }
.site-header__login i{ margin-right:8px; font-size:1.05em; }
.site-header__login:hover{ background:rgba(255,255,255,.12); }
.site-header__login:focus-visible{ outline:2px solid rgba(255,255,255,.7); outline-offset:2px; }
.site-header__menu,
.mobile-nav{ display:none; }

/* ---------- gold route line ---------- */
.route{
  display:none;
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:60;
  pointer-events:none;
}
.route{ mix-blend-mode:screen; }
.route path#routePath{
  stroke:rgba(245,182,43,.42);
  stroke-width:2;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
.route #routePlane path{ fill:var(--gold); }
@media (min-width:761px){
  html.is-cinematic .route{ display:block; }
}

/* ---------- scenes: static (non-cinematic / reduced-motion / mobile) baseline ---------- */
.scene{ position:relative; }
.scene__pin{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:calc(var(--headerH) + var(--u)*1.3) 0 calc(var(--u)*2.2);
  overflow:hidden;
}
.scene__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  background:var(--teal-deep-2) center/cover no-repeat;
}
.scene__dim{
  position:absolute;
  inset:0;
  background:#02090c;
  opacity:0;
  pointer-events:none;
  z-index:6;
}
.opening__scrim{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(5,20,25,.55) 0%, rgba(5,20,25,.3) 40%, rgba(5,20,25,.75) 100%);
}
.chapter__scrim{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(100deg, rgba(5,20,25,.88) 0%, rgba(5,20,25,.66) 38%, rgba(5,20,25,.26) 68%, rgba(5,20,25,.12) 100%);
}
.chapter:nth-of-type(even) .chapter__scrim{
  background:linear-gradient(260deg, rgba(5,20,25,.88) 0%, rgba(5,20,25,.66) 38%, rgba(5,20,25,.26) 68%, rgba(5,20,25,.12) 100%);
}

/* ---------- opening ---------- */
.opening__title{
  position:relative;
  z-index:2;
  padding:0 clamp(24px,6vw,96px);
  font-size:calc(var(--u)*9.2);
  line-height:1.0;
  letter-spacing:-.028em;
  color:var(--white);
  text-align:center;
}
.opening__title .line{ display:block; overflow:hidden; padding:.14em .1em .2em 0; margin:-.14em -.1em -.2em 0; }
.opening__title .reveal{ display:inline-block; padding:.14em .1em .2em 0; margin:-.14em -.1em -.2em 0; }
html.intro-pending .opening__title .reveal{
  opacity:0;
  transform:translateY(24px);
  clip-path:inset(-20% -5% 100% 0%);
}
html.intro-fallback .opening__title .reveal{
  animation:intro-fallback 1s var(--ease) both;
}
html.intro-fallback .opening__title .line:nth-child(2) .reveal{ animation-delay:.14s; }
html.intro-fallback .opening__title .line:nth-child(3) .reveal{ animation-delay:.28s; }
@keyframes intro-fallback{
  from{ opacity:0; transform:translateY(24px); clip-path:inset(-20% -5% 100% 0%); }
  to{ opacity:1; transform:translateY(0); clip-path:inset(-20% -5% -20% 0%); }
}
.opening__title .script{
  font-family:var(--font-script);
  font-weight:400;
  color:var(--gold);
  font-size:.56em;
  margin-top:-.42em;
  padding-right:.12em;
}

/* scroll affordance — unmissable but classy */
.opening__hint{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:calc(var(--u)*2.6);
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:calc(var(--u)*0.7);
  color:var(--white);
  transition:opacity .6s var(--ease);
}
.opening__hint.is-done{ opacity:0 !important; pointer-events:none; }
.hint-mouse{
  width:calc(var(--u)*1.9);
  height:calc(var(--u)*3.1);
  border:2px solid rgba(255,255,255,.9);
  border-radius:999px;
  display:flex;
  justify-content:center;
  padding-top:calc(var(--u)*0.55);
}
.hint-mouse span{
  width:3px;
  height:calc(var(--u)*0.7);
  border-radius:2px;
  background:var(--gold);
}
.hint-chevron{ color:rgba(255,255,255,.95); width:calc(var(--u)*1.6); height:auto; }
.opening__hint p{
  font-size:max(11px, calc(var(--u)*0.85));
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.92);
  text-shadow:0 2px 12px rgba(0,0,0,.5);
}
@media (min-width:761px){
  html.is-cinematic .hint-mouse span{ animation:hint-wheel 1.6s var(--ease) infinite; }
  html.is-cinematic .hint-chevron{ animation:hint-chev 1.6s var(--ease) infinite; }
  html.is-cinematic .opening__hint{ animation:hint-pulse 3.2s var(--ease) infinite; }
}
@keyframes hint-wheel{ 0%{ transform:translateY(0); opacity:1; } 60%{ transform:translateY(calc(var(--u)*0.9)); opacity:.15; } 100%{ transform:translateY(0); opacity:1; } }
@keyframes hint-chev{ 0%,100%{ transform:translateY(0); opacity:.65; } 50%{ transform:translateY(5px); opacity:1; } }
@keyframes hint-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.72; } }

/* ---------- chapter: floating card ---------- */
.chapter__float{
  position:absolute;
  z-index:2;
  width:min(calc(var(--u)*24), 28vw);
  aspect-ratio:3/4;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  bottom:calc(var(--u)*6);
  right:calc(var(--u)*7);
  transform:rotate(2.2deg);
}
.chapter:nth-of-type(even) .chapter__float{ right:auto; left:calc(var(--u)*7); transform:rotate(-2.2deg); }
.chapter__float img{ width:100%; height:100%; object-fit:cover; }

/* ---------- chapter: gallery collage (large, on the free side) ---------- */
.chapter__gallery{
  position:absolute;
  z-index:2;
  top:calc(50% + var(--u)*1.6);
  transform:translateY(-50%);
  right:4vw;
  width:min(44vw, 860px);
  height:min(78svh, 760px);
}
.chapter:nth-of-type(even) .chapter__gallery{ right:auto; left:4vw; }
.gcard{
  position:absolute;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.gcard img{ width:100%; height:100%; object-fit:cover; }
.gcard--1{ left:0; top:0; width:64%; height:50%; }
.gcard--2{ right:0; top:12%; width:42%; height:48%; }
.gcard--3{ left:10%; bottom:0; width:66%; height:46%; }

/* ---------- chapter content column ---------- */
.chapter__content{
  position:relative;
  z-index:3;
  width:100%;
  max-width:min(48vw, 680px);
  padding:0 0 0 clamp(24px, 5vw, 86px);
  margin-right:auto;
}
.chapter:nth-of-type(even) .chapter__content{
  padding:0 clamp(24px, 5vw, 86px) 0 0;
  margin-right:clamp(0px, 1vw, 20px);
  margin-left:auto;
}

.chapter__kicker{
  font-size:max(11px, calc(var(--u)*0.8));
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.4em;
}
.chapter__title{
  font-size:calc(var(--u)*6.1);
  line-height:1.06;
  letter-spacing:-.005em;
  margin-bottom:.16em;
  padding-right:.15em;
}
.title-accent{ color:var(--gold); font-style:italic; padding-right:.15em; }
.chapter__lede{
  font-size:max(18px, calc(var(--u)*1.15));
  line-height:1.6;
  color:rgba(255,255,255,.86);
  max-width:48ch;
  margin-bottom:.55em;
}
.accent-word{ font-family:var(--font-script); color:var(--gold); font-size:1.25em; font-weight:400; padding-right:.12em; }

.chapter__meta{
  display:flex;
  align-items:center;
  gap:calc(var(--u)*1.3);
  margin-bottom:calc(var(--u)*0.75);
  flex-wrap:wrap;
}
.chapter__duration{
  font-size:max(13px, calc(var(--u)*0.92));
  font-weight:500;
  letter-spacing:.04em;
  color:rgba(255,255,255,.8);
}
.chapter__price{
  background:rgba(245,182,43,.12);
  border:1px solid rgba(245,182,43,.5);
  color:var(--gold);
  font-weight:700;
  font-size:max(14px, calc(var(--u)*1.05));
  padding:.5em 1.1em;
  border-radius:999px;
  white-space:nowrap;
}
.chapter__price span{ font-weight:400; font-size:.7em; margin-right:.35em; color:rgba(245,182,43,.85); }

/* chip morph clone */
.chip-clone{
  position:fixed;
  left:0; top:0;
  z-index:70;
  pointer-events:none;
  transform-origin:0 0;
  will-change:transform;
}

/* ---------- itinerary ---------- */
.itinerary-wrap{ position:relative; }
.itinerary{ display:flex; flex-direction:column; gap:calc(var(--u)*0.9); margin-bottom:calc(var(--u)*0.5); }
.itinerary__step{ display:flex; gap:calc(var(--u)*1.3); align-items:baseline; }
.itinerary__num{
  font-family:var(--font-display);
  font-weight:700;
  font-size:calc(var(--u)*1.76);
  color:var(--gold);
  line-height:1.3;
  flex-shrink:0;
  width:2ch;
}
.itinerary__step h3{ font-size:max(17px, calc(var(--u)*1.3)); font-weight:600; font-family:var(--font-body); margin-bottom:.22em; color:var(--white); }
.itinerary__step p{ font-size:max(17px, calc(var(--u)*1.08)); line-height:1.55; color:rgba(255,255,255,.72); max-width:44ch; }
@media (min-width:761px){
  html.is-cinematic .itinerary__step p{ display:none; }
}
.itinerary__more{
  display:inline-block;
  font-size:max(11.5px, calc(var(--u)*0.82));
  font-weight:500;
  color:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(255,255,255,.3);
  margin:calc(var(--u)*-0.4) 0 calc(var(--u)*1.2);
  transition:color var(--micro), border-color var(--micro);
}
.itinerary__more:hover{ color:var(--white); border-color:var(--white); }

.chapter__cta{ margin-top:calc(var(--u)*0.3); }

/* ---------- closing ---------- */
.closing__bg{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, var(--teal-deep-1), var(--teal-deep-2));
}
.scene--closing .scene__pin{ justify-content:center; }
.closing__inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:calc(var(--u)*2.1);
  padding:0 clamp(24px, 5vw, 86px);
}
.closing__kicker{ font-size:max(11px, calc(var(--u)*0.8)); font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:.55em; }
.closing__intro h2{ font-size:calc(var(--u)*4.42); line-height:1.1; }
.closing__cards{
  --cardH: min(52svh, calc(var(--u)*34), 560px);
  display:flex;
  justify-content:center;
  gap:calc(var(--u)*1.5);
}
.poster-card{
  position:relative;
  height:var(--cardH);
  width:calc(var(--cardH)*0.72);
  border-radius:calc(var(--radius) + 4px);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform var(--micro);
}
.poster-card:hover{ transform:translateY(-6px); }
.poster-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 600ms var(--ease); }
.poster-card:hover img{ transform:scale(1.05); }
.poster-card::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,20,25,0) 35%, rgba(4,16,20,.92) 100%);
}
.poster-card__body{ position:absolute; left:0; right:0; bottom:0; z-index:1; padding:calc(var(--u)*1.3); text-align:left; }
.poster-card__kicker{ font-size:max(11px, calc(var(--u)*0.78)); font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.5em; }
.poster-card__body h3{ font-size:max(19px, calc(var(--u)*1.75)); margin-bottom:.35em; }
.poster-card__meta{ font-size:max(12px, calc(var(--u)*0.88)); color:rgba(255,255,255,.72); margin-bottom:.4em; }
.poster-card__price{
  display:inline-block;
  font-size:max(15px, calc(var(--u)*1.12));
  font-weight:700;
  color:var(--gold);
  background:rgba(245,182,43,.12);
  border:1px solid rgba(245,182,43,.5);
  border-radius:999px;
  padding:.42em .95em;
  white-space:nowrap;
}
.poster-card__price span{ font-weight:400; font-size:.75em; color:rgba(245,182,43,.85); }

/* ---------- footer ---------- */
.site-footer{
  position:relative;
  z-index:10;
  display:grid;
  gap:24px;
  padding:clamp(28px,4vw,44px) clamp(20px,4vw,64px) 24px;
  background:var(--teal-deep-2);
}
.site-footer__primary,
.site-footer__signature{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-footer__primary{ padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.12); }
.site-footer img{ height:26px; width:auto; opacity:.9; }
.site-footer__link{ font-size:13px; color:rgba(255,255,255,.65); border-bottom:1px solid rgba(255,255,255,.25); transition:color var(--micro); }
.site-footer__link:hover{ color:var(--white); }
.site-footer__signature{ color:rgba(255,255,255,.65); font-size:13px; }
.site-footer__signature p{ margin:0; }
.site-footer__signature a{ color:#fff; font-weight:700; }
.site-footer__signature a:hover{ color:#65ded8; }
.site-footer__signature span{ padding:0 3px; color:var(--coral); font-family:Arial,sans-serif; font-size:16px; }

/* =========================================================
   CINEMATIC MODE (desktop, motion allowed)
   sticky scenes + 100vh overlap so each chapter wipes in
   over the still-visible outgoing scene
   ========================================================= */
@media (min-width:761px){
  html.is-cinematic .scene{ overflow:visible; }
  html.is-cinematic .scene__pin{
    position:sticky;
    top:0;
    height:100vh;
    height:100svh;
    min-height:0;
  }
  html.is-cinematic .scene--opening{ height:850vh; z-index:1; }
  /* 1740vh effective runway (2240 - 500 overlap): a substantial scroll
     distance for the wipe, itinerary, gallery, and final CTA checkpoints. */
  html.is-cinematic .chapter{ height:2240vh; margin-top:-500vh; }
  html.is-cinematic .chapter[data-trip="marmaris"]{ z-index:2; }
  html.is-cinematic .chapter[data-trip="istanbul"]{ z-index:3; }
  html.is-cinematic .chapter[data-trip="caire"]{ z-index:4; }
  html.is-cinematic .scene--closing{ height:1250vh; margin-top:-500vh; z-index:5; }

  html.is-cinematic .scene--wipes .scene__pin{
    clip-path:circle(0% at 50% 58%);
    will-change:clip-path, transform;
  }

  html.is-cinematic .chapter__kicker,
  html.is-cinematic .chapter__title,
  html.is-cinematic .chapter__lede,
  html.is-cinematic .chapter__duration,
  html.is-cinematic .chapter__cta{ opacity:0; transform:translateY(24px); }
  html.is-cinematic .chapter__price[data-chip="marmaris"]{ opacity:0; }
  html.is-cinematic .chip--morph{ opacity:0; }
  html.is-cinematic .itinerary__step{ opacity:0; transform:translateY(26px); }
  html.is-cinematic .itinerary__more{ opacity:0; }
  html.is-cinematic .gcard{ clip-path:inset(0% 0% 100% 0%); transform:translateY(36px); }
  html.is-cinematic .closing__intro,
  html.is-cinematic .closing__cta{ opacity:0; transform:translateY(24px); }
  html.is-cinematic .poster-card{ opacity:0; transform:translateY(36px); }

  /* itinerary and CTA never show at the same time (see js/main.js timeline),
     so they share one grid row instead of stacking — reclaims vertical room
     for the longer 5-step itineraries + multi-line titles (Run 17). */
  html.is-cinematic .chapter__content{ display:grid; grid-template-columns:100%; }
  html.is-cinematic .chapter__kicker{ grid-area:1/1; }
  html.is-cinematic .chapter__title{ grid-area:2/1; }
  html.is-cinematic .chapter__lede{ grid-area:3/1; }
  html.is-cinematic .chapter__meta{ grid-area:4/1; }
  html.is-cinematic .itinerary-wrap{ grid-area:5/1; align-self:start; }
  html.is-cinematic .chapter__cta{ grid-area:5/1; align-self:start; margin-top:0; }
}

@media (min-width:761px) and (max-width:1180px){
  .chapter__content{ max-width:52vw; }
  .chapter__gallery{ width:42vw; }
}
@media (min-width:761px) and (max-width:1120px){
  .site-nav{ justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }
  .site-nav::-webkit-scrollbar{ display:none; }
}

/* ---------- mobile: fully static, poster-only videos ---------- */
@media (max-width:760px){
  .scene__pin{ padding-top:calc(var(--headerH) + 10px); }
  .site-header{
    min-height:72px;
    flex-wrap:nowrap;
    gap:10px;
    padding:10px 14px;
    background:rgba(5,29,36,.92);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .site-header__logo{ order:1; margin-right:auto; }
  .site-header__logo img{ height:30px; }
  .site-nav{ display:none; }
  .site-header__login{
    order:2;
    height:42px;
    margin:0;
    padding:0 13px;
    border-width:1.5px;
    border-radius:7px;
    font-size:12px;
  }
  .site-header__enterprise{ display:none; }
  .site-header__menu{
    order:3;
    width:42px;
    height:42px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.32);
    border-radius:7px;
    background:rgba(255,255,255,.1);
    color:#fff;
    font-size:20px;
  }
  .mobile-nav{
    position:fixed;
    inset:0;
    z-index:300;
    display:block;
    visibility:hidden;
    pointer-events:none;
  }
  .mobile-nav__backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgba(2,18,23,.62);
    opacity:0;
    transition:opacity .24s ease;
  }
  .mobile-nav__panel{
    position:absolute;
    inset:0 0 0 auto;
    width:min(88vw,360px);
    height:100%;
    padding:20px;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    background:#062f35;
    box-shadow:-18px 0 44px rgba(0,0,0,.28);
    transform:translateX(100%);
    transition:transform .28s ease;
  }
  .mobile-nav.is-open{ visibility:visible; pointer-events:auto; }
  .mobile-nav.is-open .mobile-nav__backdrop{ opacity:1; }
  .mobile-nav.is-open .mobile-nav__panel{ transform:translateX(0); }
  .mobile-nav__head{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding-bottom:18px;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .mobile-nav__logo img{ width:auto; height:32px; display:block; }
  .mobile-nav__close{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.28);
    border-radius:7px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:21px;
  }
  .mobile-nav__links{
    padding:18px 0;
    display:grid;
    gap:5px;
  }
  .mobile-nav__links a{
    min-height:50px;
    padding:0 16px;
    display:flex;
    align-items:center;
    border-radius:6px;
    color:#fff;
    font-size:15px;
    font-weight:700;
  }
  .mobile-nav__links a:hover,
  .mobile-nav__links a.is-active{ background:#079b96; color:#fff; }
  .mobile-nav__login{
    min-height:48px;
    margin-top:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:1px solid rgba(255,255,255,.7);
    border-radius:7px;
    color:#fff;
    font-size:14px;
    font-weight:700;
  }
  .mobile-nav__enterprise{
    width:100%;
    min-height:48px;
    margin-top:auto;
    margin-bottom:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:1px solid #079b96;
    border-radius:7px;
    background:#079b96;
    color:#fff;
    font-size:14px;
    font-weight:700;
    font-family:inherit;
    cursor:pointer;
  }
  .mobile-nav__enterprise:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
  html.mobile-nav-open,
  html.mobile-nav-open body{ overflow:hidden; }
  .site-footer__primary,
  .site-footer__signature{ flex-direction:column; justify-content:center; gap:9px; text-align:center; }

  .chapter__float{ display:none; }
  .chapter__content, .chapter:nth-of-type(even) .chapter__content{
    max-width:none;
    margin:0;
    padding:0 20px;
  }
  .chapter__scrim, .chapter:nth-of-type(even) .chapter__scrim{
    background:linear-gradient(180deg, rgba(5,20,25,.6) 0%, rgba(5,20,25,.72) 55%, rgba(5,20,25,.94) 100%);
  }
  .opening__title{ padding:0 20px; font-size:clamp(44px,13vw,64px); }

  .chapter__gallery{
    position:static;
    transform:none;
    width:auto;
    height:auto;
    display:flex;
    gap:12px;
    overflow-x:auto;
    scrollbar-width:none;
    margin:0 0 18px;
    padding:6px 20px;
  }
  .chapter__gallery::-webkit-scrollbar{ display:none; }
  /* static flow: text column first, gallery strip after it */
  .chapter .scene__pin{ display:flex; flex-direction:column; }
  .chapter__content{ order:1; }
  .chapter__gallery{ order:2; }
  .gcard, .gcard--1, .gcard--2, .gcard--3{
    position:static;
    width:74vw;
    height:52vw;
    flex-shrink:0;
  }
  .chapter .scene__pin{ min-height:0; justify-content:flex-start; padding-bottom:44px; }

  .closing__cards{ flex-direction:column; align-items:center; --cardH:auto; }
  .poster-card{ height:auto; width:min(86vw,420px); aspect-ratio:3/4; }
  .closing__inner{ padding:0 20px; }
}

/* ---------- Run 101: white mobile navigation sheet ---------- */
@media (max-width:760px){
  /* Run 102: login/register live in the drawer, leaving the closed
     header as a balanced two-item row. */
  .site-header{
    min-height:60px;
    padding:8px 14px;
  }
  .site-header__logo img{ height:30px; }
  .site-header__login{ display:none; }
  .site-header__menu{
    margin-left:auto;
    width:42px;
    height:42px;
    border-radius:12px;
  }
  .mobile-nav__backdrop{
    background:rgba(1,17,22,.58);
  }
  .mobile-nav__panel{
    inset:0 auto 0 0;
    width:min(82vw,360px);
    max-width:calc(100vw - 56px);
    padding:max(22px,env(safe-area-inset-top)) 24px max(32px,env(safe-area-inset-bottom));
    gap:0;
    border-radius:0 30px 30px 0;
    background:#fbfcfc;
    color:#082f36;
    box-shadow:18px 0 46px rgba(1,17,22,.22);
    transform:translate3d(-102%,0,0);
    transition:transform 300ms cubic-bezier(.22,.61,.36,1);
    will-change:transform;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    scrollbar-width:none;
  }
  .mobile-nav__panel::-webkit-scrollbar{ display:none; }
  .mobile-nav.is-open .mobile-nav__panel{
    transform:translate3d(0,0,0);
    box-shadow:18px 0 46px rgba(1,17,22,.22);
  }
  .mobile-nav__head{
    min-height:54px;
    padding:0;
    border:0;
  }
  .mobile-nav__logo img{ width:112px; height:auto; max-height:42px; object-fit:contain; object-position:left center; }
  .mobile-nav__close{
    width:48px;
    height:48px;
    border:1px solid #e5eaeb;
    border-radius:50%;
    background:#fff;
    color:#083941;
    box-shadow:0 10px 28px rgba(8,47,54,.08);
    font-size:23px;
  }
  .mobile-nav__auth{
    margin-top:18px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .mobile-nav__auth a{
    box-sizing:border-box;
    min-height:52px;
    padding:8px 9px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1.5px solid #008f8a;
    border-radius:8px;
    background:#fff;
    color:#073b41;
    font-family:var(--font-display);
    font-size:13px;
    font-weight:700;
    text-align:center;
  }
  .mobile-nav__auth .mobile-nav__auth-login{
    background:#008f8a;
    color:#fff;
    box-shadow:0 10px 24px rgba(0,143,138,.16);
  }
  .mobile-nav__language{
    box-sizing:border-box;
    min-height:54px;
    margin-top:18px;
    padding:0 16px;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #e1e7e8;
    border-radius:8px;
    background:#fff;
    color:#0b343a;
    box-shadow:0 4px 16px rgba(8,47,54,.025);
    font-size:14px;
  }
  .mobile-nav__language > span{ font-size:20px; line-height:1; }
  .mobile-nav__language i{ margin-left:auto; color:#0b4b52; font-size:15px; }
  .mobile-nav__links{
    padding:20px 0 0;
    display:grid;
    gap:0;
  }
  .mobile-nav__links a,
  .mobile-nav__links .mobile-nav__enterprise{
    box-sizing:border-box;
    width:100%;
    min-height:66px;
    margin:0;
    padding:0 10px 0 12px;
    display:flex;
    align-items:center;
    gap:14px;
    border:0;
    border-bottom:1px solid #e8eded;
    border-radius:0;
    background:transparent;
    color:#0a3036;
    font-family:var(--font-display);
    font-size:15px;
    font-weight:700;
    text-align:left;
  }
  .mobile-nav__links .mobile-nav__enterprise{
    margin-bottom:4px;
    border-bottom:0;
    border-radius:8px;
    background:#edf6f5;
    color:#00847f;
  }
  .mobile-nav__links a:hover,
  .mobile-nav__links a.is-active{ background:#f0f7f6; color:#007f7a; }
  .mobile-nav__icon{
    flex:0 0 46px;
    width:46px;
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#f1f4f4;
    color:#0a3d43;
    font-size:18px;
  }
  .mobile-nav__enterprise .mobile-nav__icon{ background:#fff; color:#008f8a; }
  .mobile-nav__chevron{ margin-left:auto; color:#0b4850; font-size:22px; }
  .mobile-nav__trust{
    margin-top:26px;
    min-height:224px;
    padding:24px 20px 18px;
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
    overflow:hidden;
    border:1px solid rgba(8,47,54,.08);
    border-radius:8px;
    background-color:#eaf4f3;
    background-image:url('/uploads/cap/mobile-trust-palm.jpg');
    background-repeat:no-repeat;
    background-position:62% center;
    background-size:cover;
    box-shadow:0 14px 34px rgba(4,39,45,.1);
    color:#082f36;
  }
  .mobile-nav__trust h2{ max-width:180px; font-size:23px; line-height:1.08; }
  .mobile-nav__trust p{ max-width:194px; margin:18px 0 16px; font-size:13px; line-height:1.55; }
  .mobile-nav__trust a{
    min-height:44px;
    padding:0 15px;
    display:inline-flex;
    align-items:center;
    align-self:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-top:auto;
    border-radius:8px;
    background:#fff;
    color:#007f7a;
    font-size:13px;
    font-weight:700;
    box-shadow:0 8px 20px rgba(4,39,45,.09);
  }
  .mobile-nav__quick-actions{
    padding:22px 0 8px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
  }
  .mobile-nav__quick-actions a{
    flex:0 0 46px;
    width:46px;
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #e5ebeb;
    border-radius:50%;
    background:#fff;
    color:#0a3a40;
    font-size:18px;
  }
}

/* =========================================================
   RUN 29 — MOBILE CINEMATIC (≤760px, motion allowed)
   Sticky full-viewport video per scene; the story scrolls
   OVER the pinned imagery — touch-native, no scroll hijack.
   Desktop (≥761px) is untouched by everything below.
   `html.m-anim` is set by js/main.js only after the mobile
   init runs, so no-JS / failed-JS keeps content visible.
   ========================================================= */
@media (max-width:760px){

  /* touch scroll cue: chevron + label, no desktop mouse glyph */
  .hint-mouse{ display:none; }
  .hint-chevron{ width:30px; }
  .opening__hint{ bottom:max(26px, calc(env(safe-area-inset-bottom) + 20px)); gap:9px; }
  html.is-cinematic .hint-chevron{ animation:hint-chev 1.6s var(--ease) infinite; }
  html.is-cinematic .opening__hint{ animation:hint-pulse 3.2s var(--ease) infinite; }

  /* header: opaque when scrolled on mobile — big white story text slides
     directly under the two-row header, and translucency (plus WebKit's
     backdrop-filter compositing) leaves it readable through the glass */
  .site-header.is-scrolled{
    background:rgb(5,29,36);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  /* comfortable tap targets */
  .chapter__cta, .closing__cta{ min-height:48px; }
  .itinerary__more{ padding:.5em 0; margin-top:0; }

  /* ----- opening: pinned hero, title drifts away under the incoming chapter ----- */
  html.is-cinematic .scene--opening{ height:165svh; z-index:1; }
  html.is-cinematic .scene--opening .scene__pin{
    position:sticky; top:0;
    min-height:0; height:100vh; height:100svh;
    overflow:hidden;
  }
  /* ----- chapters: sticky media, content scrolls over it ----- */
  html.is-cinematic .chapter{ z-index:2; }
  html.is-cinematic .chapter[data-trip="istanbul"]{ z-index:3; }
  html.is-cinematic .chapter[data-trip="caire"]{ z-index:4; }
  html.is-cinematic .scene--closing{ z-index:5; }

  html.is-cinematic .chapter .scene__pin{
    display:flex; flex-direction:column;
    min-height:0; height:auto;
    padding:0 0 18svh;
    overflow:visible;            /* required: overflow:hidden would break sticky */
    justify-content:flex-start;
  }
  html.is-cinematic .chapter .scene__video{
    position:sticky; inset:auto; top:0; left:0;
    width:100%; height:100vh; height:100svh;
    margin-bottom:-100vh; margin-bottom:-100svh;
    order:-2;
  }
  html.is-cinematic .chapter .chapter__scrim{
    position:sticky; inset:auto; top:0; left:0;
    width:100%; height:100vh; height:100svh;
    margin-bottom:-100vh; margin-bottom:-100svh;
    order:-1;
    /* imagery breathes; contrast comes back where text lives */
    background:linear-gradient(180deg, rgba(4,18,23,.62) 0%, rgba(4,18,23,.34) 42%, rgba(4,18,23,.60) 78%, rgba(4,18,23,.74) 100%);
  }
  html.is-cinematic .chapter:nth-of-type(even) .chapter__scrim{
    background:linear-gradient(180deg, rgba(4,18,23,.62) 0%, rgba(4,18,23,.34) 42%, rgba(4,18,23,.60) 78%, rgba(4,18,23,.74) 100%);
  }
  html.is-cinematic .chapter .scene__dim{ display:none; }

  /* story column: first screenful is mostly imagery, the title block
     sits low; everything then rises over the pinned video */
  html.is-cinematic .chapter .chapter__content{
    order:1;
    padding:56svh 20px 0;
  }
  html.is-cinematic .chapter__title{ text-shadow:0 2px 24px rgba(2,10,13,.55); }
  html.is-cinematic .chapter__lede,
  html.is-cinematic .itinerary__step h3,
  html.is-cinematic .itinerary__step p{ text-shadow:0 1px 14px rgba(2,10,13,.6); }

  /* float card back (hidden in the static mobile layout): a rotated
     portrait moment between the itinerary and the gallery */
  html.is-cinematic .chapter .chapter__float{
    display:block;
    position:static;
    order:2;
    width:66%; max-width:340px;
    margin:7svh 20px 0 auto;
    transform:rotate(2.2deg);
    bottom:auto; right:auto;
  }
  html.is-cinematic .chapter:nth-of-type(even) .chapter__float{
    left:auto;
    margin:7svh auto 0 20px;
    transform:rotate(-2.2deg);
  }

  /* gallery: large stacked collage, full-bleed feel, no side-scroller */
  html.is-cinematic .chapter .chapter__gallery{
    position:static; transform:none;
    order:3;
    display:flex; flex-direction:column;
    width:auto; height:auto;
    gap:16px;
    margin:6svh 0 0;
    padding:0 20px;
    overflow:visible;
  }
  html.is-cinematic .chapter .gcard{ position:static; flex-shrink:0; }
  html.is-cinematic .chapter .gcard--1{ width:100%; height:64vw; }
  html.is-cinematic .chapter .gcard--2{ width:84%; height:56vw; align-self:flex-end; }
  html.is-cinematic .chapter .gcard--3{ width:90%; height:60vw; align-self:flex-start; }

  /* ----- scroll-linked reveals (class applied by JS; IO adds .in-view) ----- */
  html.m-anim .m-rv{
    opacity:0;
    transform:translateY(30px);
    transition:opacity .8s var(--ease), transform .8s var(--ease);
  }
  html.m-anim .m-rv.is-media{ transform:translateY(44px) scale(.975); }
  html.m-anim .m-rv.in-view{ opacity:1; transform:none; }
  html.m-anim .itinerary__step.m-rv:nth-of-type(2){ transition-delay:.06s; }
  html.m-anim .itinerary__step.m-rv:nth-of-type(3){ transition-delay:.12s; }
  html.m-anim .itinerary__step.m-rv:nth-of-type(4){ transition-delay:.18s; }
  html.m-anim .itinerary__step.m-rv:nth-of-type(5){ transition-delay:.24s; }
  html.m-anim .itinerary__more.m-rv{ transition-delay:.24s; }
  html.m-anim .poster-card.m-rv:nth-of-type(2){ transition-delay:.1s; }
  html.m-anim .poster-card.m-rv:nth-of-type(3){ transition-delay:.2s; }
}

/* ---------- reduced motion (belt & suspenders; JS gates .is-cinematic) ---------- */
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* ---------- contact-first Entreprises preview ---------- */
html.cap-business-preview-open,
html.cap-business-preview-open body{ overflow:hidden !important; }
.cap-business-preview[hidden]{ display:none !important; }
.cap-business-preview{
  position:fixed; inset:0; z-index:1000001;
  visibility:hidden; pointer-events:none;
  font-family:var(--font-body);
}
.cap-business-preview.is-open{ visibility:visible; pointer-events:auto; }
.cap-business-preview__backdrop{
  position:absolute; inset:0; width:100%; height:100%; padding:0; border:0;
  background:rgba(2,20,25,.58); opacity:0; cursor:pointer;
  transition:opacity .24s ease;
}
.cap-business-preview.is-open .cap-business-preview__backdrop{ opacity:1; }
.cap-business-preview__panel{
  box-sizing:border-box;
  position:absolute; inset:0 0 0 auto;
  width:min(440px,calc(100% - 24px)); height:100%;
  padding:32px 32px 26px;
  display:flex; flex-direction:column;
  overflow-y:auto; overscroll-behavior:contain;
  background:#fff; box-shadow:-20px 0 54px rgba(1,28,34,.24); color:#10212d;
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.22,1,.36,1);
}
.cap-business-preview.is-open .cap-business-preview__panel{ transform:translateX(0); }
.cap-business-preview__head{
  display:grid; grid-template-columns:48px minmax(0,1fr) 42px;
  align-items:center; gap:14px; padding-bottom:24px;
  border-bottom:1px solid #dce5e7;
}
.cap-business-preview__icon{
  width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:7px; background:#008f8a; color:#fff; font-size:19px;
}
.cap-business-preview__head p{
  margin:0 0 3px; color:#008f8a; font-size:12px; font-weight:700;
  line-height:1.2; text-transform:uppercase;
}
.cap-business-preview__head h2{
  margin:0; color:#10212d; font-size:22px; font-weight:700; line-height:1.2; letter-spacing:0;
}
.cap-business-preview__close{
  width:42px; height:42px; padding:0; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #d7e0e3; border-radius:7px; background:#fff; color:#17323b;
  font:inherit; font-size:19px; cursor:pointer;
}
.cap-business-preview__intro{ margin:24px 0 10px; color:#5c6972; font-size:14px; line-height:1.65; }
.cap-business-preview__offices{ display:grid; }
.cap-business-preview__office{ padding:22px 0; border-bottom:1px solid #dce5e7; }
.cap-business-preview__office-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px;
}
.cap-business-preview__office-head span{ color:#10212d; font-size:18px; font-weight:700; }
.cap-business-preview__office-head small{ color:#75828a; font-size:11px; font-weight:600; }
.cap-business-preview__office address{
  margin:0 0 14px; color:#66737b; font-size:12px; font-style:normal; line-height:1.55;
}
.cap-business-preview__office a{
  min-height:34px; display:flex; align-items:center; gap:11px;
  color:#15333c; font-size:13px; font-weight:600; text-decoration:none;
}
.cap-business-preview__office a i{ width:16px; color:#008f8a; text-align:center; font-size:15px; }
.cap-business-preview__office a:hover{ color:#008f8a; }
.cap-business-preview__details{
  min-height:52px; margin-top:20px; padding:0 18px;
  display:flex; align-items:center; justify-content:center; gap:11px;
  border-radius:7px; background:#062f38; color:#fff;
  font-size:14px; font-weight:700; text-decoration:none;
  transition:background-color .18s ease;
}
.cap-business-preview__details:hover{ background:#008f8a; color:#fff; }
.cap-business-preview__close:focus-visible,
.cap-business-preview__office a:focus-visible,
.cap-business-preview__details:focus-visible{ outline:2px solid #008f8a; outline-offset:3px; }

@media (max-width:600px){
  .cap-business-preview__backdrop{ background:rgba(2,20,25,.68); }
  .cap-business-preview__panel{
    inset:auto 10px 10px; width:calc(100% - 20px); height:auto;
    max-height:calc(100dvh - 20px); padding:22px 20px 18px; border-radius:8px;
    transform:translateY(calc(100% + 20px));
  }
  .cap-business-preview.is-open .cap-business-preview__panel{ transform:translateY(0); }
  .cap-business-preview__head{ grid-template-columns:42px minmax(0,1fr) 40px; gap:11px; padding-bottom:18px; }
  .cap-business-preview__icon{ width:42px; height:42px; font-size:17px; }
  .cap-business-preview__head h2{ font-size:19px; }
  .cap-business-preview__close{ width:40px; height:40px; }
  .cap-business-preview__intro{ margin:17px 0 2px; font-size:13px; line-height:1.55; }
  .cap-business-preview__office{ padding:16px 0; }
  .cap-business-preview__office address{ display:none; }
  .cap-business-preview__office a{ min-height:31px; font-size:12.5px; }
  .cap-business-preview__details{ min-height:48px; margin-top:16px; }
}

@media (prefers-reduced-motion:reduce){
  .cap-business-preview__backdrop,
  .cap-business-preview__panel{ transition:none !important; }
}
