/* Consumer luxury layer — edges, shades, micro-interactions, cinematic */

:root {
  --lux-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 18px 50px rgba(12,18,34,.08), 0 4px 14px rgba(12,18,34,.04);
  --lux-shadow-hover: 0 1px 0 rgba(255,255,255,.85) inset, 0 28px 64px rgba(12,18,34,.12), 0 8px 20px rgba(12,18,34,.06);
  --lux-ring: 0 0 0 1px rgba(15,26,46,.06), 0 0 0 1px rgba(255,255,255,.55) inset;
  --lux-ease: cubic-bezier(.22, 1, .36, 1);
}

/* ── Buttons ── */
.btn {
  position: relative;
  overflow: hidden;
  box-shadow: var(--lux-shadow);
  border: 1px solid transparent;
  transition:
    transform .28s var(--lux-ease),
    box-shadow .28s var(--lux-ease),
    background .2s,
    border-color .2s,
    color .15s,
    filter .2s;
}
.btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,.22) 45%, transparent 70%);
  transform: translateX(-120%);
  transition: transform .55s var(--lux-ease);
  pointer-events: none;
}
.btn:hover::after { transform: translateX(120%); }
.btn-primary {
  border-color: rgba(255,255,255,.08);
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 14px 36px rgba(15,26,46,.28),
    0 2px 0 rgba(12,18,34,.2);
}
.btn-primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow:
    0 1px 0 rgba(255,255,255,.22) inset,
    0 20px 44px rgba(15,26,46,.34),
    0 3px 0 rgba(12,18,34,.22);
}
.btn-ghost {
  border: 1px solid rgba(15,26,46,.1);
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 8px 22px rgba(12,18,34,.05);
  background: rgba(255,255,255,.88);
}
.btn-ghost:hover {
  border-color: rgba(184,149,106,.45);
  box-shadow: var(--lux-shadow-hover);
}

/* ── Cards / panels ── */
.panel, .card, .feature, .guide-card, .case-card, .metric, .airline-card, .social-item, .hero-claim {
  box-shadow: var(--lux-shadow) !important;
  border: 1px solid rgba(15,26,46,.07) !important;
  position: relative;
  transition: transform .32s var(--lux-ease), box-shadow .32s var(--lux-ease), border-color .2s;
}
.panel::before, .card::before, .feature::before, .guide-card::before, .case-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.feature:hover, .guide-card:hover, .case-card:hover, .airline-card:hover, .metric:hover {
  transform: translateY(-4px);
  box-shadow: var(--lux-shadow-hover) !important;
  border-color: rgba(184,149,106,.28) !important;
}

.hero-photo-card {
  box-shadow: var(--lux-shadow-hover) !important;
  border: 1px solid rgba(255,255,255,.5) !important;
  transition: transform .4s var(--lux-ease), box-shadow .4s;
}
.hero-photo-card:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 32px 80px rgba(12,18,34,.18) !important;
}

.chip {
  transition: transform .2s var(--lux-ease), box-shadow .2s, border-color .2s;
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset;
}
.chip:hover { transform: translateY(-1px); }

/* Nav — no frosted grey plate */
.m-nav {
  box-shadow: none !important;
}

/* ── Cinematic tutorial ── */
.cine-section {
  position: relative;
  z-index: 1;
  padding: 3.2rem 0 2.5rem;
}
.cine-section .section-k { margin-bottom: .4rem; }
.cine-head {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.cine-head h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  letter-spacing: -.036em;
  font-weight: 750;
  margin: 0;
}
.cine-head p {
  color: var(--muted);
  max-width: 42ch;
  margin: .35rem 0 0;
  font-size: .98rem;
}

.cine {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  min-height: 420px;
  background:
    radial-gradient(600px 280px at 20% 0%, rgba(184,149,106,.16), transparent 60%),
    radial-gradient(500px 260px at 90% 20%, rgba(26,39,68,.1), transparent 55%),
    linear-gradient(165deg, #0f1a2e 0%, #1a2744 48%, #152238 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.12) inset,
    0 30px 80px rgba(12,18,34,.22),
    0 0 0 1px rgba(15,26,46,.35);
  color: #fff;
  isolation: isolate;
  contain: layout paint style;
  transform: translateZ(0);
}
.cine-glow {
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(circle at 30% 40%, rgba(184,149,106,.18), transparent 42%),
    radial-gradient(circle at 70% 60%, rgba(80,120,200,.12), transparent 40%);
  pointer-events: none;
  z-index: 0;
  will-change: transform;
}
.cine-grid {
  position: absolute;
  inset: 0;
  opacity: .08;
  background-image:
    linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%);
  pointer-events: none;
  z-index: 0;
}
.cine-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 1.25rem;
  padding: 1.35rem 1.35rem 1.2rem;
  min-height: 420px;
}
.cine-left { display: flex; flex-direction: column; gap: .9rem; }
.cine-steps {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.cine-step {
  appearance: none;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.72);
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .02em;
  padding: .42rem .7rem;
  border-radius: 999px;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s, transform .2s var(--lux-ease);
}
.cine-step:hover { transform: translateY(-1px); border-color: rgba(184,149,106,.4); color: #fff; }
.cine-step.on {
  background: linear-gradient(135deg, rgba(184,149,106,.35), rgba(255,255,255,.12));
  border-color: rgba(184,149,106,.55);
  color: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.2);
}
.cine-step.done {
  color: #9ddeb8;
  border-color: rgba(61,155,110,.35);
}
.cine-copy {
  margin-top: auto;
  padding: 1rem 1.05rem;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.cine-title {
  font-size: 1.25rem;
  font-weight: 750;
  letter-spacing: -.03em;
  margin: 0 0 .35rem;
}
.cine-sub {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: .92rem;
  line-height: 1.5;
  max-width: 36ch;
}
.cine-progress {
  height: 3px;
  border-radius: 99px;
  background: rgba(255,255,255,.1);
  overflow: hidden;
  margin-top: .85rem;
}
.cine-progress > i {
  display: block;
  height: 100%;
  width: 100%;
  transform-origin: left center;
  transform: scaleX(0);
  background: linear-gradient(90deg, #c9a97a, #f0e2c8, #c9a97a);
  border-radius: inherit;
  will-change: transform;
}
.cine-actions { margin-top: .85rem; display: flex; gap: .5rem; flex-wrap: wrap; }
.cine-actions .btn-ghost {
  background: rgba(255,255,255,.08);
  color: #fff;
  border-color: rgba(255,255,255,.16);
}
.cine-actions .btn-ghost:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(184,149,106,.45);
}

.cine-right {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 320px;
}
.cine-stage {
  position: absolute;
  inset: 8% 6%;
  opacity: 0;
  transform: translateY(10px) scale(.98);
  transition: opacity .45s var(--lux-ease), transform .45s var(--lux-ease);
  pointer-events: none;
  display: grid;
  place-items: center;
}
.cine-stage.on {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.cine-card {
  width: min(100%, 280px);
  padding: 1rem 1.05rem;
  border-radius: 18px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 18px 40px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
}
.cine-card .row {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  padding: .4rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: .82rem;
}
.cine-card .row:last-child { border-bottom: 0; }
.cine-card .k { color: rgba(255,255,255,.55); }
.cine-card .v { font-weight: 650; color: #fff; }

/* Realistic phone (≈ iPhone proportions) */
.cine-phone-device {
  width: min(100%, 280px);
  margin: 0 auto;
  will-change: transform;
  filter:
    drop-shadow(0 36px 56px rgba(0, 0, 0, 0.55))
    drop-shadow(0 12px 24px rgba(0, 0, 0, 0.35))
    drop-shadow(0 0 40px rgba(12, 18, 34, 0.2));
}
.cine-phone-bezel {
  border-radius: 42px;
  padding: 11px;
  background:
    linear-gradient(160deg, #2a2f3a 0%, #0a0c12 40%, #1a1e28 100%);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -2px 8px rgba(0,0,0,.45),
    0 0 0 1px rgba(0,0,0,.4),
    0 28px 60px rgba(0, 0, 0, 0.42),
    0 8px 18px rgba(0, 0, 0, 0.28);
  position: relative;
}
.cine-phone-bezel::before {
  /* side button hint */
  content: "";
  position: absolute;
  right: -2px;
  top: 96px;
  width: 3px;
  height: 42px;
  border-radius: 2px;
  background: #1c1f28;
}
.cine-phone-island {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 92px;
  height: 26px;
  border-radius: 20px;
  background: #050608;
  z-index: 3;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.cine-phone-screen {
  aspect-ratio: 9 / 19.5;
  min-height: 520px;
  border-radius: 32px;
  padding: 2.6rem 1.05rem 1.15rem;
  background:
    linear-gradient(180deg, #f7f8fb 0%, #eef1f6 55%, #e8ecf2 100%);
  border: 1px solid rgba(0,0,0,.2);
  display: flex;
  flex-direction: column;
  gap: .4rem;
  color: #0c1222;
  position: relative;
  overflow: hidden;
}
.cine-phone-screen.pop { animation: cinePop .45s var(--lux-ease); }
/* Softer stage change inside fit modal (continuous loop) */
.cine-fit .cine-phone-screen.pop { animation: cinePopSoft .38s var(--lux-ease); }
@keyframes cinePopSoft {
  from { opacity: 0.55; transform: scale(0.985); }
  to { opacity: 1; transform: scale(1); }
}
.cine-phone-status-bar {
  display: flex;
  justify-content: space-between;
  font-size: .68rem;
  font-weight: 700;
  color: #0c1222;
  margin-bottom: .55rem;
  padding: 0 .15rem;
}
.cine-phone-sig { letter-spacing: .05em; opacity: .55; font-size: .55rem; }
.cine-phone-appbar {
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: -.02em;
  color: #0f1a2e;
  margin-bottom: .85rem;
}
.cine-phone-k {
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8b94a3;
  font-weight: 700;
}
.cine-phone-v {
  font-size: 1.12rem;
  font-weight: 750;
  letter-spacing: -.025em;
  color: #0c1222;
  line-height: 1.25;
}
.cine-phone-status {
  margin-top: .65rem;
  display: inline-flex;
  align-self: flex-start;
  padding: .35rem .7rem;
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 700;
  background: rgba(31,122,84,.12);
  border: 1px solid rgba(31,122,84,.28);
  color: #0f6b45;
}
.cine-phone-lines {
  margin-top: 1rem;
  display: grid;
  gap: .45rem;
}
.cine-phone-lines i {
  display: block;
  height: 10px;
  border-radius: 6px;
  background: rgba(15,26,46,.08);
}
.cine-phone-lines i:nth-child(1) { width: 92%; }
.cine-phone-lines i:nth-child(2) { width: 78%; }
.cine-phone-lines i:nth-child(3) { width: 64%; }
.cine-phone-home {
  margin-top: auto;
  width: 108px;
  height: 4px;
  border-radius: 99px;
  background: rgba(0,0,0,.18);
  align-self: center;
}
/* dark stage: keep phone light for realism */
.cine .cine-phone-screen {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.4);
}
.cine-phone {
  /* legacy alias if any */
  width: min(100%, 280px);
}

.cine-cursor {
  position: absolute;
  left: 0; top: 0;
  width: 16px; height: 16px;
  margin: -4px 0 0 -4px;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg) translate3d(50%, 50%, 0);
  background: linear-gradient(135deg, #f0e2c8, #b8956a);
  box-shadow: 0 6px 18px rgba(184,149,106,.45);
  z-index: 5;
  pointer-events: none;
  will-change: transform;
}
.cine-cursor::after {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  border: 1px solid rgba(240,226,200,.45);
  animation: cineRing 1.6s ease-out infinite;
}

@keyframes cinePop {
  from { opacity: .4; transform: translateY(6px) scale(.98); }
  to { opacity: 1; transform: none; }
}
@keyframes cineRing {
  to { transform: scale(1.7); opacity: 0; }
}

/* Clear “how it works” strip under hero */
.flow-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .55rem;
  width: min(100% - 2rem, 1140px);
  margin: 1rem auto 0;
  position: relative;
  z-index: 1;
}
.flow-pill {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .7rem .75rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(15,26,46,.07);
  box-shadow: var(--lux-shadow);
  font-size: .78rem;
  font-weight: 650;
  color: var(--brand-deep);
  letter-spacing: -.01em;
  transition: transform .25s var(--lux-ease), box-shadow .25s;
}
.flow-pill:hover { transform: translateY(-2px); box-shadow: var(--lux-shadow-hover); }
.flow-pill span {
  width: 22px; height: 22px;
  border-radius: 8px;
  display: grid; place-items: center;
  font-size: .68rem;
  font-weight: 800;
  background: var(--grad);
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 6px 14px rgba(15,26,46,.2);
}
.flow-pill em {
  font-style: normal;
  color: var(--muted);
  font-weight: 500;
  font-size: .72rem;
  display: block;
  margin-top: .1rem;
}

@media (max-width: 980px) {
  .cine-inner { grid-template-columns: 1fr; min-height: 0; }
  .cine-right { min-height: 300px; }
  .flow-strip { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .flow-strip { grid-template-columns: 1fr; }
  .cine { border-radius: 18px; min-height: 0; }
  .cine-inner { padding: 1rem; }
  .cine-title { font-size: 1.1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .btn::after, .cine-cursor::after, .cine-phone-screen.pop { animation: none !important; }
  .feature:hover, .guide-card:hover, .case-card:hover, .airline-card:hover, .metric:hover,
  .btn:hover, .flow-pill:hover, .hero-photo-card:hover {
    transform: none !important;
  }
}

/* ═══ Advanced cinematic + dark bands + carousels ═══ */

.cine-section {
  padding: 3.5rem 0 3rem;
  background:
    radial-gradient(900px 400px at 20% 0%, rgba(184,149,106,.08), transparent 55%),
    linear-gradient(180deg, transparent, rgba(15,26,46,.03), transparent);
}
.cine-pro {
  min-height: 520px;
  border-radius: 28px;
}
.cine-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  opacity: .85;
}
.cine-topbar {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem 1.25rem 0;
  flex-wrap: wrap;
}
.cine-stage-badge {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: rgba(184,149,106,.18);
  border: 1px solid rgba(184,149,106,.4);
  color: #f0e2c8;
}
.cine-meter-wrap {
  flex: 1;
  min-width: 140px;
  display: flex;
  flex-direction: column;
  gap: .3rem;
}
.cine-meter-label {
  font-size: .68rem;
  font-weight: 650;
  color: rgba(255,255,255,.55);
  letter-spacing: .04em;
}
.cine-meter {
  height: 4px;
  border-radius: 99px;
  background: rgba(255,255,255,.1);
  overflow: hidden;
}
.cine-meter > i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c9a97a, #f0e2c8);
  transition: width .45s var(--lux-ease);
  box-shadow: 0 0 12px rgba(184,149,106,.45);
}
.cine-nav-btns { display: flex; gap: .35rem; margin-left: auto; }
.cine-icon-btn {
  width: 38px; height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s;
}
.cine-icon-btn:hover {
  background: rgba(184,149,106,.2);
  border-color: rgba(184,149,106,.45);
  transform: translateY(-1px);
}

.cine-inner-3 {
  grid-template-columns: 1fr 1fr 0.9fr !important;
  gap: 1rem !important;
  align-items: stretch;
  min-height: 440px !important;
}
.cine-mid {
  display: grid;
  place-items: center;
  will-change: transform;
}
.cine-receipt {
  position: relative;
  width: min(100%, 260px);
  min-height: 300px;
  border-radius: 16px;
  padding: 1rem .95rem;
  background:
    linear-gradient(180deg, #f7f4ef 0%, #efe8df 100%);
  color: #1a1410;
  box-shadow:
    0 24px 50px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow: hidden;
  font-family: var(--mono), ui-monospace, monospace;
}
.cine-receipt-scan {
  position: absolute;
  left: 0; right: 0;
  height: 28%;
  top: -30%;
  background: linear-gradient(180deg, transparent, rgba(26,107,255,.12), transparent);
  opacity: 0;
  pointer-events: none;
}
.cine-receipt-scan.on {
  opacity: 1;
  animation: cineScan 2.2s linear infinite;
}
@keyframes cineScan {
  from { top: -30%; }
  to { top: 100%; }
}
.cine-rc-airline {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #5c4a3a;
  margin-bottom: .75rem;
  padding-bottom: .55rem;
  border-bottom: 1px dashed rgba(92,74,58,.25);
}
.cine-rc-row {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  padding: .38rem 0;
  font-size: .78rem;
  border-bottom: 1px solid rgba(26,20,16,.06);
}
.cine-rc-row span { color: #7a6a5c; }
.cine-rc-row b { color: #1a1410; font-weight: 700; text-align: right; }

.cine-phone-line {
  font-size: .72rem;
  color: rgba(255,255,255,.5);
  margin-top: .2rem;
}

/* ── Rich phone layouts (upload → rights → payout) ── */
.cine-phone-screen .ph-body {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  flex: 1;
  min-height: 0;
}
.cine-phone-screen .ph-k {
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8b94a3;
  font-weight: 700;
}
.ph-file-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.8rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(15, 26, 46, 0.08);
  box-shadow: 0 8px 22px rgba(12, 18, 34, 0.06);
}
.ph-file-ico { font-size: 1.35rem; line-height: 1; }
.ph-file-name {
  font-size: 0.82rem;
  font-weight: 720;
  color: #0c1222;
  letter-spacing: -0.02em;
}
.ph-file-meta {
  font-size: 0.68rem;
  color: #8b94a3;
  margin-top: 0.12rem;
}
.ph-progress {
  height: 6px;
  border-radius: 99px;
  background: rgba(15, 26, 46, 0.08);
  overflow: hidden;
}
.ph-progress > i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c9a97a, #f0e2c8);
  transition: width 0.6s ease;
}

/* Rights GO card */
.ph-rights-card {
  margin-top: 0.2rem;
  padding: 1rem 0.95rem 1.05rem;
  border-radius: 18px;
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(31, 122, 84, 0.12), transparent 55%),
    linear-gradient(165deg, #ffffff 0%, #f3f7f4 100%);
  border: 1px solid rgba(31, 122, 84, 0.22);
  box-shadow: 0 14px 32px rgba(15, 107, 69, 0.1);
}
.ph-rights-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  margin-bottom: 0.65rem;
}
.ph-gate {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
}
.ph-gate.go {
  background: rgba(31, 122, 84, 0.14);
  color: #0f6b45;
  border: 1px solid rgba(31, 122, 84, 0.3);
  box-shadow: 0 0 16px rgba(31, 122, 84, 0.18);
  animation: phGatePulse 2.2s ease-in-out infinite;
}
@keyframes phGatePulse {
  0%, 100% { box-shadow: 0 0 10px rgba(31, 122, 84, 0.12); }
  50% { box-shadow: 0 0 22px rgba(31, 122, 84, 0.28); }
}
.ph-track {
  font-size: 0.62rem;
  font-weight: 650;
  color: #5c6678;
  text-align: right;
}
.ph-band {
  font-size: 2.15rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #0c1222;
  line-height: 1;
}
.ph-band-lab {
  font-size: 0.65rem;
  color: #8b94a3;
  font-weight: 650;
  margin: 0.2rem 0 0.7rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ph-reason {
  font-size: 0.74rem;
  color: #2a3548;
  line-height: 1.35;
  font-weight: 550;
}
.ph-flight {
  margin-top: 0.55rem;
  font-size: 0.68rem;
  font-weight: 700;
  color: #5c6678;
}

/* Filed */
.ph-case-id {
  font-size: 1.05rem;
  font-weight: 750;
  letter-spacing: -0.03em;
  color: #0c1222;
}
.ph-status-filed {
  background: rgba(30, 90, 180, 0.1) !important;
  border-color: rgba(30, 90, 180, 0.28) !important;
  color: #1a4f9c !important;
}
.ph-meta-rows {
  margin-top: 0.75rem;
  display: grid;
  gap: 0.45rem;
}
.ph-meta-rows > div {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.72rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: rgba(15, 26, 46, 0.04);
}
.ph-meta-rows span { color: #8b94a3; font-weight: 600; }
.ph-meta-rows b { color: #0c1222; font-weight: 700; text-align: right; }

/* Timeline chase */
.ph-timeline { display: grid; gap: 0.55rem; margin-top: 0.25rem; }
.ph-tl-row {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  opacity: 0.45;
}
.ph-tl-row.on { opacity: 1; }
.ph-tl-row > i {
  width: 10px;
  height: 10px;
  margin-top: 0.3rem;
  border-radius: 50%;
  background: #c9a97a;
  box-shadow: 0 0 0 3px rgba(201, 169, 122, 0.2);
  flex-shrink: 0;
}
.ph-tl-row.on > i {
  background: #1f7a54;
  box-shadow: 0 0 0 3px rgba(31, 122, 84, 0.22);
}
.ph-tl-row b {
  display: block;
  font-size: 0.78rem;
  font-weight: 750;
  color: #0c1222;
}
.ph-tl-row span {
  font-size: 0.7rem;
  color: #5c6678;
}

/* Airline reply mail */
.ph-mail {
  padding: 0.85rem 0.9rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15, 26, 46, 0.08);
  box-shadow: 0 10px 28px rgba(12, 18, 34, 0.07);
}
.ph-mail-from {
  font-size: 0.72rem;
  font-weight: 700;
  color: #5c6678;
}
.ph-mail-sub {
  margin-top: 0.25rem;
  font-size: 0.9rem;
  font-weight: 750;
  color: #0c1222;
  letter-spacing: -0.02em;
}
.ph-mail-preview {
  margin-top: 0.45rem;
  font-size: 0.74rem;
  line-height: 1.4;
  color: #4a5568;
}
.ph-mail-tag {
  display: inline-flex;
  margin-top: 0.65rem;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(184, 149, 106, 0.14);
  color: #8a6b3e;
  border: 1px solid rgba(184, 149, 106, 0.28);
}

/* Payout — the aha screen */
.ph-body.ph-payout {
  gap: 0.75rem;
}
.ph-push {
  padding: 0.7rem 0.8rem;
  border-radius: 14px;
  background: rgba(15, 26, 46, 0.94);
  color: #f7f3ea;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  animation: phPushIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes phPushIn {
  from { opacity: 0; transform: translateY(-10px) scale(0.96); }
  to { opacity: 1; transform: none; }
}
.ph-push-brand {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(240, 226, 200, 0.75);
  margin-bottom: 0.28rem;
}
.ph-push-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3dcf8e;
  box-shadow: 0 0 8px rgba(61, 207, 142, 0.7);
}
.ph-push-title {
  font-size: 0.92rem;
  font-weight: 750;
  letter-spacing: -0.02em;
}
.ph-push-body {
  margin-top: 0.15rem;
  font-size: 0.72rem;
  color: rgba(247, 243, 234, 0.72);
  line-height: 1.35;
}
.ph-payout-card {
  position: relative;
  padding: 1.1rem 1rem 1rem;
  border-radius: 20px;
  background:
    radial-gradient(120% 90% at 10% 0%, rgba(240, 226, 200, 0.55), transparent 50%),
    linear-gradient(160deg, #0f1a2e 0%, #1a2744 55%, #243556 100%);
  color: #f7f3ea;
  border: 1px solid rgba(240, 226, 200, 0.28);
  box-shadow:
    0 18px 40px rgba(12, 18, 34, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  overflow: hidden;
  animation: phPayoutIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
}
@keyframes phPayoutIn {
  from { opacity: 0; transform: translateY(14px) scale(0.96); }
  to { opacity: 1; transform: none; }
}
.ph-payout-card::after {
  content: "";
  position: absolute;
  inset: -40% -20%;
  background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, 0.12) 50%, transparent 60%);
  animation: phShine 2.8s ease-in-out infinite;
  pointer-events: none;
}
@keyframes phShine {
  0% { transform: translateX(-30%); }
  100% { transform: translateX(30%); }
}
.ph-payout-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(240, 226, 200, 0.7);
}
.ph-payout-amt {
  margin-top: 0.35rem;
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: -0.045em;
  background: linear-gradient(115deg, #fff6e4, #e8d4a8 50%, #c9a97a);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1.05;
}
.ph-payout-flight {
  margin-top: 0.45rem;
  font-size: 0.72rem;
  font-weight: 650;
  color: rgba(247, 243, 234, 0.72);
}
.ph-payout-status {
  margin-top: 0.75rem;
  display: inline-flex;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  background: rgba(61, 207, 142, 0.16);
  border: 1px solid rgba(61, 207, 142, 0.35);
  color: #9aefc4;
}
.ph-payout-fee {
  margin-top: 0.55rem;
  font-size: 0.62rem;
  color: rgba(247, 243, 234, 0.48);
  line-height: 1.3;
}

.cine-pro[data-active="paid"] .cine-phone-device,
.cine-pro[data-active="rights"] .cine-phone-device {
  filter:
    drop-shadow(0 36px 56px rgba(0, 0, 0, 0.55))
    drop-shadow(0 0 36px rgba(184, 149, 106, 0.22));
}

/* ═══ Premium demo modal (phone lives here — never in hero) ═══ */
/* legacy demo-open-btn removed — hero uses .hero-how */

.demo-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
}
.demo-modal.hidden { display: none !important; }
.demo-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}
.demo-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 12, 20, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.demo-modal-sheet {
  position: relative;
  z-index: 1;
  width: min(100%, 720px);
  max-height: min(92dvh, 860px);
  margin: 0 auto;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(165deg, #121a2c 0%, #0a0e18 55%, #0c1220 100%);
  border: 1px solid rgba(184, 149, 106, 0.22);
  border-bottom: 0;
  box-shadow: 0 -24px 80px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(18px);
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.demo-modal.is-open .demo-modal-sheet {
  transform: translateY(0);
}
.demo-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.2rem 0.9rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.demo-modal-titles { min-width: 0; flex: 1; }
.demo-modal-kicker {
  margin: 0 0 0.28rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(240, 226, 200, 0.58);
}
.demo-modal-head h2 {
  margin: 0;
  font-size: 1.28rem;
  font-weight: 750;
  letter-spacing: -0.035em;
  color: #f7f3ea;
  line-height: 1.2;
}
.demo-modal-lead {
  margin: 0.35rem 0 0;
  font-size: 0.84rem;
  line-height: 1.4;
  color: rgba(247, 243, 234, 0.55);
  max-width: 36ch;
}
/* Luxury close — soft disc, not a crude × */
.demo-modal-close {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.1);
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(247, 243, 234, 0.88);
  cursor: pointer;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, color 0.18s ease;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.demo-modal-close:hover {
  background: rgba(240, 226, 200, 0.12);
  border-color: rgba(184, 149, 106, 0.45);
  color: #f0e2c8;
  transform: scale(1.04);
}
.demo-modal-close:active {
  transform: scale(0.97);
}
.demo-modal-close svg {
  display: block;
}
.demo-modal-body {
  padding: 0.65rem 0.85rem 1.25rem;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
/* Fit modal: auto-loop walkthrough, no scroll, no replay — full frame */
.demo-modal-sheet-fit {
  max-height: min(88dvh, 620px) !important;
  width: min(100%, 400px) !important;
  border-radius: 24px !important;
  border: 1px solid rgba(184, 149, 106, 0.32) !important;
  overflow: hidden !important;
  margin: auto;
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(184, 149, 106, 0.12), transparent 55%),
    linear-gradient(168deg, #141c30 0%, #0a0e18 52%, #0c1220 100%) !important;
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset !important;
}
.demo-modal:has(.demo-modal-sheet-fit) {
  align-items: center !important;
  justify-content: center !important;
  padding: max(0.75rem, env(safe-area-inset-top)) 1rem max(0.75rem, env(safe-area-inset-bottom)) !important;
}
.demo-modal-body-fit {
  overflow: hidden !important;
  overflow-y: hidden !important;
  overscroll-behavior: none !important;
  max-height: none !important;
  padding: 1.5rem 1.2rem 1.35rem !important;
  -webkit-overflow-scrolling: auto !important;
}
.demo-modal-close-float {
  position: absolute;
  top: 0.7rem;
  right: 0.7rem;
  z-index: 5;
  width: 2.35rem !important;
  height: 2.35rem !important;
  background: rgba(255, 255, 255, 0.07) !important;
}
.cine-fit {
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.cine-fit-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  text-align: center;
}
.cine-fit .cine-phone-device {
  width: min(36vw, 142px) !important;
  max-width: 142px !important;
  margin: 0 auto !important;
  filter: drop-shadow(0 18px 36px rgba(0, 0, 0, 0.5)) !important;
  flex-shrink: 0;
}
.cine-fit .cine-phone-bezel {
  border-radius: 24px !important;
  padding: 5px !important;
}
.cine-fit .cine-phone-screen {
  min-height: 0 !important;
  aspect-ratio: 9 / 18.8;
  border-radius: 19px !important;
  padding: 1.35rem 0.48rem 0.48rem !important;
  font-size: 0.78em;
  overflow: hidden;
}
.cine-fit .cine-phone-island {
  width: 46px !important;
  height: 13px !important;
  top: 9px !important;
}
.cine-fit-copy {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}
.cine-fit-copy .demo-modal-kicker {
  margin: 0;
  color: rgba(240, 226, 200, 0.55);
  letter-spacing: 0.16em;
}
.cine-fit .cine-title {
  margin: 0.1rem 0 0 !important;
  font-size: 1.02rem !important;
  font-weight: 750 !important;
  color: #f7f3ea !important;
  letter-spacing: -0.03em;
  line-height: 1.25 !important;
}
.cine-fit .cine-sub {
  margin: 0 !important;
  font-size: 0.8rem !important;
  line-height: 1.42 !important;
  color: rgba(247, 243, 234, 0.58) !important;
  max-width: 30ch;
}
.cine-fit .cine-meter {
  width: min(100%, 180px);
  height: 3px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
  margin: 0.2rem 0 0.1rem;
}
.cine-fit .cine-meter > i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c9a97a, #f0e2c8);
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.cine-steps-dots {
  display: flex !important;
  gap: 0.38rem !important;
  justify-content: center;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  padding: 0.1rem 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.cine-steps-dots .cine-step {
  width: 0.42rem !important;
  height: 0.42rem !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 0 !important;
  background: rgba(255, 255, 255, 0.18) !important;
  font-size: 0 !important;
  color: transparent !important;
  flex: 0 0 auto !important;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.cine-steps-dots .cine-step.on {
  background: #f0e2c8 !important;
  box-shadow: 0 0 0 3px rgba(240, 226, 200, 0.16);
  transform: scale(1.2);
}
.cine-steps-dots .cine-step.done {
  background: rgba(154, 239, 196, 0.5) !important;
}
.cine-start-btn {
  margin-top: 0.45rem;
  min-width: 10rem;
  border-radius: 999px !important;
  font-weight: 750 !important;
}
.cine-swipe-hint {
  margin: 0.15rem 0 0;
  font-size: 0.65rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(247, 243, 234, 0.38);
}
/* Side navigation arrows on demo modal */
.demo-modal-sheet-fit {
  position: relative;
}
.cine-nav {
  appearance: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 6;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.07);
  color: rgba(247, 243, 234, 0.88);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  backdrop-filter: blur(8px);
}
.cine-nav:hover {
  background: rgba(240, 226, 200, 0.14);
  border-color: rgba(184, 149, 106, 0.45);
  color: #f0e2c8;
}
.cine-nav:active { transform: translateY(-50%) scale(0.96); }
.cine-nav-prev { left: 0.45rem; }
.cine-nav-next { right: 0.45rem; }
@media (max-width: 480px) {
  .cine-nav {
    width: 2.1rem;
    height: 2.1rem;
  }
  .cine-nav-prev { left: 0.25rem; }
  .cine-nav-next { right: 0.25rem; }
}

/* Enterprise glass nav */
.ent-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem max(1rem, env(safe-area-inset-right)) 0.65rem max(1rem, env(safe-area-inset-left));
  pointer-events: none;
}
.ent-nav a,
.ent-nav button {
  pointer-events: auto;
}
.ent-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  text-decoration: none;
  color: #f7f3ea;
  font-weight: 750;
  letter-spacing: -0.03em;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}
.ent-brand-name { font-size: 0.95rem; }
.ent-menu {
  display: flex;
  align-items: center;
  gap: 1.15rem;
}
.ent-menu a {
  color: rgba(247, 243, 234, 0.78);
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 620;
  letter-spacing: -0.01em;
  transition: color 0.15s ease;
}
.ent-menu a:hover { color: #f0e2c8; }
.ent-actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.ent-icon-btn,
.ent-oauth {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(8, 12, 20, 0.4);
  color: #f7f3ea;
  display: grid;
  place-items: center;
  cursor: pointer;
  text-decoration: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.ent-icon-btn:hover,
.ent-oauth:hover {
  border-color: rgba(184, 149, 106, 0.5);
  background: rgba(15, 26, 46, 0.55);
}
.ent-cta {
  margin-left: 0.15rem;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}
@media (max-width: 820px) {
  .ent-menu { display: none; }
  .ent-oauth:nth-of-type(1) { display: none; } /* hide one oauth on tiny */
}

/* Unified product card under hero */
.path-premium {
  padding: 1.75rem 0 0.5rem;
}
.path-card-lux {
  position: relative;
  padding: 1.45rem 1.4rem 1.35rem;
  border-radius: 22px;
  border: 1px solid rgba(15, 26, 46, 0.08);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(247, 243, 234, 0.78));
  box-shadow: 0 18px 48px rgba(12, 18, 34, 0.07);
  overflow: hidden;
  max-width: 720px;
  margin: 0 auto;
}
.path-card-lux::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, #c9a97a, #f0e2c8, #8ab4d4);
  opacity: 0.9;
}
.unified-card h3 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.2rem, 2.8vw, 1.45rem);
  font-weight: 760;
  letter-spacing: -0.035em;
  color: #0f1a2e;
}
.unified-card > p {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #5a6475;
  max-width: 48ch;
}
.pcl-k {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8b94a3;
  margin-bottom: 0.4rem;
}
.pcl-list {
  margin: 0 0 1.05rem;
  padding: 0;
  list-style: none;
}
.pcl-list li {
  position: relative;
  padding: 0.22rem 0 0.22rem 1rem;
  font-size: 0.84rem;
  color: #3a4558;
  line-height: 1.4;
}
.pcl-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: #c9a97a;
}
.pcl-list-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 1.25rem;
}
.pcl-list-inline li { padding-right: 0.25rem; }
@media (max-width: 720px) {
  .path-premium { padding-top: 1.15rem; }
  .path-card-lux { padding: 1.15rem 1.05rem 1.1rem; border-radius: 18px; }
}

/* More available Ask AI */
.ask-ai-btn.ask-ai-prominent {
  box-shadow:
    0 14px 40px rgba(12, 18, 34, 0.28),
    0 0 0 1px rgba(184, 149, 106, 0.25);
}
.ask-ai-btn.ask-ai-prominent .ask-ai-lab {
  font-weight: 750;
}
.cine-fit .cine-n {
  display: inline-block;
  font-size: 0.72em;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: rgba(240, 226, 200, 0.55);
  margin-right: 0.15rem;
}
.cine-swipe-zone {
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
}
.cine-swipe-zone:active { cursor: grabbing; }
/* Cleaner phone screens for 4-step story */
.cine-fit .ph-clean .ph-h {
  font-size: 0.95rem;
  font-weight: 750;
  letter-spacing: -0.03em;
  color: #0c1222;
  margin: 0 0 0.55rem;
}
.cine-fit .ph-drop {
  border: 1.5px dashed rgba(15, 26, 46, 0.18);
  border-radius: 12px;
  padding: 0.75rem 0.55rem;
  text-align: center;
  background: rgba(247, 243, 234, 0.55);
  margin-bottom: 0.55rem;
}
.cine-fit .ph-drop-ico {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 auto 0.35rem;
  border-radius: 50%;
  background: #0f1a2e;
  color: #f0e2c8;
  font-size: 0.85rem;
  line-height: 1.6rem;
  font-weight: 700;
}
.cine-fit .ph-tip {
  font-size: 0.68rem;
  line-height: 1.35;
  color: #5a6475;
  margin-top: 0.4rem;
}
.cine-fit .ph-checklist {
  list-style: none;
  margin: 0.55rem 0 0;
  padding: 0;
  text-align: left;
}
.cine-fit .ph-checklist li {
  position: relative;
  padding: 0.28rem 0 0.28rem 1.05rem;
  font-size: 0.68rem;
  line-height: 1.35;
  color: #2a3344;
}
.cine-fit .ph-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: #1a6b42;
  box-shadow: 0 0 0 2px rgba(26, 107, 66, 0.15);
}
.cine-fit .ph-rights-soft {
  padding: 0.65rem 0.6rem !important;
}
.cine-fit .ph-payout-soft .ph-payout-amt {
  font-size: 0.95rem !important;
  letter-spacing: -0.02em;
}
.cine-fit .ph-win {
  text-align: center;
  padding: 0.75rem 0.5rem 0.65rem !important;
}
.cine-fit .ph-win-badge {
  width: 1.7rem;
  height: 1.7rem;
  margin: 0 auto 0.45rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.85rem;
  font-weight: 800;
  color: #0c3d28;
  background: linear-gradient(145deg, #9aefc4, #4ade9b);
  box-shadow: 0 4px 12px rgba(74, 222, 155, 0.35);
}
.cine-fit .ph-win .ph-payout-label {
  font-weight: 750;
  color: #0c1222;
  font-size: 0.88rem;
}
.cine-fit .ph-win .ph-payout-amt {
  margin-top: 0.25rem;
  color: #1a6b42;
  font-weight: 780;
}
.cine-fit .ph-win .ph-payout-status {
  margin-top: 0.45rem;
  font-size: 0.68rem;
  color: #3a4558;
}
.cine-fit .ph-win .ph-payout-fee {
  margin-top: 0.2rem;
  font-size: 0.62rem;
  color: #8b94a3;
  line-height: 1.3;
}
/* Hide any legacy replay / progress bar / log if present */
.cine-fit [data-cine-replay],
.cine-fit .cine-replay,
.cine-fit .cine-progress,
.cine-fit .cine-log,
.cine-fit .cine-stage-badge,
.cine-fit .cine-meter-label {
  display: none !important;
}
body.demo-modal-open {
  overflow: hidden;
}
@media (max-height: 700px) {
  .cine-fit .cine-phone-device {
    width: min(30vw, 120px) !important;
    max-width: 120px !important;
  }
  .cine-fit-grid { gap: 0.65rem; }
  .demo-modal-body-fit { padding: 1.2rem 1rem 1.1rem !important; }
  .cine-fit .cine-title { font-size: 0.95rem !important; }
  .cine-fit .cine-sub { font-size: 0.76rem !important; }
}
@media (min-width: 520px) {
  .demo-modal-sheet-fit {
    width: min(100%, 420px) !important;
  }
  .cine-fit .cine-phone-device {
    width: 150px !important;
    max-width: 150px !important;
  }
}

/* Landing slim sections */
.hero-lead-clean {
  max-width: 28ch !important;
  font-size: clamp(0.95rem, 2.4vw, 1.08rem) !important;
  line-height: 1.45 !important;
  margin-top: 0.65rem !important;
}
.hero-clean .epic-line { display: block; }
.cine-bridge-slim {
  padding: 0.65rem 0 0.85rem !important;
}
.cine-bridge-slim .bridge-pill {
  font-size: 0.72rem !important;
  padding: 0.4rem 0.75rem !important;
}
.carriers-slim {
  padding: 1.35rem 0 0.5rem;
  border-top: 1px solid rgba(15, 26, 46, 0.05);
}
.carriers-slim-k {
  text-align: center;
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8b94a3;
  margin: 0 0 0.75rem;
}
.carriers-slim-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem 0.65rem;
}
.carriers-slim-row span {
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  color: #3a4558;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(15, 26, 46, 0.04);
  border: 1px solid rgba(15, 26, 46, 0.06);
}
.section-tight {
  padding-top: 2.25rem !important;
  padding-bottom: 2.25rem !important;
}
.h2-tight {
  font-size: clamp(1.45rem, 3.2vw, 1.85rem) !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 1rem !important;
}
.section-p-tight {
  max-width: 42ch;
  margin-bottom: 0.85rem !important;
  font-size: 0.92rem !important;
}
.guide-grid-tight {
  gap: 0.75rem !important;
}
.guide-grid-tight .guide-card {
  padding: 1.1rem 1.15rem !important;
}
.guide-grid-tight .guide-tips { display: none; }
.guide-grid-tight .ficon { display: none; }
.guide-grid-tight h3 {
  font-size: 1.05rem !important;
  margin: 0.35rem 0 0.4rem !important;
}
.guide-grid-tight p {
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  color: var(--muted);
}
.rights-slim-link {
  text-align: center;
  margin: 1.25rem 0 0;
  font-size: 0.86rem;
}
.rights-slim-link a {
  color: var(--brand-deep);
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px solid rgba(184, 149, 106, 0.45);
}
.trust-slim {
  display: grid;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}
.badge-row-tight {
  gap: 0.4rem !important;
  flex-wrap: wrap;
}
.final-cta-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  padding: 1.25rem 1.35rem;
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(26, 39, 68, 0.06), rgba(184, 149, 106, 0.1));
  border: 1px solid rgba(184, 149, 106, 0.28);
  box-shadow: 0 12px 36px rgba(12, 18, 34, 0.06);
}
.final-cta-band .h2-tight { margin-bottom: 0.25rem !important; }
.final-cta-band .section-p-tight { margin-bottom: 0 !important; }
.contact-slim {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem;
}
.contact-email-slim {
  font-size: 1.15rem !important;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.contact-slim-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}
.about-slim {
  text-align: center;
}
.about-slim > p {
  margin: 0 0 1rem;
  color: var(--muted);
  font-size: 0.92rem;
}
.about-cta-tight {
  max-width: 520px;
  margin: 0 auto;
}
.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;
}
@media (min-width: 800px) {
  .trust-slim {
    grid-template-columns: 1.2fr 1fr;
    align-items: end;
  }
}

/* Cine inside modal — compact, single-column, no particle stage */
.cine-in-modal.cine-pro {
  min-height: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.cine-in-modal .cine-topbar {
  padding: 0.35rem 0.5rem 0.5rem !important;
}
.cine-inner-modal {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1rem !important;
  min-height: 0 !important;
  padding: 0.35rem 0.5rem 0.75rem !important;
  align-items: center !important;
}
.cine-inner-modal .cine-right {
  order: 1;
  min-height: 0 !important;
  width: 100%;
  display: grid;
  place-items: center;
  padding: 0.25rem 0 0.5rem;
}
.cine-inner-modal .cine-left {
  order: 2;
  width: 100%;
  gap: 0.65rem !important;
}
.cine-in-modal .cine-phone-device {
  width: min(52vw, 200px) !important;
  max-width: 200px !important;
  margin: 0 auto !important;
  filter:
    drop-shadow(0 20px 36px rgba(0, 0, 0, 0.5))
    drop-shadow(0 0 28px rgba(184, 149, 106, 0.12)) !important;
}
.cine-in-modal .cine-phone-bezel {
  border-radius: 28px !important;
  padding: 7px !important;
}
.cine-in-modal .cine-phone-screen {
  min-height: 0 !important;
  aspect-ratio: 9 / 19.5;
  border-radius: 22px !important;
  padding: 1.75rem 0.7rem 0.7rem !important;
}
.cine-in-modal .cine-phone-island {
  width: 62px !important;
  height: 18px !important;
  top: 13px !important;
}
.cine-in-modal .cine-title {
  color: #f7f3ea !important;
  font-size: 1.08rem !important;
}
.cine-in-modal .cine-sub {
  color: rgba(247, 243, 234, 0.62) !important;
  font-size: 0.86rem !important;
}
.cine-in-modal .cine-step {
  background: rgba(255, 255, 255, 0.06) !important;
  color: rgba(255, 255, 255, 0.7) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.cine-in-modal .cine-step.on {
  background: rgba(184, 149, 106, 0.22) !important;
  color: #f0e2c8 !important;
  border-color: rgba(184, 149, 106, 0.4) !important;
}
.cine-in-modal .cine-step.done {
  color: rgba(154, 239, 196, 0.85) !important;
}

@media (min-width: 720px) {
  .demo-modal {
    align-items: center;
    padding: 1.5rem;
  }
  .demo-modal-sheet {
    border-radius: 22px;
    border-bottom: 1px solid rgba(184, 149, 106, 0.22);
    max-height: min(88vh, 780px);
    width: min(100%, 640px);
  }
  .cine-inner-modal {
    grid-template-columns: 0.95fr 1.05fr !important;
    align-items: center !important;
    gap: 1.25rem !important;
  }
  .cine-inner-modal .cine-right { order: 1; }
  .cine-inner-modal .cine-left { order: 2; }
  .cine-in-modal .cine-phone-device {
    width: min(100%, 220px) !important;
    max-width: 220px !important;
  }
}

@media (max-width: 480px) {
  .demo-open-btn {
    width: 100%;
    padding: 0.75rem 0.85rem;
  }
  .demo-open-copy strong { font-size: 0.9rem; }
  .cine-in-modal .cine-phone-device {
    width: min(48vw, 176px) !important;
  }
  .demo-modal-head h2 { font-size: 1.08rem; }
}

/* Walkthrough: phone-first, no crush/glitch on tablet/mobile */
@media (max-width: 900px) {
  .cine-pro .cine-particles,
  .cine-pro .cine-cursor,
  .cine-pro .cine-glow,
  .cine-pro .cine-grid {
    display: none !important;
  }
  .cine-section {
    padding: 1.5rem 0 1.75rem !important;
  }
  .cine-pro {
    min-height: 0 !important;
    border-radius: 20px !important;
    overflow: hidden;
    padding-bottom: 0.25rem;
  }
  .cine-topbar {
    padding: 0.75rem 0.85rem 0 !important;
    gap: 0.45rem !important;
  }
  .cine-inner,
  .cine-inner-3 {
    grid-template-columns: 1fr !important;
    gap: 1.15rem !important;
    min-height: 0 !important;
    padding: 0.65rem 0.85rem 1.15rem !important;
    align-items: center !important;
  }
  /* Phone first, room to breathe, then receipt, then copy */
  .cine-right {
    order: 1;
    min-height: 0 !important;
    padding: 0.35rem 0 0.15rem;
    width: 100%;
    place-items: center;
  }
  .cine-mid {
    order: 2;
    min-height: 0 !important;
    width: 100%;
    place-items: center;
  }
  .cine-left {
    order: 3;
    width: 100%;
    gap: 0.65rem !important;
  }
  /* Kill parallax jitter on touch devices */
  .cine [data-cine-parallax] {
    transform: none !important;
    will-change: auto !important;
  }
  .cine-phone-device,
  .cine-hero-main .cine-phone-device {
    width: min(58vw, 210px) !important;
    max-width: 210px !important;
    margin: 0 auto !important;
    filter:
      drop-shadow(0 18px 28px rgba(0, 0, 0, 0.4))
      drop-shadow(0 6px 12px rgba(0, 0, 0, 0.25)) !important;
  }
  .cine-phone-bezel {
    border-radius: 28px !important;
    padding: 7px !important;
  }
  .cine-phone-island {
    width: 64px !important;
    height: 18px !important;
    top: 14px !important;
  }
  /* Critical: remove 520px min-height that crushed the stage */
  .cine-phone-screen {
    min-height: 0 !important;
    aspect-ratio: 9 / 19.5;
    border-radius: 22px !important;
    padding: 1.85rem 0.7rem 0.75rem !important;
    gap: 0.28rem !important;
  }
  .cine-receipt {
    width: min(72%, 200px) !important;
    max-width: 200px !important;
    min-height: 160px !important;
    padding: 0.75rem 0.7rem !important;
    border-radius: 14px !important;
    margin: 0 auto;
  }
  .cine-log { max-height: 64px; }
  .cine-title { font-size: 1.05rem !important; }
  .cine-sub { font-size: 0.84rem !important; line-height: 1.4; }
}
@media (max-width: 560px) {
  .cine-section {
    padding: 1.15rem 0 1.35rem !important;
  }
  .cine-pro {
    border-radius: 18px !important;
    margin-inline: 0;
  }
  .cine-phone-device,
  .cine-hero-main .cine-phone-device {
    width: min(52vw, 188px) !important;
    max-width: 188px !important;
  }
  .cine-receipt {
    width: min(68%, 178px) !important;
    min-height: 140px !important;
  }
  .cine-steps {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    gap: 0.35rem;
    padding-bottom: 0.25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .cine-steps::-webkit-scrollbar { display: none; }
  .cine-step {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.7rem !important;
    padding: 0.32rem 0.5rem !important;
  }
  .cine-actions {
    flex-wrap: wrap;
    gap: 0.4rem;
  }
  .cine-actions .btn {
    min-height: 2.4rem;
  }
}
.cine-pro[data-active="paid"] .cine-stage-badge {
  background: rgba(61, 207, 142, 0.18);
  border-color: rgba(61, 207, 142, 0.4);
  color: #9aefc4;
}
.cine-pro[data-active="rights"] .cine-stage-badge {
  background: rgba(31, 122, 84, 0.2);
  border-color: rgba(61, 207, 142, 0.35);
  color: #9aefc4;
}

@media (prefers-reduced-motion: reduce) {
  .ph-gate.go, .ph-push, .ph-payout-card, .ph-payout-card::after {
    animation: none !important;
  }
}
.cine-log {
  margin-top: .5rem;
  display: grid;
  gap: .3rem;
  max-height: 110px;
  overflow: hidden;
}
.cine-log-line {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .72rem;
  font-family: var(--mono), ui-monospace, monospace;
  color: rgba(255,255,255,.55);
  opacity: 0;
  animation: logIn .4s var(--lux-ease) forwards;
}
.cine-log-line i {
  width: 6px; height: 6px; border-radius: 50%;
  background: #c9a97a;
  box-shadow: 0 0 8px rgba(184,149,106,.6);
  flex-shrink: 0;
}
@keyframes logIn {
  from { opacity: 0; transform: translateX(-6px); }
  to { opacity: 1; transform: none; }
}
.cine-hint {
  margin: .65rem 0 0;
  font-size: .72rem;
  color: rgba(255,255,255,.4);
  letter-spacing: .02em;
}

.cine-pro[data-active="done"] .cine-phone-device,
.cine-pro[data-active="done"] .cine-phone {
  box-shadow: 0 30px 60px rgba(0,0,0,.45), 0 0 0 1px rgba(184,149,106,.35), 0 0 40px rgba(184,149,106,.12);
}

/* Dark bands + soft moving clouds */
.dark-band {
  position: relative;
  z-index: 1;
  padding: 3.2rem 0 3rem;
  background:
    radial-gradient(800px 360px at 10% 0%, rgba(184,149,106,.12), transparent 55%),
    linear-gradient(165deg, #0c1222 0%, #121a2e 45%, #0f1728 100%);
  color: #fff;
  overflow: hidden;
  isolation: isolate;
}
.dark-band-alt {
  background:
    radial-gradient(700px 320px at 90% 10%, rgba(80,120,200,.1), transparent 50%),
    linear-gradient(165deg, #0a101c 0%, #141e32 50%, #0d1524 100%);
}
.dark-band-clouds .wrap {
  position: relative;
  z-index: 2;
}
.dark-clouds {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.dcloud {
  position: absolute;
  border-radius: 50%;
  filter: blur(48px);
  opacity: 0.22;
  will-change: transform;
}
.dcloud-1 {
  width: min(52vw, 420px);
  height: min(28vw, 220px);
  left: -8%;
  top: 18%;
  background: radial-gradient(ellipse at center, rgba(180, 200, 230, 0.55), transparent 70%);
  animation: dcloudDriftA 48s ease-in-out infinite alternate;
}
.dcloud-2 {
  width: min(48vw, 380px);
  height: min(26vw, 200px);
  right: -6%;
  top: 42%;
  background: radial-gradient(ellipse at center, rgba(184, 149, 106, 0.35), transparent 72%);
  animation: dcloudDriftB 56s ease-in-out infinite alternate;
}
.dcloud-3 {
  width: min(60vw, 480px);
  height: min(22vw, 180px);
  left: 22%;
  bottom: 8%;
  background: radial-gradient(ellipse at center, rgba(120, 150, 200, 0.28), transparent 70%);
  animation: dcloudDriftA 64s ease-in-out infinite alternate-reverse;
}
@keyframes dcloudDriftA {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(6%, -4%, 0) scale(1.06); }
}
@keyframes dcloudDriftB {
  from { transform: translate3d(0, 0, 0) scale(1.04); }
  to { transform: translate3d(-7%, 3%, 0) scale(1); }
}
.dark-band-edge {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  box-shadow:
    inset 0 40px 50px -20px rgba(8, 12, 22, 0.55),
    inset 0 -40px 50px -20px rgba(8, 12, 22, 0.55);
  background:
    linear-gradient(180deg, rgba(8, 12, 22, 0.35) 0%, transparent 14%, transparent 86%, rgba(8, 12, 22, 0.4) 100%);
}
.dark-band h2 {
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  letter-spacing: -.035em;
  font-weight: 750;
  margin: .2rem 0 .4rem;
  color: #fff;
}
.dark-band p { color: rgba(255,255,255,.62); max-width: 46ch; font-size: .95rem; }
.section-k.gold { color: #c9a97a !important; }
.dark-band-head { margin-bottom: 1.25rem; }
.dark-band-head.row-between {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}
.carousel-controls { display: flex; gap: .4rem; }

.airline-card.dark {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(255,255,255,.1) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.25) !important;
  color: #fff;
}
.airline-card.dark .al-name { color: #fff; }
.airline-card.dark .al-sub { color: rgba(255,255,255,.45); }
.airline-card.dark:hover {
  border-color: rgba(184,149,106,.4) !important;
  background: rgba(255,255,255,.08) !important;
}
.dark-cards { margin-top: 1.25rem; }

/* Marquee */
.sv-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  margin: 0 0 1.5rem;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: .7rem 0;
}
.sv-marquee-track {
  display: flex;
  gap: 2.5rem;
  width: max-content;
  animation: marquee 32s linear infinite;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
}
.sv-marquee.paused .sv-marquee-track { animation-play-state: paused; }
@keyframes marquee {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}

/* Carousels */
.sv-carousel { position: relative; }
.sv-carousel-viewport {
  overflow: hidden;
  border-radius: 20px;
  touch-action: pan-y;
}
.sv-carousel-track {
  display: flex;
  transition: transform .55s var(--lux-ease);
  will-change: transform;
  cursor: grab;
}
.sv-carousel-track:active { cursor: grabbing; }
.sv-slide {
  flex: 0 0 100%;
  min-width: 100%;
  box-sizing: border-box;
  padding: .15rem;
}
.case-slide, .voice-slide {
  padding: 1.35rem 1.4rem;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 18px 40px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.06);
  min-height: 220px;
  color: #fff;
}
.case-slide h3 {
  font-size: 1.15rem;
  font-weight: 750;
  letter-spacing: -.02em;
  margin: .15rem 0 .35rem;
}
.slide-meta { color: rgba(255,255,255,.5); font-size: .88rem; margin-bottom: .5rem; }
.case-slide .case-meta { color: rgba(255,255,255,.75); }
.case-slide .case-meta b { color: #f0e2c8; }
.case-slide .case-quote {
  color: rgba(255,255,255,.7);
  border-top-color: rgba(255,255,255,.1);
}
.case-slide .dim { color: rgba(255,255,255,.4) !important; }

.voice-slide p {
  font-size: 1.15rem;
  font-weight: 550;
  letter-spacing: -.02em;
  line-height: 1.45;
  color: #fff;
  margin: 0 0 1rem;
  max-width: none;
}
.voice-slide footer {
  font-size: .82rem;
  color: rgba(255,255,255,.45);
  font-weight: 600;
}

.sv-dots {
  display: flex;
  justify-content: center;
  gap: .4rem;
  margin-top: 1rem;
}
.sv-dot {
  width: 8px; height: 8px;
  border-radius: 99px;
  border: 0;
  background: rgba(255,255,255,.2);
  cursor: pointer;
  padding: 0;
  transition: width .25s, background .25s;
}
.sv-dot.on {
  width: 22px;
  background: linear-gradient(90deg, #c9a97a, #f0e2c8);
}

.guide-card.guide-dark {
  background: linear-gradient(165deg, #121a2e, #0f1626) !important;
  border-color: rgba(255,255,255,.1) !important;
  color: #fff;
  box-shadow: 0 20px 48px rgba(12,18,34,.18) !important;
}
.guide-card.guide-dark h3 { color: #fff; }
.guide-card.guide-dark p,
.guide-card.guide-dark .guide-tips { color: rgba(255,255,255,.62); }
.guide-card.guide-dark .guide-n { color: #c9a97a; }
.ficon.dark-ico {
  background: rgba(184,149,106,.12);
  border-color: rgba(184,149,106,.28);
  color: #f0e2c8;
}

.trust-viewport { overflow: hidden; }
.trust-track { display: flex; }
.trust-slide {
  flex: 0 0 100%;
  min-width: 100%;
}
@media (min-width: 900px) {
  .trust-slide { flex: 0 0 50%; min-width: 50%; }
  .sv-carousel#cases-carousel .sv-slide,
  .sv-carousel#voice-carousel .sv-slide {
    flex: 0 0 50%;
    min-width: 50%;
    padding: .35rem;
  }
  /* When showing 2, transform still steps by 100% of viewport = 2 slides — adjust via JS width? 
     Keep 100% for simplicity on all breakpoints for consistent transform math */
  .sv-carousel#cases-carousel .sv-slide,
  .sv-carousel#voice-carousel .sv-slide {
    flex: 0 0 100%;
    min-width: 100%;
  }
}

/* Unified phone-first stack for all ≤980 (don't fight 900px rules) */
@media (max-width: 980px) {
  .cine-inner-3 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  .cine-pro { min-height: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  .sv-marquee-track { animation: none; }
  .cine-receipt-scan.on { animation: none; opacity: .4; top: 40%; }
}

/* ── Ambient luxury background video ── */
.bg-video-wrap {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.08);
  filter: saturate(0.85) contrast(1.08) brightness(1.12);
}
.bg-video-veil {
  position: absolute;
  inset: 0;
  /* Lighter, warmer — less grey sludge on top */
  background:
    linear-gradient(180deg, rgba(255,252,248,.42) 0%, rgba(247,249,252,.58) 28%, rgba(243,245,248,.78) 62%, rgba(243,245,248,.9) 100%),
    radial-gradient(1000px 520px at 15% 0%, rgba(201,169,122,.14), transparent 55%),
    radial-gradient(800px 420px at 95% 30%, rgba(26,39,68,.05), transparent 50%);
}
@media (prefers-reduced-motion: reduce) {
  .bg-video { display: none; }
  .bg-video-veil {
    background: linear-gradient(180deg, #f3f5f8, #eef1f6);
  }
}
/* Unified light sections — full-bleed porcelain (never combine with .wrap on same node) */
.section-solid {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  background: #f7f8fb !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-top: 1px solid rgba(15, 23, 42, 0.04);
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.section-solid.section-alt {
  background: #f3f5f9 !important;
}
/* Soft ambient glow so lower page doesn’t feel flat */
.section-solid::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(ellipse 55% 40% at 12% 20%, rgba(184, 149, 106, 0.07), transparent 60%),
    radial-gradient(ellipse 50% 45% at 92% 70%, rgba(90, 130, 190, 0.06), transparent 62%);
  animation: sectionAmbient 22s ease-in-out infinite alternate;
}
.section-solid > * {
  position: relative;
  z-index: 1;
}
@keyframes sectionAmbient {
  from { opacity: 0.75; transform: scale(1); }
  to { opacity: 1; transform: scale(1.03); }
}
.section-solid h2,
.section-solid h3 { color: #0c1222 !important; }
.section-solid .section-p,
.section-solid .body-copy { color: #5a6472 !important; }

/* Guide cards = same family as safety-card */
.guide-card.guide-light,
.guide-card.guide-dark {
  background: #fff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  color: #0c1222 !important;
  box-shadow: 0 12px 32px rgba(12, 18, 34, 0.05) !important;
}
.guide-card.guide-light h3,
.guide-card.guide-dark h3 { color: #0c1222 !important; }
.guide-card.guide-light p,
.guide-card.guide-dark p,
.guide-card.guide-light .guide-tips,
.guide-card.guide-dark .guide-tips { color: #5a6472 !important; }
.guide-card.guide-light .guide-n,
.guide-card.guide-dark .guide-n { color: #9a7a52 !important; }
.guide-card.guide-light .ficon,
.guide-card.guide-dark .dark-ico {
  background: linear-gradient(145deg, rgba(26,39,68,.07), rgba(184,149,106,.12)) !important;
  border-color: rgba(26,39,68,.1) !important;
  color: #1a2744 !important;
}

/* Bottom CTA matches light cards */
.cta-final.cta-light,
.cta-final.cta-dark {
  background: #fff !important;
  color: #0c1222 !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 20px 50px rgba(12, 18, 34, 0.08) !important;
  text-align: center;
}
.cta-final.cta-light h2,
.cta-final.cta-dark h2 { color: #0c1222 !important; }
.cta-final.cta-light .cta-lead,
.cta-final.cta-dark .cta-lead { color: #5a6472 !important; margin: 0 auto 1.15rem; max-width: 40ch; }
.cta-final.cta-light .cta-fine,
.cta-final.cta-dark .cta-fine { color: #8b94a3 !important; }
.cta-final.cta-light .cta-fine a { color: #1a2744 !important; font-weight: 650; }
.cta-icon-row {
  display: flex; justify-content: center; gap: .55rem; margin-bottom: .85rem;
}
.cta-orb {
  width: 42px; height: 42px; border-radius: 14px;
  display: grid; place-items: center;
  background: linear-gradient(145deg, rgba(26,39,68,.07), rgba(184,149,106,.14));
  border: 1px solid rgba(15,23,42,.08);
  font-size: 1.05rem;
}
.cta-btns {
  display: flex; flex-wrap: wrap; gap: .55rem; justify-content: center; margin-bottom: .35rem;
}

/* GitHub button */
.btn-github {
  display: inline-flex !important;
  align-items: center;
  gap: .45rem;
  background: #0f1a2e !important;
  color: #fff !important;
  border: 1px solid rgba(15,26,46,.9) !important;
  font-weight: 650;
}
.btn-github:hover {
  background: #1a2744 !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(12,18,34,.18);
}

/* Hero trust + icons */
.meta-ico {
  width: 14px; height: 14px;
  margin-right: .35rem;
  vertical-align: -2px;
  opacity: .75;
}
.cine-hero-meta span {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 6px 18px rgba(12,18,34,.06);
  color: #3d4656 !important;
}
.hero-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: center;
  margin-top: .9rem;
}
.hero-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .74rem;
  font-weight: 650;
  color: #3d4656;
  padding: .4rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 4px 14px rgba(12,18,34,.04);
}
.ht-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #1a2744;
  box-shadow: 0 0 0 3px rgba(26,39,68,.1);
}
.ht-dot.green { background: #1f7a54; box-shadow: 0 0 0 3px rgba(31,122,84,.12); }
.cf-mark { width: 36px; height: 14px; display: block; }
.cf-pill { gap: .45rem; }

/* Share panel */
.share-panel {
  display: grid;
  grid-template-columns: 1.1fr 1.2fr;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem 1.5rem;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 48px rgba(12,18,34,.06);
}
.share-icons {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  justify-content: flex-end;
}
.share-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .7rem .95rem;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.1);
  background: #f8f9fb;
  color: #0c1222 !important;
  text-decoration: none;
  font-size: .86rem;
  font-weight: 650;
  cursor: pointer;
  font-family: inherit;
  transition: transform .15s ease, box-shadow .15s, border-color .15s;
}
.share-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(12,18,34,.1);
  border-color: rgba(184,149,106,.4);
}
.share-btn.fb { color: #1877f2 !important; }
.share-btn.x { color: #0c1222 !important; }
.share-btn.li { color: #0a66c2 !important; }
.share-btn.wa { color: #128c7e !important; }
@media (max-width: 800px) {
  .share-panel { grid-template-columns: 1fr; }
  .share-icons { justify-content: flex-start; }
}

/* PWA install — bottom-LEFT card only (chat FAB owns bottom-right) */
.pwa-banner {
  position: fixed;
  left: max(0.75rem, env(safe-area-inset-left, 0px));
  right: auto;
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  z-index: 10020;
  padding: 0;
  pointer-events: none;
  max-width: min(300px, calc(100vw - 5.75rem));
  width: auto;
}
.pwa-banner.hidden { display: none !important; }
.pwa-inner {
  pointer-events: auto;
  max-width: 100%;
  margin: 0;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .55rem .5rem .5rem;
  border-radius: 14px;
  background: rgba(15, 26, 46, 0.94);
  border: 1px solid rgba(184,149,106,.32);
  box-shadow: 0 14px 36px rgba(0,0,0,.32);
  color: #fff;
  backdrop-filter: blur(12px);
}
.pwa-ico img {
  border-radius: 10px;
  display: block;
  width: 34px;
  height: 34px;
}
.pwa-copy { flex: 1; min-width: 0; }
.pwa-copy strong { display: block; font-size: .8rem; letter-spacing: -.02em; line-height: 1.2; }
.pwa-copy span { font-size: .66rem; color: rgba(255,255,255,.62); line-height: 1.3; }
.pwa-actions { display: flex; gap: .25rem; flex-shrink: 0; flex-direction: column; }
.pwa-actions .btn { padding: .28rem .5rem !important; font-size: .7rem !important; min-height: 0; }
.pwa-banner .btn-ghost {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.15) !important;
  color: #fff !important;
}
@media (max-width: 560px) {
  .pwa-banner {
    left: max(0.5rem, env(safe-area-inset-left, 0px));
    max-width: min(17rem, calc(100vw - 5.15rem));
  }
  .pwa-actions { flex-direction: column; }
}

/* Cine hero brighter, less grey */
.cine-section.cine-hero-main {
  background: transparent !important;
}
.cine-hero-h1 { color: #0c1222 !important; text-shadow: 0 1px 0 rgba(255,255,255,.6); }
.cine-hero-lead { color: #4a5568 !important; }
/* Truly transparent sticky header (sky shows through — no grey frost) */
header.m-nav,
.m-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-bottom: 1px solid transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
.m-nav .inner {
  background: transparent !important;
}
/* Over dark hero sky: light type */
.m-nav .brand {
  color: #f7f3ea !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}
.m-nav .m-links a {
  color: rgba(247, 243, 234, 0.88) !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}
.m-nav .m-links a:hover { color: #fff !important; }
.m-nav .m-links a::after { background: linear-gradient(90deg, #c9a97a, #f0e2c8) !important; }
.m-nav .btn-ghost,
.m-nav .btn-github {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #f7f3ea !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.m-nav .btn-primary {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28) !important;
}
/* When scrolled onto light sections: stay clear, switch to dark type */
body.nav-scrolled header.m-nav,
body.nav-scrolled .m-nav {
  background: transparent !important;
  border-bottom-color: rgba(15, 26, 46, 0.06) !important;
  box-shadow: none !important;
}
body.nav-scrolled .m-nav .brand {
  color: #0f1a2e !important;
  text-shadow: none;
}
body.nav-scrolled .m-nav .m-links a {
  color: #3d4a5c !important;
  text-shadow: none;
}
body.nav-scrolled .m-nav .m-links a:hover {
  color: #0f1a2e !important;
}
body.nav-scrolled .m-nav .btn-ghost,
body.nav-scrolled .m-nav .btn-github {
  background: rgba(15, 26, 46, 0.04) !important;
  border-color: rgba(15, 26, 46, 0.1) !important;
  color: #0f1a2e !important;
}

/* Sweden flag badge */
.sweden-flag {
  display: inline-block;
  width: 22px;
  height: 14px;
  border-radius: 2px;
  background:
    linear-gradient(#006aa7 0 0) 0 0 / 100% 100%,
    linear-gradient(#fecc02 0 0);
  background-image:
    linear-gradient(#fecc02, #fecc02),
    linear-gradient(#fecc02, #fecc02),
    linear-gradient(#006aa7, #006aa7);
  background-size: 100% 28%, 22% 100%, 100% 100%;
  background-position: 0 36%, 32% 0, 0 0;
  background-repeat: no-repeat;
  box-shadow: 0 0 0 1px rgba(0,0,0,.08);
  vertical-align: middle;
  flex-shrink: 0;
}
.sweden-flag.sm { width: 16px; height: 10px; border-radius: 1.5px; }
.sweden-badge {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .78rem;
  font-weight: 700;
  color: #0f1a2e;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 6px 16px rgba(12,18,34,.06);
}
.sweden-inline {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  white-space: nowrap;
}
.hero-eyebrow {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: center;
  align-items: center;
  margin-bottom: .95rem;
}

/* Aviation skyline band — full viewport width */
.skyline-band {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: min(72vh, 560px);
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
}
.skyline-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.skyline-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  transform: scale(1.04);
  filter: saturate(0.9) contrast(1.05);
}
.skyline-veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(8,12,22,.82) 0%, rgba(8,12,22,.55) 48%, rgba(8,12,22,.28) 100%),
    linear-gradient(180deg, rgba(8,12,22,.2), rgba(8,12,22,.55));
}
.skyline-content {
  position: relative;
  z-index: 1;
  padding: 3.5rem 0;
}
.skyline-glass {
  max-width: 36rem;
  padding: 1.6rem 1.5rem 1.55rem;
  border-radius: 24px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
  color: #fff;
  animation: skyIn .8s cubic-bezier(.22,1,.36,1) both;
}
@keyframes skyIn {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
.skyline-glass h2 {
  color: #fff !important;
  font-size: clamp(1.65rem, 3vw, 2.2rem);
  letter-spacing: -.035em;
  margin: 0 0 .65rem;
}
.skyline-glass p {
  color: rgba(255,255,255,.78) !important;
  font-size: .98rem;
  line-height: 1.55;
  margin: 0 0 1rem;
}
.skyline-points {
  margin: 0 0 1.15rem;
  padding-left: 1.1rem;
  color: rgba(255,255,255,.72);
  font-size: .9rem;
  line-height: 1.5;
}
.skyline-points li { margin: .35rem 0; }
.skyline-points strong { color: #f0e2c8; font-weight: 700; }
.skyline-glass .section-k { color: #c9a97a !important; }

/* Premium micro-motion on cards */
.safety-card,
.guide-card,
.flow-tile,
.share-panel,
.contact-hero,
.cta-final {
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, border-color .28s ease;
}
.safety-card:hover,
.guide-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(12,18,34,.1) !important;
}
@media (prefers-reduced-motion: reduce) {
  .skyline-glass { animation: none; }
  .safety-card, .guide-card, .flow-tile { transition: none; }
}

/* Soft section separators */
.section-solid + .section-solid {
  box-shadow: 0 -1px 0 rgba(15,23,42,.04);
}

/* ── Cine as main hero — premium clean ── */
.cine-section.cine-hero-main {
  padding-top: calc(var(--nav-h, 64px) + 2.25rem) !important;
  padding-bottom: 1.5rem !important;
  background: transparent !important;
  position: relative;
  z-index: 1;
}
/* Arrival hero owns its own padding (sky stage) */
.cine-section.cine-hero-main.arrival-hero {
  padding-top: calc(var(--nav-h, 64px) + 0.5rem) !important;
  padding-bottom: 2rem !important;
}
.cine-hero-intro {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto 1.85rem;
  padding: 1.25rem 1.25rem 1.35rem;
  border-radius: 28px;
  background:
    linear-gradient(165deg, rgba(255,255,255,.88) 0%, rgba(255,252,248,.78) 100%);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow:
    0 28px 70px rgba(12,18,34,.08),
    0 1px 0 rgba(255,255,255,.95) inset;
  backdrop-filter: blur(18px) saturate(1.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
}
.cine-hero-h1 {
  font-size: clamp(2.15rem, 4.8vw, 3.05rem) !important;
  letter-spacing: -.048em;
  font-weight: 780;
  line-height: 1.06;
  color: #0c1222 !important;
  margin: 0 0 .75rem;
  text-shadow: none !important;
}
.cine-hero-h1 .grad-text {
  background: linear-gradient(120deg, #0f1a2e 0%, #1a2744 38%, #9a7a52 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cine-hero-lead {
  font-size: 1.05rem;
  line-height: 1.55;
  color: #5a6472 !important;
  margin: 0 auto 1.15rem;
  max-width: 38ch;
}
.cine-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  justify-content: center;
  margin-bottom: 1rem;
}
.cine-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .55rem;
  justify-content: center;
  font-size: .76rem;
  font-weight: 650;
  color: #6b7380;
}
.cine-hero-meta span {
  padding: .38rem .7rem !important;
  border-radius: 999px;
  background: rgba(15,26,46,.04) !important;
  border: 1px solid rgba(15,23,42,.07) !important;
  box-shadow: none !important;
  color: #3d4656 !important;
}
.hero-trust-row {
  margin-top: .75rem !important;
  gap: .4rem !important;
}
.hero-trust-pill {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: .2rem .45rem !important;
  font-size: .72rem !important;
  color: #6b7380 !important;
}
.cine-nav-btns { display: none !important; }
.cine-auto-tag {
  margin-left: auto;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(240, 226, 200, 0.65);
  padding: .28rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(240, 226, 200, 0.18);
  background: rgba(255, 255, 255, 0.04);
}

.cine-hero-main .cine-pro {
  min-height: 0;
  border-radius: 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background:
    linear-gradient(165deg, rgba(18, 26, 42, 0.72) 0%, rgba(12, 18, 32, 0.82) 100%) !important;
  box-shadow:
    0 44px 100px rgba(0, 0, 0, 0.38),
    0 16px 36px rgba(0, 0, 0, 0.24),
    0 0 0 1px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(16px) saturate(1.1);
  -webkit-backdrop-filter: blur(16px) saturate(1.1);
  overflow: hidden;
}
.cine-hero-main .cine-particles { opacity: .45; }
.cine-hero-main .cine-inner-3 {
  align-items: center;
  min-height: 520px !important;
  grid-template-columns: 1.05fr 0.95fr 1fr !important;
  padding: 0 1.15rem 1.25rem !important;
}
.cine-hero-main .cine-right {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .35rem 0 .75rem;
}
.cine-hero-main .cine-phone-device {
  width: min(100%, 260px);
  filter:
    drop-shadow(0 40px 64px rgba(0, 0, 0, 0.5))
    drop-shadow(0 14px 28px rgba(0, 0, 0, 0.32)) !important;
}
.cine-hero-main .cine-phone-screen {
  min-height: 480px;
}
.cine-hero-main .cine-log {
  max-height: 88px;
  overflow: hidden;
  opacity: .85;
}
.cine-hero-main .cine-hint { display: none; }
@media (max-width: 980px) {
  .cine-hero-main .cine-inner-3 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  .cine-hero-main .cine-mid { order: 1; }
  .cine-hero-main .cine-right { order: 2; }
  .cine-hero-main .cine-left { order: 3; }
}
/* bridge under cine — pills slide in from sides on scroll */
.cine-bridge {
  position: relative;
  z-index: 1;
  padding: 0 0 1.75rem;
  background: transparent;
}
.cine-bridge-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem .75rem;
  padding: .35rem 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  font-size: .8rem;
  font-weight: 650;
  color: #5a6472;
}
.bridge-pill {
  display: inline-flex;
  align-items: center;
  padding: .45rem .85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 23, 42, 0.07);
  box-shadow: 0 10px 28px rgba(12, 18, 34, 0.07);
  backdrop-filter: blur(10px);
  opacity: 0;
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.bridge-pill[data-from="left"] {
  transform: translateX(-72px);
}
.bridge-pill[data-from="right"] {
  transform: translateX(72px);
}
.cine-bridge.is-in .bridge-pill {
  opacity: 1;
  transform: none;
}
.cine-bridge.is-in .bridge-pill:nth-child(1) { transition-delay: 0.05s; }
.cine-bridge.is-in .bridge-pill:nth-child(2) { transition-delay: 0.14s; }
.cine-bridge.is-in .bridge-pill:nth-child(3) { transition-delay: 0.22s; }
.cine-bridge.is-in .bridge-pill:nth-child(4) { transition-delay: 0.3s; }
@media (max-width: 900px) {
  .cine-phone-device { width: min(100%, 240px); }
  .cine-phone-screen { min-height: 440px; }
  .cine-hero-main .cine-pro,
  .cine-hero-main .cine-inner-3 { min-height: 0; }
}
@media (max-width: 640px) {
  .cine-phone-device { width: min(72vw, 260px); }
  .cine-phone-screen { min-height: 480px; aspect-ratio: 9 / 19.5; }
}

/* ── Flows studio (replaces airline screenshot grid) ── */
.flows-studio {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 3.5rem 0 3.75rem;
  background:
    radial-gradient(800px 360px at 80% 0%, rgba(184,149,106,.12), transparent 50%),
    linear-gradient(165deg, #0b101a 0%, #121a2c 50%, #0e1524 100%);
  color: #e8ecf4;
  overflow: hidden;
}
.flows-studio h2 {
  color: #fff !important;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  letter-spacing: -.036em;
  margin: 0 0 .5rem;
}
.flows-studio .section-p {
  color: rgba(255,255,255,.62) !important;
  max-width: 48ch;
  margin-bottom: 0;
}
.flows-studio .section-k { color: #c9a97a !important; }
.flows-head {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.flows-stat-pills {
  display: flex;
  gap: .55rem;
  flex-wrap: wrap;
}
.flows-stat-pills div {
  min-width: 5.5rem;
  padding: .65rem .85rem;
  border-radius: 14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  text-align: center;
}
.flows-stat-pills b {
  display: block;
  font-size: 1.25rem;
  color: #f0e2c8;
  letter-spacing: -.03em;
}
.flows-stat-pills span {
  font-size: .68rem;
  color: rgba(255,255,255,.45);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.flows-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}
.flow-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  padding: 1.05rem 1.05rem 0.95rem;
  display: flex;
  flex-direction: column;
  gap: .45rem;
  transition: transform .18s ease, border-color .18s, background .18s;
  min-height: 190px;
}
.flow-tile:hover {
  transform: translateY(-3px);
  border-color: rgba(184,149,106,.4);
  background: rgba(255,255,255,.06);
}
.flow-tile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.flow-pill-soft {
  font-size: .65rem;
  font-weight: 700;
  color: rgba(240,226,200,.85);
  background: rgba(184,149,106,.12);
  border: 1px solid rgba(184,149,106,.25);
  padding: .2rem .45rem;
  border-radius: 999px;
  white-space: nowrap;
}
.flow-tile h3 {
  margin: .15rem 0 0;
  color: #fff !important;
  font-size: 1.05rem;
  letter-spacing: -.02em;
}
.flow-tile p {
  margin: 0;
  flex: 1;
  font-size: .84rem;
  line-height: 1.45;
  color: rgba(255,255,255,.58) !important;
}
.flow-tile-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding-top: .55rem;
  border-top: 1px solid rgba(255,255,255,.07);
  font-size: .72rem;
  color: rgba(255,255,255,.38);
}
.flow-tile-foot a {
  color: #f0e2c8 !important;
  font-weight: 700;
  text-decoration: none;
}
.flow-tile-foot a:hover { text-decoration: underline; }
.flows-footnote {
  margin: 1.25rem 0 0;
  font-size: .82rem;
  line-height: 1.5;
  color: rgba(255,255,255,.45);
  max-width: 56ch;
}
.flows-footnote a { color: #f0e2c8 !important; font-weight: 650; }
@media (max-width: 1100px) {
  .flows-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .flows-board { grid-template-columns: 1fr; }
  .cine-hero-h1 { font-size: 1.85rem !important; }
}

/* Premium rights reference grid (dark band) */
.rights-premium-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  margin: 1.35rem 0 1.15rem;
}
.rights-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  padding: 1.2rem 1.2rem 1.15rem;
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}
.rights-tag {
  display: inline-block;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #f0e2c8;
  background: rgba(184,149,106,.18);
  border: 1px solid rgba(184,149,106,.35);
  padding: .28rem .55rem;
  border-radius: 999px;
  margin-bottom: .65rem;
}
.rights-card h3 {
  color: #fff !important;
  font-size: 1.05rem;
  letter-spacing: -.025em;
  margin: 0 0 .65rem;
  font-weight: 700;
}
.rights-card ul {
  margin: 0 0 .75rem;
  padding-left: 1.1rem;
  color: rgba(255,255,255,.72);
  font-size: .88rem;
  line-height: 1.5;
}
.rights-card li { margin: .28rem 0; }
.rights-card b { color: #f0e2c8; font-weight: 700; }
.rights-note {
  margin: 0;
  font-size: .8rem;
  line-height: 1.45;
  color: rgba(255,255,255,.48) !important;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: .65rem;
}
.rights-disclaimer {
  margin-top: .5rem;
  padding: 1rem 1.15rem;
  border-radius: 14px;
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.08);
  font-size: .88rem;
  line-height: 1.5;
  color: rgba(255,255,255,.62);
}
@media (max-width: 800px) {
  .rights-premium-grid { grid-template-columns: 1fr; }
}

/* Discrete fee line */
.fee-whisper {
  font-size: .78rem;
  color: #6b7380 !important;
  line-height: 1.45;
  max-width: 48ch;
}

.cta-dark {
  background: linear-gradient(165deg, #0f1a2e 0%, #1a2744 55%, #152238 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: 0 28px 70px rgba(12,18,34,.22) !important;
}
.cta-dark h2 { color: #fff !important; }
.cta-dark .muted, .cta-dark .dim { color: rgba(255,255,255,.72) !important; }
.cta-dark .cta-lead {
  margin: 0 auto 1.25rem;
  max-width: 40ch;
  color: rgba(255,255,255,.78) !important;
  font-size: .98rem;
  line-height: 1.5;
}
.cta-dark .cta-fine {
  margin-top: 1rem;
  font-size: .78rem;
  color: rgba(255,255,255,.55) !important;
  max-width: 46ch;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.45;
}

/* ── Solid light sections: full-bleed (no side gutters) ── */
.section-solid {
  width: 100% !important;
  max-width: none !important;
  background: #f7f8fb !important;
  color: #0c1222 !important;
  position: relative;
  z-index: 2;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.section-solid.section-alt {
  background: #f3f5f9 !important;
}
.section-solid h2,
.section-solid h3 {
  color: #0c1222 !important;
}
.section-solid .section-p,
.section-solid .body-copy {
  color: #4a5568 !important;
}
.section-solid .section-k {
  color: #9a7a52 !important;
}
.section-solid .muted,
.section-solid .dim {
  color: #5a6472 !important;
}

.body-copy {
  font-size: .92rem;
  line-height: 1.55;
  color: #4a5568;
}
.mono { font-family: ui-monospace, "JetBrains Mono", monospace; font-size: .86em; }

/* Safety / trust grid */
.safety-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  margin: 1.5rem 0 1.35rem;
}
.safety-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  padding: 1.15rem 1.15rem 1.2rem;
  box-shadow: 0 12px 32px rgba(12, 18, 34, 0.05);
  transition: transform .18s ease, box-shadow .18s ease;
}
.safety-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(12, 18, 34, 0.08);
}
.safety-card h3 {
  font-size: .98rem;
  letter-spacing: -.02em;
  margin: .7rem 0 .35rem;
  font-weight: 700;
  color: #0c1222 !important;
}
.safety-card p {
  font-size: .86rem;
  line-height: 1.5;
  color: #5a6472 !important;
  margin: 0;
}
.safety-ico {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, rgba(26,39,68,.08), rgba(184,149,106,.12));
  border: 1px solid rgba(26,39,68,.1);
  color: #1a2744;
}
.safety-ico svg { width: 22px; height: 22px; }
.safety-ico.sm {
  width: 40px;
  height: 40px;
  border-radius: 11px;
}
.safety-ico.sm svg { width: 18px; height: 18px; }

.honest-note {
  margin: 1.5rem 0 1.25rem;
  padding: 1.15rem 1.25rem;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(184,149,106,.12), rgba(255,255,255,.95));
  border: 1px solid rgba(184,149,106,.28);
  box-shadow: 0 10px 28px rgba(12,18,34,.04);
}
.honest-label {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #8a7349;
  margin-bottom: .45rem;
}
.honest-note p {
  margin: 0;
  font-size: .92rem;
  line-height: 1.55;
  color: #2a3344 !important;
}
.honest-note strong { color: #0c1222; font-weight: 750; }

.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .5rem;
}
.trust-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .74rem;
  font-weight: 650;
  color: #1f3d32 !important;
  background: rgba(31, 122, 84, 0.1);
  border: 1px solid rgba(31, 122, 84, 0.22);
  padding: .38rem .7rem;
  border-radius: 999px;
}
.trust-badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #1f7a54;
  display: inline-block;
  box-shadow: 0 0 0 3px rgba(31,122,84,.12);
}

/* Privacy */
.privacy-layout {
  display: grid;
  grid-template-columns: 1.4fr .9fr;
  gap: 1rem;
  align-items: start;
}
.privacy-main h3 {
  font-size: 1.02rem;
  margin-bottom: .55rem;
  color: #0c1222 !important;
}
.check-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .45rem;
}
.check-list li {
  position: relative;
  padding-left: 1.45rem;
  font-size: .9rem;
  line-height: 1.45;
  color: #3d4656 !important;
}
.check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .35rem;
  width: .85rem;
  height: .85rem;
  border-radius: 50%;
  background: rgba(31,122,84,.15);
  border: 2px solid #1f7a54;
  box-shadow: inset 0 0 0 2px #fff;
}
.check-list-warn li::before {
  border-color: #a85d68;
  background: rgba(168,93,104,.12);
}
.privacy-side { display: grid; gap: .75rem; }
.side-callout h3 {
  margin: .55rem 0 .35rem;
  font-size: .95rem;
  color: #0c1222 !important;
}
.side-ico {
  width: 40px; height: 40px; border-radius: 11px;
  display: grid; place-items: center;
  background: rgba(26,39,68,.07);
  color: #1a2744;
  border: 1px solid rgba(26,39,68,.08);
}
.side-ico svg { width: 18px; height: 18px; }

/* Contact */
.contact-hero {
  margin-bottom: 1rem;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.08) !important;
}
.contact-hero-grid {
  display: grid;
  grid-template-columns: 1.35fr .85fr;
  gap: 1.25rem;
  align-items: start;
}
.contact-kicker {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #9a7a52;
  margin-bottom: .35rem;
}
.contact-email {
  display: inline-block;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 750;
  letter-spacing: -.03em;
  color: #0f1a2e !important;
  text-decoration: none;
  border-bottom: 2px solid rgba(184,149,106,.45);
  padding-bottom: .1rem;
}
.contact-email:hover { border-color: #b8956a; color: #1a2744 !important; }
.contact-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .9rem;
  margin: 1rem 0 1.1rem;
  font-size: .82rem;
  color: #5a6472 !important;
}
.contact-meta-row strong { color: #0c1222; font-weight: 700; }
.contact-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.card-inset {
  background: linear-gradient(165deg, #121a2e, #0f1626);
  color: #fff;
  border-radius: 16px;
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(255,255,255,.08);
}
.card-inset h3 { color: #fff !important; font-size: 1rem; margin-bottom: .75rem; }
.hours-list {
  list-style: none;
  padding: 0;
  margin: 0 0 .85rem;
  display: grid;
  gap: .45rem;
}
.hours-list li {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  font-size: .86rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding-bottom: .4rem;
  color: rgba(255,255,255,.78);
}
.hours-list b { color: #f0e2c8; font-weight: 650; }
.fine-print {
  font-size: .78rem;
  line-height: 1.45;
  color: rgba(255,255,255,.55) !important;
  margin: 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin: 1rem 0 1.25rem;
}
.contact-card {
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  padding: 1.05rem 1.05rem 1.1rem;
  box-shadow: 0 10px 28px rgba(12,18,34,.04);
}
.contact-card h3 {
  font-size: .95rem;
  margin: .65rem 0 .35rem;
  color: #0c1222 !important;
}
.contact-card p {
  font-size: .84rem;
  line-height: 1.45;
  color: #5a6472 !important;
  margin: 0 0 .65rem;
}
.contact-card a,
.contact-card .linkish {
  font-size: .82rem;
  font-weight: 700;
  color: #1a2744 !important;
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
}
.contact-card a:hover,
.contact-card .linkish:hover { color: #8a7349 !important; }

.trust-icons-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-top: .5rem;
}
.tib {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  background: #fff;
  border: 1px solid rgba(15,23,42,.07);
  border-radius: 14px;
  padding: .85rem .9rem;
}
.tib-ico {
  font-size: 1.15rem;
  line-height: 1;
  width: 2rem;
  text-align: center;
  flex-shrink: 0;
}
.tib b {
  display: block;
  font-size: .86rem;
  color: #0c1222 !important;
  letter-spacing: -.02em;
  margin-bottom: .12rem;
}
.tib span {
  font-size: .76rem;
  color: #6b7380 !important;
  line-height: 1.35;
}

/* Footer rich */
/* Soft shimmer on lower light blocks */
.section-solid::after {
  content: "";
  position: absolute;
  left: -20%;
  top: 0;
  width: 40%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.35) 45%,
    transparent 70%
  );
  animation: sectionSheen 14s ease-in-out infinite;
  opacity: 0.35;
}
@keyframes sectionSheen {
  0% { transform: translateX(0); }
  100% { transform: translateX(280%); }
}
@media (prefers-reduced-motion: reduce) {
  .section-solid::before,
  .section-solid::after {
    animation: none !important;
  }
}

.footer-rich {
  position: relative;
  z-index: 3;
  width: 100%;
  background: #0f1420 !important;
  color: rgba(255,255,255,.62) !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  padding: 2.5rem 0 1.5rem !important;
  overflow: hidden;
}
.footer-rich::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 80% at 15% 0%, rgba(184, 149, 106, 0.08), transparent 55%),
    radial-gradient(ellipse 40% 60% at 90% 100%, rgba(80, 120, 180, 0.06), transparent 50%);
  animation: sectionAmbient 28s ease-in-out infinite alternate;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 1.75rem;
}
.footer-brand {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-weight: 750;
  color: #fff !important;
  letter-spacing: -.03em;
  margin-bottom: .55rem;
}
.brand-mark.sm {
  width: 28px;
  height: 28px;
  font-size: .65rem;
  border-radius: 8px;
}
.about-sweden {
  display: inline-flex !important;
  align-items: center;
  gap: .4rem;
  font-weight: 700;
  color: var(--brand-deep, #0f1a2e);
  margin-right: .2rem;
}
.about-sweden .sweden-flag {
  width: 18px;
  height: 12px;
}

.footer-blurb {
  font-size: .86rem;
  line-height: 1.5;
  max-width: 32ch;
  color: rgba(255,255,255,.55) !important;
}
.footer-h {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(240,226,200,.75) !important;
  margin-bottom: .55rem;
}
.footer-grid a,
.footer-linkbtn {
  display: block;
  color: rgba(255,255,255,.72) !important;
  text-decoration: none;
  font-size: .88rem;
  font-weight: 550;
  margin: .28rem 0;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}
.footer-grid a:hover,
.footer-linkbtn:hover { color: #f0e2c8 !important; }
.footer-meta {
  display: block;
  font-size: .8rem;
  color: rgba(255,255,255,.42) !important;
  margin-top: .3rem;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: .76rem;
  color: rgba(255,255,255,.4) !important;
}

/* Contact modal — always fixed overlay, never in document flow */
#contact-modal.modal-root,
#contact-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10060 !important;
  display: none;
  place-items: center;
  padding: 1rem;
  margin: 0;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
#contact-modal:not(.hidden),
#contact-modal.is-open {
  display: grid !important;
}
#contact-modal.hidden {
  display: none !important;
}
body.contact-modal-open {
  overflow: hidden !important;
}
#contact-modal .modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 12, 22, 0.62);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
#contact-modal .modal-card,
#contact-modal .contact-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 480px);
  max-width: 480px;
  background: #fff;
  color: #0c1222;
  border-radius: 22px;
  padding: 1.5rem 1.35rem 1.35rem;
  box-shadow: 0 36px 90px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.08);
  max-height: min(90dvh, 740px);
  overflow: auto;
  margin: 0 auto;
}
#contact-modal .modal-title {
  color: #0c1222 !important;
  font-size: 1.45rem;
  letter-spacing: -.03em;
  margin: 0 0 .4rem;
}
#contact-modal .modal-lead {
  color: #5a6472 !important;
  font-size: .92rem;
  line-height: 1.45;
  margin: 0 0 1rem;
}
.contact-form { display: grid; gap: .7rem; text-align: left; }
.cf-lab {
  display: grid;
  gap: .32rem;
  font-size: .78rem;
  font-weight: 700;
  color: #5a6472;
  letter-spacing: .02em;
}
.cf-lab input,
.cf-lab select,
.cf-lab textarea {
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.12);
  background: #fff;
  color: #0c1222;
  padding: .75rem .85rem;
  font: inherit;
  font-size: .95rem;
  font-weight: 500;
  box-sizing: border-box;
}
.cf-lab textarea { resize: vertical; min-height: 120px; }
.cf-lab input:focus,
.cf-lab select:focus,
.cf-lab textarea:focus {
  outline: none;
  border-color: rgba(184,149,106,.55);
  box-shadow: 0 0 0 3px rgba(184,149,106,.12);
}

/* Contact section layout polish */
.contact-hero {
  overflow: hidden;
}
.contact-hero-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 1.35rem;
  align-items: stretch;
}
@media (max-width: 800px) {
  .contact-hero-grid { grid-template-columns: 1fr; }
}

/* Cookie banner */
.cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9999;
  padding: .85rem 1rem calc(.85rem + env(safe-area-inset-bottom, 0px));
  background: rgba(10, 14, 22, 0.94);
  backdrop-filter: blur(16px);
  border-top: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 -20px 50px rgba(0,0,0,.25);
  color: #e8ecf4;
}
.cookie-banner.hidden { display: none !important; }
.cookie-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.cookie-title {
  font-weight: 750;
  letter-spacing: -.02em;
  margin-bottom: .25rem;
  color: #fff !important;
  font-size: 1rem;
}
.cookie-copy p {
  margin: 0;
  font-size: .84rem;
  line-height: 1.45;
  color: rgba(255,255,255,.72) !important;
  max-width: 62ch;
}
.cookie-copy a { color: #f0e2c8 !important; font-weight: 650; }
.cookie-actions {
  display: flex;
  gap: .45rem;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.cookie-banner .btn-ghost {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
}
.cookie-banner .btn-primary {
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
}

@media (max-width: 980px) {
  .safety-grid { grid-template-columns: 1fr 1fr; }
  .privacy-layout { grid-template-columns: 1fr; }
  .contact-hero-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr 1fr; }
  .trust-icons-bar { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .safety-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .trust-icons-bar { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .cookie-inner { flex-direction: column; align-items: stretch; }
  .cookie-actions { width: 100%; }
  .cookie-actions .btn { flex: 1; }
}

/* Hero dark polish rim */
.hero-stage .metric {
  background: rgba(255,255,255,.94) !important;
}

/* Paid chip on landing (dark carousels) */
.chip-paid {
  color: #b8f0d4 !important;
  border-color: rgba(61, 200, 140, 0.45) !important;
  background: rgba(31, 122, 84, 0.28) !important;
  font-weight: 700;
}
.chip-paid::before {
  content: "";
  width: 6px; height: 6px; border-radius: 50%;
  background: #3dd68c;
  box-shadow: 0 0 0 0 rgba(61,214,140,.4);
  animation: pulse 1.8s infinite;
  display: inline-block;
  margin-right: .25rem;
  vertical-align: middle;
}

/* Airline cards with real portal form screenshots */
.airline-grid-shots {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: .75rem !important;
}
.airline-card.has-shot {
  padding: 0 !important;
  overflow: hidden;
  min-height: 0 !important;
  position: relative;
  display: grid !important;
  grid-template-rows: auto auto;
}
.airline-card .al-shot {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: top center;
  display: block;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: #0a0e16;
}
.airline-card.has-shot .al-mark {
  position: absolute;
  top: .55rem;
  left: .55rem;
  z-index: 2;
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
}
.airline-card.has-shot .al-name,
.airline-card.has-shot .al-sub {
  padding-left: .85rem;
  padding-right: .85rem;
}
.airline-card.has-shot .al-name { padding-top: .65rem; }
.airline-card.has-shot .al-sub { padding-bottom: .75rem; }
@media (max-width: 980px) {
  .airline-grid-shots { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 480px) {
  .airline-grid-shots { grid-template-columns: 1fr !important; }
}

/* Tighter social bar + polished metric/flow cards */
.social-bar-tight { max-width: 36rem; }
.metrics-lux .metric {
  border: 1px solid rgba(15,26,46,.08) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 14px 36px rgba(12,18,34,.07) !important;
  background: #fff !important;
}
.metrics-lux .metric b {
  background: linear-gradient(120deg, #0f1a2e, #2c3f66 60%, #8a7349);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.flow-strip-lux .flow-pill {
  border: 1px solid rgba(15,26,46,.08);
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 12px 28px rgba(12,18,34,.06);
  background: #fff;
}
.flow-strip-lux .flow-pill:hover {
  border-color: rgba(184,149,106,.35);
}
.hero-photo-card img {
  object-fit: cover;
  min-height: 200px;
}



/* ═══ v3.14 premium SOTA layer ═══ */
.brand {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}
.brand-flag {
  margin-left: .15rem;
  opacity: .95;
  box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 3px rgba(0,106,167,.15);
}
.sweden-flag {
  position: relative;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.1),
    0 2px 6px rgba(0,106,167,.18),
    inset 0 1px 0 rgba(255,255,255,.25);
}
.sweden-badge {
  background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
  border: 1px solid rgba(0,106,167,.14);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 8px 22px rgba(0,106,167,.08),
    0 2px 6px rgba(12,18,34,.04);
  letter-spacing: .01em;
  transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease;
}
.sweden-badge:hover {
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 12px 28px rgba(0,106,167,.12);
}

/* Richer skyline band */
.skyline-band {
  min-height: min(78vh, 620px);
}
.skyline-media img {
  animation: skyDrift 28s ease-in-out infinite alternate;
}
@keyframes skyDrift {
  from { transform: scale(1.04) translate3d(0,0,0); }
  to { transform: scale(1.09) translate3d(-1.2%, -0.6%, 0); }
}
.skyline-veil {
  background:
    linear-gradient(115deg, rgba(6,10,20,.88) 0%, rgba(8,14,28,.62) 42%, rgba(10,16,30,.32) 72%, rgba(12,20,36,.18) 100%),
    linear-gradient(180deg, rgba(8,12,22,.15) 0%, rgba(8,12,22,.55) 100%),
    radial-gradient(ellipse 60% 50% at 70% 40%, rgba(184,149,106,.12), transparent 60%);
}
.skyline-glass {
  max-width: 38rem;
  padding: 1.85rem 1.75rem 1.7rem;
  border-radius: 28px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.05) 100%);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow:
    0 40px 100px rgba(0,0,0,.35),
    0 1px 0 rgba(255,255,255,.2) inset,
    0 0 0 1px rgba(0,0,0,.15);
}
.skyline-glass::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.14) 0%, transparent 42%);
  pointer-events: none;
}
.skyline-glass { position: relative; overflow: hidden; }
.skyline-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem 1.1rem;
  margin-top: .15rem;
}
.skyline-se {
  color: rgba(255,255,255,.78);
  font-size: .86rem;
  font-weight: 600;
  letter-spacing: .01em;
}

/* Hero glass — richer mesh */
.cine-hero-intro {
  background:
    radial-gradient(ellipse 80% 60% at 20% 0%, rgba(184,149,106,.1), transparent 55%),
    radial-gradient(ellipse 70% 50% at 90% 100%, rgba(0,106,167,.06), transparent 50%),
    linear-gradient(165deg, rgba(255,255,255,.92) 0%, rgba(255,252,248,.82) 100%) !important;
  border: 1px solid rgba(255,255,255,.95) !important;
  box-shadow:
    0 32px 80px rgba(12,18,34,.1),
    0 1px 0 rgba(255,255,255,.98) inset,
    0 0 0 1px rgba(15,26,46,.04) !important;
}
.cine-hero-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem;
  margin-top: 1rem;
}
.cine-hero-meta span {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #5a6478;
  padding: .38rem .65rem;
  border-radius: 999px;
  background: rgba(15,26,46,.04);
  border: 1px solid rgba(15,26,46,.06);
}
.hero-trust-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .4rem;
  margin-top: .95rem;
}
.hero-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .75rem;
  font-weight: 650;
  color: #3d4a5c;
  padding: .32rem .6rem;
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(15,26,46,.07);
  box-shadow: 0 2px 8px rgba(12,18,34,.04);
  transition: transform .2s ease, box-shadow .2s ease;
}
.hero-trust-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(12,18,34,.08);
}
.ht-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59,130,246,.15);
}
.ht-dot.green {
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34,197,94,.15);
}

/* Flow tiles — magnetic premium */
.flow-tile {
  position: relative;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .25s !important;
}
.flow-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(184,149,106,.08), transparent 50%);
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
}
.flow-tile:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 28px 60px rgba(12,18,34,.12) !important;
  border-color: rgba(184,149,106,.35) !important;
}
.flow-tile:hover::after { opacity: 1; }

/* Rights cards sheen */
.rights-card {
  position: relative;
  overflow: hidden;
  transition: transform .3s cubic-bezier(.22,1,.36,1), border-color .25s;
}
.rights-card:hover {
  transform: translateY(-3px);
  border-color: rgba(240,226,200,.28) !important;
}

/* Soft gold hairline under section titles */
.section-k {
  position: relative;
}
.section-solid h2,
.dark-band h2 {
  letter-spacing: -.038em;
}

/* Cine bridge marquee polish */
.cine-bridge {
  background: linear-gradient(90deg, transparent, rgba(15,26,46,.03), transparent);
}
/* bridge styles owned above — keep gold dots on pills when in view */
.bridge-pill::before {
  content: "✦";
  margin-right: .4rem;
  color: #c9a97a;
  font-size: .65rem;
  opacity: .85;
}

/* Soft scroll-reveal for lower page */
.fx-ready {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}
.fx-ready.fx-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .fx-ready {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Final CTA glow */
.cta-final.cta-light {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 80% at 50% -20%, rgba(184,149,106,.12), transparent 55%),
    linear-gradient(180deg, #fff 0%, #faf8f5 100%) !important;
  border: 1px solid rgba(184,149,106,.18) !important;
  box-shadow:
    0 30px 80px rgba(12,18,34,.08),
    0 1px 0 rgba(255,255,255,.9) inset !important;
}
.cta-orb {
  display: inline-flex;
  width: 2.4rem; height: 2.4rem;
  align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(15,26,46,.04);
  border: 1px solid rgba(15,26,46,.06);
  font-size: 1rem;
  animation: orbFloat 4.5s ease-in-out infinite;
}
.cta-orb:nth-child(2) { animation-delay: .4s; }
.cta-orb:nth-child(3) { animation-delay: .8s; }
@keyframes orbFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

/* Nav brand micro-shine */
.brand-mark {
  background: linear-gradient(145deg, #1a2744 0%, #0f1a2e 55%, #2a3a5c 100%) !important;
  box-shadow: 0 2px 8px rgba(15,26,46,.2), inset 0 1px 0 rgba(255,255,255,.15);
}

/* Contact hero gold edge */
.contact-hero {
  border: 1px solid rgba(184,149,106,.14) !important;
  box-shadow: 0 24px 60px rgba(12,18,34,.07) !important;
}
.contact-email {
  background: linear-gradient(120deg, #0f1a2e, #1a2744 50%, #9a7a52);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 780;
  letter-spacing: -.02em;
}

@media (prefers-reduced-motion: reduce) {
  .skyline-media img,
  .cta-orb { animation: none !important; }
}

/* ═══ Share us modal — premium glass card ═══ */
#share-modal.modal-root,
#share-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10070 !important;
  display: none;
  place-items: center;
  padding: 1rem;
  margin: 0;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
#share-modal:not(.hidden),
#share-modal.is-open {
  display: grid !important;
}
#share-modal.hidden { display: none !important; }
body.share-modal-open { overflow: hidden !important; }
#share-modal .modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 10, 18, 0.68);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.share-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 460px);
  border-radius: 24px;
  padding: 1.45rem 1.35rem 1.25rem;
  background:
    radial-gradient(ellipse 90% 70% at 10% -10%, rgba(184,149,106,.18), transparent 55%),
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(24,119,242,.1), transparent 50%),
    linear-gradient(165deg, #121a2c 0%, #0c1220 55%, #0a101c 100%);
  color: #f4efe6;
  border: 1px solid rgba(240,226,200,.14);
  box-shadow:
    0 40px 100px rgba(0,0,0,.5),
    0 0 0 1px rgba(255,255,255,.04) inset;
  overflow: hidden;
  animation: shareModalIn .32s cubic-bezier(.22,1,.36,1);
}
@keyframes shareModalIn {
  from { opacity: 0; transform: translateY(14px) scale(.97); }
  to { opacity: 1; transform: none; }
}
.share-modal-glow {
  position: absolute;
  inset: -40% -20% auto -20%;
  height: 55%;
  background: radial-gradient(ellipse at 50% 0%, rgba(201,169,122,.16), transparent 65%);
  pointer-events: none;
}
.share-modal-x {
  position: absolute;
  top: .75rem;
  right: .8rem;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.05);
  color: rgba(247,243,234,.85);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
.share-modal-x:hover { background: rgba(255,255,255,.1); }
.share-modal-head {
  display: flex;
  gap: .9rem;
  align-items: flex-start;
  margin-bottom: 1.1rem;
  padding-right: 2rem;
}
.share-modal-badge .brand-mark.sm {
  width: 42px;
  height: 42px;
  font-size: .72rem;
}
.share-modal-k {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(240,226,200,.72);
  margin-bottom: .25rem;
}
.share-modal-title {
  margin: 0 0 .35rem;
  font-size: 1.35rem;
  font-weight: 750;
  letter-spacing: -.03em;
  color: #f7f3ea;
}
.share-modal-lead {
  margin: 0;
  font-size: .88rem;
  line-height: 1.45;
  color: rgba(235,228,214,.72);
}
.share-modal-preview {
  border-radius: 16px;
  padding: .9rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  margin-bottom: 1rem;
}
.share-preview-top {
  display: flex;
  gap: .7rem;
  align-items: center;
  margin-bottom: .75rem;
}
.share-preview-ico {
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(0,0,0,.3);
}
.share-preview-top strong {
  display: block;
  font-size: .95rem;
  letter-spacing: -.02em;
}
.share-preview-top span {
  display: block;
  font-size: .75rem;
  color: rgba(235,228,214,.55);
  margin-top: .1rem;
}
.share-link-row {
  display: flex;
  gap: .45rem;
}
.share-url-input {
  flex: 1;
  min-width: 0;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.25);
  color: #e8e2d6;
  padding: .65rem .75rem;
  font: inherit;
  font-size: .78rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.share-url-input:focus {
  outline: none;
  border-color: rgba(184,149,106,.45);
  box-shadow: 0 0 0 3px rgba(184,149,106,.12);
}
#share-copy-modal.is-copied {
  background: #1a7a4a !important;
  border-color: #1a7a4a !important;
}
.share-modal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .55rem;
}
.share-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  padding: .85rem .45rem .7rem;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  color: #f0ebe2;
  text-decoration: none;
  font: inherit;
  font-size: .72rem;
  font-weight: 650;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.share-tile:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
}
.share-tile-ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
}
.share-tile.fb .share-tile-ico { background: #1877f2; color: #fff; }
.share-tile.li .share-tile-ico { background: #0a66c2; color: #fff; }
.share-tile.x .share-tile-ico { background: #111; color: #fff; border: 1px solid rgba(255,255,255,.12); }
.share-tile.wa .share-tile-ico { background: #25d366; color: #fff; }
.share-tile.mail .share-tile-ico { background: rgba(184,149,106,.25); color: #f0e2c8; }
.share-tile.native .share-tile-ico { background: rgba(255,255,255,.1); color: #f0e2c8; }
.share-modal-fine {
  margin: 1rem 0 0;
  text-align: center;
  font-size: .72rem;
  color: rgba(235,228,214,.45);
}
.share-panel-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
}
@media (max-width: 520px) {
  .share-modal-grid { grid-template-columns: repeat(2, 1fr); }
  .share-modal-card { padding: 1.2rem 1rem 1.05rem; border-radius: 20px; }
}
