:root{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --card:#ffffff;
  --border:rgba(15,23,42,.10);
  --shadow: 0 10px 30px rgba(2,6,23,.10);
  --shadow-soft: 0 8px 20px rgba(2,6,23,.08);
  --radius: 22px;
  --accent1:#22c55e;
  --accent2:#38bdf8;
  --accent3:#a78bfa;
  --accent4:#f97316;
  --max:1120px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background: radial-gradient(1200px 800px at 10% 10%, rgba(56,189,248,.18), transparent 55%),
              radial-gradient(900px 650px at 80% 15%, rgba(167,139,250,.18), transparent 55%),
              radial-gradient(1100px 700px at 35% 85%, rgba(34,197,94,.14), transparent 55%),
              linear-gradient(#fff, #fff);
  min-height:100vh;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}
.section{padding:70px 0}
.kicker{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.h1{font-size:clamp(32px, 5vw, 56px);line-height:1.05;letter-spacing:-.02em;margin:12px 0 14px}
.h2{font-size:clamp(24px, 3.2vw, 38px);line-height:1.15;letter-spacing:-.01em;margin:0 0 10px}
.p{color:var(--muted);line-height:1.65;font-size:16px;margin:0}
.small{font-size:13px;color:var(--muted);line-height:1.55}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.82);
  padding:12px 16px;border-radius:999px;
  box-shadow: var(--shadow-soft);
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
  user-select:none;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(2,6,23,.12);background:#fff}
.btn.primary{
  border-color:transparent;
  color:#07121f;
  background: linear-gradient(90deg, rgba(56,189,248,.85), rgba(167,139,250,.85));
}
.btn.primary:hover{filter:saturate(1.05)}
.btn.ghost{background:transparent;box-shadow:none}
.btn.ghost:hover{background:rgba(255,255,255,.6);box-shadow:var(--shadow-soft)}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.75);
  color:var(--muted);font-size:13px;
  box-shadow:var(--shadow-soft);
}
.header{
  position:sticky;top:0;z-index:50;
  backdrop-filter: blur(14px);
  background: rgba(255,255,255,.70);
  border-bottom:1px solid rgba(15,23,42,.06);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;
}
.brand{
  display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;
}
.logo{
  width:38px;height:38px;border-radius:12px;
  background: conic-gradient(from 210deg, var(--accent2), var(--accent3), var(--accent1), var(--accent2));
  box-shadow: 0 10px 22px rgba(2,6,23,.12);
  position:relative;
}

.logo-img{
  height:40px;
  width:auto;
  display:block;
  object-fit:contain;
  background: transparent;
}

/* Ensure the visually scaled logo can "spill" without affecting header height */
.header, .nav, .brand{ overflow: visible; }
.brand{ height:40px; }

.logo:after{
  content:"";position:absolute;inset:8px;border-radius:10px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.9);
}
.navlinks{display:flex;gap:10px;align-items:center}
.navlinks a{
  padding:10px 12px;border-radius:999px;
  color:var(--muted);
}
.navlinks a.active, .navlinks a:hover{
  color:var(--text);
  background:rgba(15,23,42,.05);
}
.nav-right{display:flex;gap:10px;align-items:center}
.lang{
  display:flex;gap:8px;align-items:center;
  border:1px solid var(--border);
  background:rgba(255,255,255,.72);
  padding:6px;border-radius:999px;
}
.lang button{
  border:0;background:transparent;border-radius:999px;
  padding:7px 10px;cursor:pointer;font-weight:650;color:var(--muted);
}
.lang button.active{background:rgba(15,23,42,.08);color:var(--text)}
.menuBtn{display:none}
.hero{padding:58px 0 28px;}
.hero-grid{display:grid;grid-template-columns: 1.1fr .9fr;gap:26px;align-items:center;}
.hero-card{
  border:1px solid var(--border);
  background: rgba(255,255,255,.72);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.hero-visual{
  position:relative;
  border:1px solid var(--border);
  background: rgba(255,255,255,.64);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.blob{
  position:absolute;filter: blur(18px);opacity:.85;
  border-radius:999px;
  transform: translateZ(0);
  animation: floaty 12s ease-in-out infinite;
}
.blob.b1{width:260px;height:260px;left:-60px;top:-50px;background:rgba(56,189,248,.55)}
.blob.b2{width:240px;height:240px;right:-70px;top:20px;background:rgba(167,139,250,.55);animation-duration:14s}
.blob.b3{width:260px;height:260px;left:10%;bottom:-80px;background:rgba(34,197,94,.40);animation-duration:16s}
@keyframes floaty{
  0%,100%{transform: translate(0,0) scale(1)}
  50%{transform: translate(18px,-12px) scale(1.02)}
}
.visual-card{
  position:relative;
  border-radius: 18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(15,23,42,.08);
  padding:16px;
  margin-bottom:12px;
}
.visual-title{font-weight:800;letter-spacing:-.02em}
.visual-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pill{
  padding:8px 10px;border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.78);
  font-size:13px;color:var(--muted);
}
.grid3{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2, 1fr);gap:14px}
.card{
  border:1px solid var(--border);
  background:rgba(255,255,255,.72);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow-soft);
}
.card h3{margin:0 0 8px;font-size:18px;letter-spacing:-.01em}
.card p{margin:0;color:var(--muted);line-height:1.6}
.icon{
  width:42px;height:42px;border-radius:14px;
  background:rgba(15,23,42,.06);
  display:grid;place-items:center;
  border:1px solid rgba(15,23,42,.08);
  margin-bottom:10px;
}
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
.footer{
  border-top:1px solid rgba(15,23,42,.06);
  background: rgba(255,255,255,.62);
  padding:34px 0;
}
.footer-grid{display:grid;grid-template-columns: 1.2fr .8fr .8fr;gap:18px;}
.footer a{color:var(--muted)}
.footer a:hover{color:var(--text)}
.hr{height:1px;background:rgba(15,23,42,.06);margin:18px 0}
.form{display:grid;gap:12px;}
.field label{display:block;font-weight:650;margin:0 0 6px}
.field input, .field select, .field textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(255,255,255,.86);
  outline:none;
}
.field textarea{min-height:120px;resize:vertical}
.notice{
  border:1px dashed rgba(15,23,42,.22);
  background: rgba(255,255,255,.55);
  border-radius:18px;
  padding:14px;
  color:var(--muted);
}
.jobs-controls{display:grid;grid-template-columns: 1fr 1fr 1fr auto;gap:10px;align-items:end;}
.joblist{display:grid;gap:12px;margin-top:14px}
.job{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;}
.job .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.job .left{flex:1}
.job .title{font-weight:850;letter-spacing:-.01em}
.job .desc{color:var(--muted);margin-top:6px;line-height:1.6}
.stars{display:inline-flex;gap:2px;vertical-align:middle}
.star{width:16px;height:16px;opacity:.92}
.reviews-strip{
  display:flex;gap:12px;overflow:hidden;
  width:100%;max-width:100%;min-width:0;

  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.review{
  min-width: 320px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.78);
  border-radius:18px;
  padding:14px;
  box-shadow: var(--shadow-soft);
}
.review .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.review .name{font-weight:800}
.review .date{color:var(--muted);font-size:12px}
.review .text{color:var(--muted);line-height:1.55;font-size:14px;margin-top:8px}
.marquee{display:flex;gap:12px;animation: marquee 26s linear infinite;}
.marquee{will-change:transform}

.marquee:hover{animation-play-state:paused}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (max-width: 920px){
  .hero-grid{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .jobs-controls{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
  .menuBtn{display:inline-flex}
  .navlinks{display:none}
  .navlinks.open{
    position:absolute;left:20px;right:20px;top:64px;
    display:grid;gap:6px;padding:10px;border-radius:18px;
    border:1px solid var(--border);
    background:rgba(255,255,255,.92);
    box-shadow: var(--shadow);
  }
}

/* Trustpilot section */
.trust-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
  align-items:stretch;
}
.trust-grid > div{min-width:0}
.trust-grid{overflow:hidden}

.trust-meta{
  padding:16px;
  border:1px solid var(--border);
  border-radius:18px;
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(10px);
}
.trust-badge{
  padding:14px;
  border-radius:16px;
  background: linear-gradient(135deg, rgba(99,102,241,.10), rgba(20,184,166,.10));
  border:1px solid var(--border);
}
.trust-score, .trust-count{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}
.trust-score strong{ font-size:20px; }
.trust-embed{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  border:1px dashed var(--border);
  background: rgba(2,6,23,.03);
}
.trust-embed summary{
  cursor:pointer;
  font-weight:600;
}
.reviews-strip--wide{
  max-width: 100%;
}
@media (max-width: 880px){
  .trust-grid{ grid-template-columns: 1fr; }
  .trust-meta{ order:2; }
}


/* Team pyramid */

.team-pyramid{position:relative;overflow:hidden}
.org-lines{
  position:absolute;left:6%;right:6%;top:82px;height:360px;width:auto;
  stroke: rgba(15,23,42,.14);
  stroke-width:2.2;
  fill:none;
  opacity:.55;
  pointer-events:none;
}
@media (max-width: 920px){
  .org-lines{display:none}
}

/* Pyramid rows */
.team-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:16px;position:relative;z-index:1}
.team-row-1 .team-card{max-width:460px}
.team-row-2 .team-card{max-width:380px}
.team-row-3 .team-card{max-width:340px}

/* 3D card */
.team-card{
  width:100%;
  cursor:default;
  position:relative;
  transform-style:preserve-3d;
  will-change: transform;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  background:
    radial-gradient(160px 120px at 20% 10%, rgba(56,189,248,.12), transparent 60%),
    radial-gradient(180px 120px at 90% 0%, rgba(34,197,94,.10), transparent 62%),
    rgba(255,255,255,.82);
  border:1px solid rgba(15,23,42,.10);
}
.team-card:focus{outline:2px solid rgba(56,189,248,.55);outline-offset:2px}
.team-card::after{
  content:"";
  position:absolute;inset:0;
  border-radius: inherit;
  background: radial-gradient(260px 180px at var(--mx,50%) var(--my,20%), rgba(255,255,255,.55), transparent 55%);
  opacity:0;
  transition: opacity .18s ease;
  pointer-events:none;
}
.team-card:hover::after,
.team-card:focus::after{opacity:1}

.team-card:hover,
.team-card:focus{
  transform: translateY(-6px) scale(1.02);

  box-shadow: 0 26px 60px rgba(15,23,42,.14), 0 10px 20px rgba(15,23,42,.08);
  border-color: rgba(56,189,248,.22);
}

.team-head{display:flex;gap:12px;align-items:center}
.team-name{font-weight:850;letter-spacing:-.02em}
.team-role{color:var(--muted);font-size:14px;margin-top:2px}

.avatar-wrap{width:54px;height:54px;border-radius:18px;overflow:hidden;flex:0 0 auto;box-shadow: var(--shadow-soft);border:1px solid rgba(15,23,42,.10)}
.avatar-img{width:100%;height:100%;display:block}

/* Bio expand */
.bio{max-height:0;overflow:hidden;opacity:0;transition:max-height .28s ease, opacity .22s ease;margin-top:10px}
.team-card:hover .bio,.team-card:focus .bio{max-height:320px;opacity:1}
.team-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}


.card--clip{overflow:hidden}

.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}


/* ===== Abroad page (premium + youthful) ===== */
.hero-abroad{
  position:relative;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:24px;
  align-items:center;
}
@media (max-width: 900px){
  .hero-grid{ grid-template-columns:1fr; }
}
.hero-media{ position:relative; }
.hero-video-card{
  border:1px solid var(--border);
  background:
    radial-gradient(900px 400px at 20% 10%, rgba(59,130,246,.14), transparent 60%),
    radial-gradient(700px 350px at 80% 30%, rgba(16,185,129,.14), transparent 55%),
    radial-gradient(800px 500px at 50% 90%, rgba(236,72,153,.10), transparent 60%),
    linear-gradient(180deg, rgba(2,6,23,.06), rgba(2,6,23,0));
  box-shadow: var(--shadow);
  border-radius: 28px;
  height: 360px;
  position:relative;
  transform: perspective(1000px) rotateY(-8deg) rotateX(4deg);
}
.hero-video-overlay{
  position:absolute;
  inset:0;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.hero-video-badge{
  display:inline-flex;
  align-self:flex-start;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(8px);
  font-weight:700;
  font-size:13px;
}
.hero-video-sub{
  margin-top:10px;
  color: var(--muted);
  font-size:13px;
}
.hero-video-glow{
  position:absolute;
  inset:-40px;
  background: radial-gradient(closest-side, rgba(59,130,246,.25), transparent 70%);
  filter: blur(30px);
  opacity:.55;
  pointer-events:none;
}
.pill-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.pill{
  border:1px solid var(--border);
  padding:8px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.7);
  font-size:13px;
}

/* Chips */
.chip-row{ display:flex; gap:10px; flex-wrap:wrap; }
.chip{
  border:1px solid var(--border);
  background: #fff;
  padding:8px 10px;
  border-radius:999px;
  cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease;
  font-size:13px;
}
.chip:hover{ transform: translateY(-1px); box-shadow: var(--shadow-soft); }
.chip-active{ border-color: rgba(59,130,246,.45); }

/* Reels (vertical swipe feed) */
.reels-viewport{
  margin-top:14px;
  height: min(74vh, 720px);
  border-radius: 26px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.65);
  box-shadow: var(--shadow-soft);
  overflow-y: auto;
  overflow-x: hidden;
  scroll-snap-type: y mandatory;
  -webkit-overflow-scrolling: touch;
}
.reels-viewport::-webkit-scrollbar{ width: 10px; }
.reels-viewport::-webkit-scrollbar-thumb{ background: rgba(2,6,23,.14); border-radius: 999px; }
.reel-slide{
  scroll-snap-align: start;
  min-height: min(74vh, 720px);
  position: relative;
  display: grid;
  place-items: center;
  padding: 18px;
}
.reel-card{
  width: 100%;
  max-width: 520px;
  border-radius: 26px;
  border: 1px solid var(--border);
  background: #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
  transform: translateZ(0);
}
.reel-video{
  width: 100%;
  aspect-ratio: 9 / 16;
  background: #000;
  display:block;
}
.reel-overlay{
  position:absolute;
  inset: 18px;
  display:flex;
  justify-content: center;
  pointer-events: none;
}
.reel-overlay-inner{
  width:100%;
  max-width:520px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.reel-topbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding: 12px;
}
.reel-badge{
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.30);
  background: rgba(2,6,23,.28);
  color:#fff;
  font-size:12px;
  font-weight:900;
  backdrop-filter: blur(10px);
}
.reel-actions{
  display:flex;
  gap:10px;
  pointer-events: auto;
}
.reel-action{
  width:42px;height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background: rgba(2,6,23,.28);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  backdrop-filter: blur(10px);
}
.reel-bottombar{
  padding: 14px 14px 16px;
  color: #fff;
  pointer-events: auto;
}
.reel-title{ font-weight: 900; font-size: 16px; text-shadow: 0 8px 26px rgba(2,6,23,.45); }
.reel-desc{ margin-top:6px; font-size: 13px; color: rgba(255,255,255,.88); text-shadow: 0 8px 26px rgba(2,6,23,.45); }
.reel-cta{ margin-top:10px; display:flex; gap:10px; flex-wrap:wrap; }
.reel-cta .btn{ pointer-events: auto; }

@media (max-width: 520px){
  .reels-viewport{ height: 78vh; border-radius: 22px; }
  .reel-slide{ min-height: 78vh; padding: 12px; }
  .reel-overlay{ inset: 12px; }
}

/* Cards 3 */
.cards-3{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px; }
@media (max-width: 900px){ .cards-3{ grid-template-columns: 1fr; } }
.blog-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; }
.blog-badge{
  padding:6px 9px;
  border-radius:999px;
  border:1px solid var(--border);
  font-size:12px;
  background: rgba(59,130,246,.08);
}
.blog-title{ margin:0 0 8px; }

/* Split section */
.split{ display:grid; grid-template-columns: 1fr 1fr; gap:14px; align-items:stretch; }
@media (max-width: 900px){ .split{ grid-template-columns: 1fr; } }

.grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
@media (max-width: 900px){ .grid-2{ grid-template-columns: 1fr; } }

/* Quiz */
.quiz-q{ margin-top:14px; font-weight:700; }
.quiz-answers{ margin-top:10px; display:flex; gap:10px; flex-wrap:wrap; }
.quiz-result{ margin-top:14px; padding:12px; border-radius:18px; border:1px solid var(--border); background: rgba(2,6,23,.02); }
.quiz-res-head{ font-weight:900; margin-bottom:6px; }

/* Live */
.live-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.live-pill{
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background: rgba(2,6,23,.02);
  font-size:12px;
  font-weight:900;
}
.live-open{ background: rgba(16,185,129,.10); border-color: rgba(16,185,129,.35); }
.live-box{ margin-top:12px; }

/* Modals */
.modal{ position:fixed; inset:0; display:none; z-index:999; }
.modal.open{ display:block; }
.modal-backdrop{ position:absolute; inset:0; background: rgba(2,6,23,.55); backdrop-filter: blur(4px); }
.modal-card{
  position:relative;
  max-width: 860px;
  margin: 6vh auto;
  background:#fff;
  border-radius: 24px;
  border:1px solid var(--border);
  box-shadow: var(--shadow);
  overflow:hidden;
}
@media (max-width: 900px){ .modal-card{ margin: 4vh 12px; } }
.modal-close{
  position:absolute; top:12px; right:12px;
  width:40px;height:40px;
  border-radius:999px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.85);
  cursor:pointer;
  font-size:16px;
}
.modal-body{ padding:16px; }
.modal-meta{ margin-top:12px; }
.modal-title{ font-weight:900; font-size:18px; }
.modal-open{ overflow:hidden; }

/* Toast */
.toast{ position:fixed; left:50%; bottom:18px; transform:translateX(-50%) translateY(16px);
  background: rgba(15,23,42,.92); color:#fff; padding:12px 14px; border-radius: 999px;
  box-shadow: var(--shadow2); opacity:0; transition: .22s ease; z-index: 9999;
  font-weight: 800; font-size: 13px; letter-spacing: -.1px; backdrop-filter: blur(8px);
}
.toast.open{ opacity:1; transform:translateX(-50%) translateY(0); }

/* Job modal gallery */
.job-gallery{
  display:flex;
  gap:10px;
  overflow-x: scroll;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 12px;
  padding: 2px 0 10px;
  touch-action: pan-x;
}
.job-gallery::-webkit-scrollbar{ display:none; }
.job-gallery img{
  flex: 0 0 auto;
  scroll-snap-align: start;
  border-radius: 14px;
  box-shadow: var(--shadow2);
  height: 160px;
  width: 260px;
  object-fit: cover;
}
@media (max-width: 700px){
  .job-gallery img{
    height: 150px;
    width: 78vw;
    max-width: 360px;
  }
}

/* Rich content */
.rich p{ margin: 0 0 12px; }
.rich ul{ margin: 0 0 12px; padding-left: 18px; }

/* Chat widget */
.chat-widget{ border:1px solid var(--border); border-radius:22px; overflow:hidden; background:#fff; }
.chat-log{ height: 280px; overflow:auto; padding:12px; background: rgba(2,6,23,.02); }
.chat-form{ display:grid; grid-template-columns: 1fr 2fr auto; gap:10px; padding:12px; border-top:1px solid var(--border); }
@media (max-width: 700px){ .chat-form{ grid-template-columns: 1fr; } }

.chat-msg{ display:flex; flex-direction:column; margin: 8px 0; }
.chat-msg.user{ align-items:flex-start; }
.chat-msg.admin{ align-items:flex-end; }
.chat-bubble{
  max-width: 78%;
  padding: 10px 12px;
  border-radius: 16px;
  border:1px solid var(--border);
  background:#fff;
}
.chat-msg.admin .chat-bubble{
  background: rgba(59,130,246,.08);
  border-color: rgba(59,130,246,.22);
}
.chat-time{ font-size: 11px; color: var(--muted); margin-top:4px; }

/* Admin UI */
.auth-wrap{ min-height:100vh; display:grid; place-items:center; padding:20px; background: radial-gradient(800px 500px at 20% 10%, rgba(59,130,246,.12), transparent 55%), radial-gradient(700px 450px at 80% 30%, rgba(16,185,129,.12), transparent 55%), var(--bg); }
.auth-card{ max-width: 520px; width:100%; }
.stack{ display:grid; gap:10px; }
.alert{ padding:10px 12px; border-radius:14px; border:1px solid rgba(239,68,68,.25); background: rgba(239,68,68,.06); margin: 10px 0; }
.alert.ok{ border-color: rgba(16,185,129,.25); background: rgba(16,185,129,.08); }

.table{ border:1px solid var(--border); border-radius:16px; overflow:hidden; }
.table .row{ display:grid; grid-template-columns: 120px 140px 1fr 1fr; gap:10px; padding:10px 12px; border-top:1px solid var(--border); }
.table .row.head{ background: rgba(2,6,23,.02); border-top:none; font-weight:900; }
@media (max-width: 900px){ .table .row{ grid-template-columns: 1fr; } }

.chat-admin-thread{ border:1px solid var(--border); border-radius:16px; padding:12px; margin-top:12px; background:#fff; }
.chat-admin-log{ max-height: 240px; overflow:auto; padding:10px; border-radius:14px; background: rgba(2,6,23,.02); margin-top:8px; }
.chat-admin-msg{ margin: 8px 0; display:flex; flex-direction:column; }
.chat-admin-msg.admin{ align-items:flex-end; }
.chat-admin-bubble{ max-width: 78%; padding:10px 12px; border-radius: 16px; border:1px solid var(--border); background:#fff; }
.chat-admin-msg.admin .chat-admin-bubble{ background: rgba(59,130,246,.08); border-color: rgba(59,130,246,.22); }
.chat-admin-reply{ display:flex; gap:10px; margin-top:10px; }
@media (max-width: 700px){ .chat-admin-reply{ flex-direction:column; } }


/* --- Header polish: bigger logo without changing header height --- */
.brand{gap:10px}
.logo-img{
  height:40px;
  width:auto;
  transform: scale(1.85);
  transform-origin: left center;
  filter: drop-shadow(0 10px 18px rgba(2,6,23,.18));
}

/* --- New primary CTA: "Dit Nye Liv Starter Her" --- */
.btn.cta-newlife{
  border-color: transparent;
  color:#06111f;
  background: linear-gradient(90deg,
    rgba(56,189,248,.95),
    rgba(167,139,250,.95),
    rgba(34,211,238,.92)
  );
  background-size: 200% 200%;
  box-shadow: 0 18px 40px rgba(2,6,23,.14);
  font-weight: 900;
  letter-spacing: -.01em;
  padding:12px 18px;
  position:relative;
}
.btn.cta-newlife::after{
  content:"→";
  font-weight: 900;
  opacity:.95;
  transition: transform .15s ease;
}
.btn.cta-newlife:hover{
  transform: translateY(-1px) scale(1.02);
  filter: saturate(1.05);
}
.btn.cta-newlife:hover::after{transform: translateX(2px)}
.btn.cta-newlife:focus-visible{
  outline: 3px solid rgba(56,189,248,.45);
  outline-offset: 3px;
}
.btn.cta-newlife.cta-sm{
  padding:10px 14px;
  font-size: 14px;
}

/* --- Abroad page nav (ul/li) cleanup + mobile menu --- */
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
}
.header .header-inner .nav{padding:0}
.nav-toggle{
  display:none;
  border:1px solid var(--border);
  background: rgba(255,255,255,.75);
  border-radius:12px;
  padding:10px 12px;
  box-shadow: var(--shadow-soft);
}
[data-nav-menu]{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:18px;
  align-items:center;
}
[data-nav-menu] li{margin:0;padding:0}
[data-nav-menu] a{display:inline-flex}

/* Mobile: collapse the ul menu */
@media (max-width: 900px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  [data-nav-menu]{
    position:absolute;
    right:16px;
    top:64px;
    display:none;
    flex-direction:column;
    gap:10px;
    padding:14px;
    width:min(320px, calc(100vw - 32px));
    border:1px solid var(--border);
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(14px);
    border-radius:18px;
    box-shadow: 0 22px 60px rgba(2,6,23,.18);
  }
  [data-nav-menu][data-open="true"]{display:flex}
  [data-nav-menu] a{width:100%;justify-content:flex-start}
}


/* Blog thumbs & modal hero */
.blog-thumb{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:14px;
  margin:12px 0 10px;
  background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(255,107,74,.12));
}
.blog-thumb--empty{ display:block; }
.blog-hero{
  width:100%;
  max-height:420px;
  object-fit:cover;
  border-radius:16px;
  margin: 0 0 14px;
  background: #0b1220;
}


/* ===== Mobile polish (v12) ===== */
@media (max-width: 820px){
  .header, header, .site-header { position: sticky; top: 0; z-index: 50; }
}
@media (max-width: 640px){
  .nav, .navbar, .topbar, .header-inner { gap: 10px; }
  .brand { gap: 8px; }
  .logo-img{
    height: 34px !important;
    transform: scale(1.55) !important;
    transform-origin: left center;
  }
  .cta, .btn-cta, .btn-primary.cta, a.cta, .nav-cta a{
    padding: 10px 12px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  .lang-switch, .lang, .lang-toggle{
    transform: scale(.95);
    transform-origin: center;
  }
  body{ overflow-x: hidden; }
  section{ padding-left: 16px; padding-right: 16px; }
  .panel, .card{ border-radius: 16px; }
  .trustpilot, .reviews, .marquee, .tp-marquee{ overflow: hidden; }
}
@supports(padding: max(0px)){
  @media (max-width: 640px){
    .header, header, .site-header{
      padding-left: max(12px, env(safe-area-inset-left));
      padding-right: max(12px, env(safe-area-inset-right));
    }
  }
}
/* Mobile menu bullets fix */
.nav-menu ul, .mobile-menu ul, nav ul { list-style: none; padding-left: 0; margin: 0; }
/* Flash messages */
.flash{
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%) translateY(14px);
  padding: 12px 14px; border-radius: 999px; font-weight: 700; font-size: 14px;
  background: rgba(15,23,42,.92); color: white; box-shadow: 0 12px 30px rgba(2,6,23,.22);
  opacity: 0; transition: all .25s ease; z-index: 9999; max-width: calc(100vw - 32px);
}
.flash.ok{ background: rgba(16,185,129,.92); }
.flash.err{ background: rgba(239,68,68,.92); }
.flash.show{ opacity: 1; transform: translateX(-50%) translateY(0); }



/* ===== Mobile polish (v13) ===== */
@media (max-width: 640px){
  .logo-img{ height: 34px !important; transform: scale(1.55) !important; transform-origin:left center; }
  .cta, .btn-cta, a.cta, .nav-cta a{ padding:10px 12px !important; font-size:14px !important; white-space:nowrap !important; }
  body{ overflow-x:hidden; }
  section{ padding-left:16px; padding-right:16px; }
  .trustpilot, .reviews, .marquee, .tp-marquee{ overflow:hidden; }
}
.nav-menu ul, .mobile-menu ul, nav ul { list-style:none; padding-left:0; margin:0; }
/* ===== Admin polish (v13) ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:999px;border:1px solid rgba(15,23,42,.12);
background:linear-gradient(180deg,#fff,rgba(255,255,255,.86));box-shadow:0 10px 18px rgba(2,6,23,.08);font-weight:800;text-decoration:none;}
.input{padding:10px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.12);background:#fff;}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.12);
background:rgba(255,255,255,.8);font-weight:800;color:var(--text);}
label{font-weight:800;color:var(--muted);font-size:12px;letter-spacing:.2px;display:block;margin:0 0 6px;}
/* Flash messages */
.flash{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(14px);padding:12px 14px;border-radius:999px;font-weight:700;font-size:14px;
background:rgba(15,23,42,.92);color:#fff;box-shadow:0 12px 30px rgba(2,6,23,.22);opacity:0;transition:all .25s ease;z-index:9999;max-width:calc(100vw - 32px);}
.flash.ok{background:rgba(16,185,129,.92);} .flash.err{background:rgba(239,68,68,.92);} .flash.show{opacity:1;transform:translateX(-50%) translateY(0);}


/* ===== Menu button: mobile only (v15) ===== */
.menuBtn{ display:none !important; }
@media (max-width: 860px){
  .menuBtn{ display:inline-flex !important; }
}

/* ===== Apply page polish (v15) ===== */
.apply-hero{padding:26px 0 10px;}
.apply-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:stretch;
}
.apply-grid > *{
  height:100%;
}
.apply-card{
  display:flex;
  flex-direction:column;
  height:100%;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:16px;
}
.apply-card h1{margin:6px 0 6px;}
.apply-sub{color:var(--muted);font-weight:650;margin:0 0 12px;}
.apply-badges{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0;}
.apply-badges .pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.10);
background:rgba(255,255,255,.75);font-weight:850;font-size:12px;box-shadow:0 10px 18px rgba(2,6,23,.06);}
.apply-form{display:grid;gap:10px;margin-top:10px;}
.apply-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.apply-form input, .apply-form select, .apply-form textarea{width:100%;}
.file-drop{border:1px dashed rgba(15,23,42,.18);background:rgba(37,99,235,.06);border-radius:14px;padding:12px;display:grid;gap:6px;}
.file-drop .hint{color:var(--muted2);font-weight:650;font-size:13px;}
.apply-side{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  align-self:stretch;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:var(--shadow2);
  background:linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.4));
}
.apply-side::before{content:"";position:absolute;inset:-40px;background:
radial-gradient(900px 500px at 20% 0%, rgba(37,99,235,.20), transparent 60%),
radial-gradient(700px 480px at 90% 10%, rgba(255,107,74,.22), transparent 55%),
radial-gradient(700px 520px at 40% 100%, rgba(45,212,191,.18), transparent 60%);
filter:saturate(1.05);}
.apply-collage{
  position:relative;
  flex:1;
  padding:14px;
  display:block;
  z-index:1;
  min-height:0;
}
.apply-collage .tile{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(15,23,42,.10);box-shadow:0 14px 30px rgba(2,6,23,.14);}
.apply-collage img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);}
.apply-collage .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(2,6,23,.05), rgba(2,6,23,.35));}
.apply-overlay{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;background:rgba(255,255,255,.84);
backdrop-filter: blur(10px);border:1px solid rgba(15,23,42,.10);border-radius:18px;padding:12px;box-shadow:0 14px 30px rgba(2,6,23,.14);}
.apply-overlay .k{font-weight:900;margin:0 0 4px;}
.apply-overlay .p{margin:0;color:var(--muted);font-weight:650;}
.apply-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;}
.apply-step{border:1px solid rgba(15,23,42,.10);border-radius:16px;background:rgba(255,255,255,.78);padding:12px;box-shadow:0 10px 18px rgba(2,6,23,.06);}
.apply-step .n{font-weight:950;font-size:12px;letter-spacing:.18em;color:var(--muted2);text-transform:uppercase;}
.apply-step .t{font-weight:950;margin:4px 0 0;}
.apply-step .d{margin:6px 0 0;color:var(--muted);font-weight:650;}
@media (max-width: 980px){
  .apply-grid{grid-template-columns:1fr;}
  .apply-side{min-height:420px;height:auto;}
}
@media (max-width: 640px){
  .apply-steps{grid-template-columns:1fr;}
  .apply-form .row2{grid-template-columns:1fr;}
}


/* ===== Apply enhancements (v16) ===== */
@media (min-width: 900px){
  .menuBtn{ display:none !important; }
}
/* On mobile keep menu visible */
@media (max-width: 899px){
  .menuBtn{ display:inline-flex !important; }
}

/* File picker polish */
.file-drop{
  position:relative;
  border:1px dashed rgba(15,23,42,.18);
  border-radius:16px;
  padding:14px;
  background:rgba(255,255,255,.82);
}
.file-drop .file-meta{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin-top:10px;
  padding:10px 12px; border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
}
.file-drop .file-name{
  font-weight:800; color:var(--text); font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.file-drop .file-remove{
  border:none; cursor:pointer;
  padding:8px 10px; border-radius:999px;
  font-weight:900;
  background:rgba(15,23,42,.06);
}
.file-drop .file-remove:hover{ background:rgba(15,23,42,.10); }

/* Apply collage */
.apply-collage{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  box-shadow: var(--shadow);
}
.apply-collage::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(800px 420px at 20% 10%, rgba(37,99,235,.18), transparent 55%),
              radial-gradient(620px 360px at 90% 20%, rgba(255,107,74,.18), transparent 55%),
              linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0));
  pointer-events:none;
  z-index:2;
}
.apply-collage .grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:10px;
  padding:12px;
  background:rgba(255,255,255,.62);
}
.apply-collage img{
  width:100%; height:100%;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.08);
}
.apply-collage .a{ grid-column:1 / span 7; grid-row:1; aspect-ratio: 4/3; }
.apply-collage .b{ grid-column:8 / span 5; grid-row:1; aspect-ratio: 3/4; }
.apply-collage .c{ grid-column:1 / span 5; grid-row:2; aspect-ratio: 1/1; }
.apply-collage .d{ grid-column:6 / span 7; grid-row:2; aspect-ratio: 16/9; }

@media (max-width: 900px){
  .apply-collage .grid{ grid-template-columns:repeat(2,1fr); }
  .apply-collage .a,.apply-collage .b,.apply-collage .c,.apply-collage .d{ grid-column:auto; grid-row:auto; aspect-ratio: 4/3; }
}


/* ===== Admin submissions modal (v17) ===== */
.table-wrap{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow2);}
.admin-table{width:100%;border-collapse:collapse;}
.admin-table th{padding:12px 12px;background:rgba(15,23,42,.04);text-align:left;font-size:12px;letter-spacing:.2px;color:var(--muted);font-weight:900;}
.admin-table td{padding:12px 12px;border-top:1px solid var(--line);vertical-align:top;}
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.10);
background:rgba(255,255,255,.75);font-weight:900;font-size:12px;}
.badge.new{border-color:rgba(37,99,235,.25);background:rgba(37,99,235,.06);}
.badge.contacted{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.08);}
.badge.booked{border-color:rgba(168,85,247,.28);background:rgba(168,85,247,.08);}
.badge.won{border-color:rgba(16,185,129,.28);background:rgba(16,185,129,.10);}
.badge.lost{border-color:rgba(239,68,68,.26);background:rgba(239,68,68,.08);}

.modal{position:fixed;inset:0;display:none;z-index:9999;}
.modal.open{display:block;}
.modal .backdrop{position:absolute;inset:0;background:rgba(2,6,23,.55);}
.modal .sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
width:min(980px,92vw);max-height:88vh;overflow:auto;
background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:16px;}
.modal .top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.modal .split{display:grid;grid-template-columns: 1.1fr .9fr; gap:14px;margin-top:12px;}
.modal .box{border:1px solid rgba(15,23,42,.10);border-radius:18px;padding:12px;background:rgba(255,255,255,.82);}
.modal .box h3{margin:0 0 10px;font-size:14px;letter-spacing:.2px;text-transform:uppercase;color:var(--muted);}
.kv{display:grid;gap:6px;}
.kv .row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
.kv .k{font-weight:900;color:var(--muted);min-width:110px;font-size:12px;letter-spacing:.2px;text-transform:uppercase;}
.kv .v{font-weight:800;}
.mail-preview{white-space:pre-wrap;line-height:1.6;}
@media (max-width: 920px){
  .modal .sheet{top:auto;bottom:16px;transform:translate(-50%,0);max-height:86vh;}
  .modal .split{grid-template-columns:1fr;}
}

/* mobile: table -> cards */
@media (max-width: 780px){
  .admin-table thead{display:none;}
  .admin-table, .admin-table tbody, .admin-table tr, .admin-table td{display:block;width:100%;}
  .admin-table tr{border-top:1px solid var(--line);padding:12px 12px;}
  .admin-table td{border:none;padding:6px 0;}
  .admin-table td[data-label]::before{
    content: attr(data-label);
    display:block;
    font-weight:900;
    color:var(--muted);
    font-size:12px;
    letter-spacing:.2px;
    text-transform:uppercase;
    margin-bottom:4px;
  }
}


/* ===== Admin UX (v18) ===== */
.admin-shell{max-width:1180px;margin:26px auto;padding:0 16px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.admin-topbar .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.admin-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.admin-kpis .pill{background:rgba(255,255,255,.85);}

.admin-table td .subline{color:var(--muted);font-size:13px;font-weight:700;margin-top:2px;}
.admin-table td .tiny{color:var(--muted2);font-size:12px;font-weight:700;margin-top:6px;}

@media (max-width: 1020px){
  .admin-topbar{align-items:flex-start;}
}

/* Leads board tighter + no huge empty look */
.board-shell{max-width:1400px;margin:20px auto;padding:0 16px;}
.board{gap:12px;}
.col{background:rgba(255,255,255,.78);backdrop-filter: blur(8px);}
.drop{gap:10px;}
.card{padding:12px;}
.card .title{font-size:14px;}
.card .meta{font-size:12px;}

.footer-social{display:flex;gap:12px;align-items:center;margin-top:10px;}
.footer-social .social{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.75);
  box-shadow:0 10px 18px rgba(2,6,23,.06);
}
.footer-social .social:hover{transform:translateY(-1px);}


/* ===== Modal polish (v21) ===== */
.modal .sheet{padding:18px 18px 16px;}
.modal .top{position:sticky;top:0;background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));backdrop-filter: blur(10px);
border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:12px;margin:-18px -18px 12px;padding:14px 18px 12px;border-top-left-radius:22px;border-top-right-radius:22px;}
.modal .top h2{font-size:22px;letter-spacing:-.3px;}
.modal .quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.btn.ghost{background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.12);}
.btn.ghost:hover{transform:translateY(-1px);}
.modal .chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.10);font-weight:900;font-size:12px;}
.modal .box{background:rgba(255,255,255,.88);}
.modal label{font-weight:900;font-size:12px;letter-spacing:.2px;text-transform:uppercase;color:var(--muted);}
.modal textarea.input{min-height:120px;}

.form-consent{
  margin:10px 2px 0;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 700;
}

/* ===== Mobile CTA in menu (v24) ===== */
.cta-mobile{display:none;}
@media (max-width: 860px){
  .cta-newlife{display:none !important;}
  .cta-mobile{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-radius:12px;
    background: linear-gradient(90deg, rgba(37,99,235,.16), rgba(255,107,74,.14));
    border:1px solid rgba(15,23,42,.10);
    font-weight:900;
    margin-top:8px;
  }
}

/* Apply collage 14-grid (UPDATED) */
.apply-side .grid.grid-8{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap:10px;
  width:100%;
  height:100%;
  min-height:0;
}
.apply-side .grid.grid-8 > *{
  min-width:0;
  min-height:0;
}
.apply-side .grid.grid-8 img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:16px;
  box-shadow:0 10px 18px rgba(2,6,23,.08);
}

@media (min-width: 980px){
  .apply-side .grid.grid-8{ grid-template-rows: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 860px){
  .apply-side{ display:none; }
}

/* ===== RTE (admin blogs) v24 ===== */
.rte-wrap{border:1px solid rgba(15,23,42,.12);border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 10px 18px rgba(2,6,23,.06);overflow:hidden}
.rte-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px;border-bottom:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88));}
.rte-toolbar button{border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.75);border-radius:12px;padding:8px 10px;font-weight:900;cursor:pointer}
.rte-toolbar button:hover{transform:translateY(-1px)}
.rte-editor{min-height:180px;padding:12px 12px 14px;outline:none;line-height:1.65}
.rte-editor h2{font-size:20px;margin:12px 0 6px}
.rte-editor h3{font-size:17px;margin:10px 0 6px}
.rte-editor p{margin:0 0 10px}
.rte-emoji{display:flex;gap:6px;flex-wrap:wrap}
.rte-emoji button{padding:7px 9px}


/* Blog modal CTA */
.blog-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.blog-cta .btn{border-radius:999px}


/* Mobile: allow scrolling inside blog/job modals */
@media (max-width: 820px){
  .modal{align-items:flex-end;}
  .modal__panel,
  .modal .panel,
  .modal .card{
    max-height: 88vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Trustpilot marquee: faster on mobile */
@media (max-width: 820px){
  .marquee-track, .tp-marquee-track, .reviews-track, .trustpilot-track{
    animation-duration: 18s !important;
  }
}


/* Jobs: nicer cards on mobile */
@media (max-width: 820px){
  .joblist{display:flex;flex-direction:column;gap:14px}
  .card.job{padding:16px}
  .card.job{display:grid;grid-template-columns:1fr;gap:12px}
  .card.job .left .title{font-size:20px;line-height:1.15}
  .card.job .meta{flex-wrap:wrap;gap:8px}
  .card.job .desc{font-size:15px;line-height:1.45}
  .card.job .btn.primary{width:100%;justify-content:center;padding:12px 14px;font-size:16px}
  .card.job .small{justify-content:flex-start;margin-top:8px}
  .jobs-controls{position:sticky;top:74px;z-index:5;background:rgba(255,255,255,.75);backdrop-filter: blur(10px);padding:12px 10px;border-radius:16px}
  .jobs-controls .grid{grid-template-columns:1fr 1fr;gap:10px}
  .jobs-controls .grid .field:nth-child(3){grid-column:1 / -1}
  .jobs-controls .grid .field:nth-child(4){grid-column:1 / -1}
  .jobs-controls .btn.primary{width:100%}
}


/* Mobile: ensure modals (blogs/jobs) are scrollable */
@media (max-width: 900px){
  .modal-card{
    max-height: 90vh;
    display:flex;
    flex-direction:column;
  }
  .modal-body{
    overflow-y:auto;
    -webkit-overflow-scrolling: touch;
    max-height: calc(90vh - 8px);
  }
}


/* Ensure modal close button is always clickable on mobile */
.modal-close{
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 60;
  pointer-events: auto;
}


/* Abroad reel player */
.reel-card{position:relative; overflow:hidden}
.reel-player{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius: inherit;
}
.reel-next{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  width:56px;height:56px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(15,23,42,.22);
  color:#fff;
  font-size:34px;
  line-height:1;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter: blur(10px);
}
.reel-next:active{transform:translateY(-50%) scale(.98)}
@media (max-width: 820px){
  .reel-next{width:52px;height:52px; right:10px}
}


/* v47 overrides: Trustpilot clean layout + CTA width */
.trust-grid{display:block;}
.trust-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.trust-head > div{min-width:0;}
.trust-meta-link{margin-left:auto;flex:0 0 auto;}
.trust-badge{cursor:pointer;transition:transform .12s ease, box-shadow .12s ease;}
.trust-meta-link:hover .trust-badge{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.10);}

/* Make the CTA card match content width */
.cta-card{max-width:1120px;margin-left:auto;margin-right:auto;}

@media (max-width: 900px){
  .cta-card{max-width:100%;}
}


/* Constrain CTA section width to match Trustpilot box */
.section-cta {
  max-width: 1100px;
  margin: 0 auto;
}


/* === Homepage: "Klar til at tage næste skridt?" card width (only this card) === */
.card[style*="justify-content:space-between"][style*="align-items:center"][style*="flex-wrap:wrap"]{
  max-width: var(--maxw, 1120px);
  margin-left: auto;
  margin-right: auto;
}

/* === Desktop: allow scrolling inside blog/job modals === */
.modal-card{ max-height: 88vh; display:flex; flex-direction:column; }
.modal-body{ overflow:auto; -webkit-overflow-scrolling: touch; }

/* === FORCE: jobs filters MUST NOT be sticky (desktop + mobile) === */
.jobs-controls,
.jobs-controls-sticky{
  position: relative !important;
  top: auto !important;
  z-index: auto !important;
}
