/* ============================================================
   LiveKid — Team / HR site
   Brand tokens transcribed from LiveKid-Design-System
   (colors_and_type.css). Do not invent new hex values.
   ============================================================ */

@font-face {
  font-family: "Signika";
  src: url("../fonts/Signika-VariableFont_wght.ttf") format("truetype-variations");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Brand colors */
  --red-1:  #e7243e;  --red-2: #ff4757;  --red-6: #ffe9ed;
  --green-1:#01b750;  --green-2:#2ed573;  --green-6:#c6ffcb;
  --blue-1: #0090f6;  --blue-2: #2badff;  --blue-3:#78cbff; --blue-5:#b3e2ff; --blue-6:#c1eeff;
  --navy:   #00267c;
  --ink:    #1e222a;
  --gray-1: #40444d;  --gray-2:#9ea6b5;  --gray-3:#c5cbd6; --gray-4:#dadde8;
  --gray-5: #f0f4fc;  --gray-6:#f6f8fd;  --white-1:#fcfcfd; --white:#ffffff;
  --purple-1:#4d2ea3; --purple-2:#937dff; --purple-6:#eae9ff;
  --pink-2: #ff66cc;
  --teal-1: #0697af;  --teal-2:#01bcd3;  --teal-6:#c5ffff;
  --yellow-2:#ffc700; --yellow-3:#ffd32a; --yellow-6:#fff5d5; --orange-1:#ffa62b;

  /* Semantic */
  --color-primary: var(--blue-1);
  --color-bg:      var(--gray-6);
  --color-surface: var(--white);
  --color-text:    var(--ink);
  --color-muted:   var(--gray-1);
  --color-subtle:  var(--gray-2);
  --color-border:  var(--gray-4);

  --font-brand: "Signika", "Segoe UI", system-ui, -apple-system, sans-serif;

  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;

  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:28px; --r-2xl:40px; --r-pill:999px;

  --shadow-sm:  0 1px 2px rgba(30,34,42,.06), 0 1px 3px rgba(30,34,42,.08);
  --shadow-md:  0 4px 10px rgba(30,34,42,.06), 0 2px 6px rgba(30,34,42,.06);
  --shadow-lg:  0 12px 28px rgba(30,34,42,.10), 0 4px 10px rgba(30,34,42,.06);
  --shadow-brand:0 14px 30px rgba(0,144,246,.22);

  --maxw: 1140px;
}

/* ---------- Reset ---------- */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body {
  font-family: var(--font-brand);
  font-weight: var(--fw-regular);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: var(--color-primary); text-decoration: none; }
ul { list-style: none; }

/* ---------- Layout ---------- */
.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
section { padding: 88px 0; }
.section--tint { background: var(--white); }
.eyebrow {
  font-weight: var(--fw-bold); font-size: 13px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--color-primary); margin-bottom: 12px;
}
.section__head { max-width: 720px; margin: 0 auto 56px; text-align: center; }
.section__head.left { margin-left: 0; text-align: left; }
h1,h2,h3,h4 { font-family: var(--font-brand); letter-spacing: -.01em; line-height: 1.12; }
h2 { font-size: clamp(28px, 4vw, 40px); font-weight: var(--fw-bold); }
h3 { font-size: 22px; font-weight: var(--fw-semibold); }
.lead { font-size: clamp(16px,2vw,19px); color: var(--color-muted); line-height: 1.55; }

/* ---------- Header ---------- */
.header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(252,252,253,.85); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border);
}
.header__inner { display: flex; align-items: center; gap: 24px; height: 68px; }
.header__logo img { height: 30px; }
.nav { display: flex; gap: 26px; margin-left: auto; }
.nav a { color: var(--color-muted); font-weight: var(--fw-medium); font-size: 15px; }
.nav a:hover { color: var(--color-primary); }

.langswitch { display: flex; gap: 4px; background: var(--gray-5); padding: 4px; border-radius: var(--r-pill); }
.langswitch button {
  border: 0; background: transparent; cursor: pointer; font-family: inherit;
  font-weight: var(--fw-semibold); font-size: 13px; color: var(--color-muted);
  padding: 6px 12px; border-radius: var(--r-pill); transition: .15s;
}
.langswitch button.active { background: var(--white); color: var(--color-primary); box-shadow: var(--shadow-sm); }

.menu-toggle { display:none; margin-left:auto; background:none; border:0; cursor:pointer; }
.menu-toggle span { display:block; width:24px; height:2px; background:var(--ink); margin:5px 0; border-radius:2px; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  font-family: inherit; font-weight: var(--fw-semibold); font-size: 15px;
  padding: 12px 22px; border-radius: var(--r-pill); border: 0; transition: .18s;
}
.btn--primary { background: var(--color-primary); color: #fff; box-shadow: var(--shadow-brand); }
.btn--primary:hover { background: var(--blue-2); transform: translateY(-1px); }
.btn--ghost { background: transparent; color: var(--color-primary); border: 1.5px solid var(--blue-3); }
.btn--ghost:hover { background: var(--blue-6); }

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; padding: 96px 0 80px; background:
  radial-gradient(120% 120% at 85% -10%, var(--blue-6) 0%, rgba(193,238,255,0) 55%),
  radial-gradient(90% 90% at 0% 110%, var(--purple-6) 0%, rgba(234,233,255,0) 50%),
  var(--gray-6); }
.hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.hero h1 { font-size: clamp(36px, 6vw, 60px); font-weight: var(--fw-bold); margin-bottom: 20px; }
.hero h1 .accent { color: var(--color-primary); }
.hero .lead { max-width: 540px; margin-bottom: 28px; }
.hero__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hero__badges { display: flex; gap: 22px; margin-top: 34px; flex-wrap: wrap; }
.hero__badge { font-size: 14px; color: var(--color-muted); display:flex; align-items:center; gap:8px; }
.hero__badge b { color: var(--ink); font-weight: var(--fw-bold); }

.hero__art { position: relative; display: flex; align-items: center; justify-content: center; }
.hero__media { width: 100%; height: auto; display: block; }
.hero__shot { filter: drop-shadow(0 22px 44px rgba(30,34,42,.16)); animation: heroFloat 6s ease-in-out infinite; }
.hero__video { max-width: 560px; margin: 0 auto; }
@keyframes heroFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (prefers-reduced-motion: reduce) { .hero__shot { animation: none; } }

/* ---------- Roadmap / timeline ---------- */
.timeline { position: relative; max-width: 860px; margin: 0 auto; }
.timeline::before { content:""; position:absolute; left: 27px; top: 8px; bottom: 8px; width: 2px; background: var(--gray-4); }
.tl-item { position: relative; padding: 0 0 36px 76px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-dot {
  position: absolute; left: 14px; top: 2px; width: 28px; height: 28px; border-radius: 9px;
  background: var(--color-primary); box-shadow: 0 0 0 5px var(--white), var(--shadow-sm);
}
.tl-item:nth-child(5n+1) .tl-dot { background: var(--blue-1); }
.tl-item:nth-child(5n+2) .tl-dot { background: var(--green-1); }
.tl-item:nth-child(5n+3) .tl-dot { background: var(--red-1); }
.tl-item:nth-child(5n+4) .tl-dot { background: var(--yellow-3); }
.tl-item:nth-child(5n+5) .tl-dot { background: var(--purple-2); }
.tl-year { font-weight: var(--fw-bold); color: var(--color-primary); font-size: 15px; letter-spacing:.02em; }
.tl-card { background: var(--white); border: 1px solid var(--color-border); border-radius: var(--r-lg); padding: 18px 22px; margin-top: 6px; box-shadow: var(--shadow-sm); }
.tl-card h3 { font-size: 19px; margin-bottom: 4px; }
.tl-card p { color: var(--color-muted); font-size: 15px; }
.tl-photos { margin-top: 14px; display: grid; gap: 10px; }
.tl-photos:empty { display: none; margin: 0; }
.tl-photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-md); display: block; }
.tl-photos[data-n="1"] img { max-width: 280px; }
@media (max-width: 560px) { .tl-photos[data-n] { grid-template-columns: 1fr !important; } }

/* ---------- Mission / Vision ---------- */
.mv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.mv-card { border-radius: var(--r-xl); padding: 40px; color: #fff; box-shadow: var(--shadow-lg); }
.mv-card.mission { background: linear-gradient(135deg, var(--blue-1), var(--blue-2)); }
.mv-card.vision  { background: linear-gradient(135deg, var(--navy), var(--purple-1)); }
.mv-card .eyebrow { color: rgba(255,255,255,.8); }
.mv-card h2 { color: #fff; margin-bottom: 14px; font-size: 28px; }
.mv-card p { font-size: 18px; line-height: 1.5; opacity: .96; }

/* ---------- Products ---------- */
.cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.card {
  background: var(--white); border: 1px solid var(--color-border); border-radius: var(--r-lg);
  padding: 28px; box-shadow: var(--shadow-sm); transition: .18s;
}
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.card__icon { width: 46px; height: 46px; border-radius: var(--r-md); display:grid; place-items:center; margin-bottom: 16px; font-weight: var(--fw-bold); color:#fff; font-size: 20px; }
.card__logo { height: 30px; width: auto; max-width: 75%; display: block; margin-bottom: 18px; object-fit: contain; object-position: left center; }
.card__logo--text { height: auto; font-size: 24px; font-weight: var(--fw-bold); letter-spacing: -.01em; line-height: 1; }
.card h3 { margin-bottom: 8px; }
.card .tag { font-size: 12px; font-weight: var(--fw-semibold); color: var(--color-subtle); letter-spacing:.06em; text-transform: uppercase; }
.card p { color: var(--color-muted); font-size: 15px; margin-top: 8px; }
.ic-blue{background:var(--blue-1)} .ic-green{background:var(--green-1)} .ic-red{background:var(--red-1)}
.ic-purple{background:var(--purple-2)} .ic-teal{background:var(--teal-1)} .ic-orange{background:var(--orange-1)}

/* ---------- Values ---------- */
.values { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.value { background: var(--white); border-radius: var(--r-lg); padding: 26px; border: 1px solid var(--color-border); }
.value .num { font-size: 14px; font-weight: var(--fw-bold); color: var(--color-primary); }
.value h3 { font-size: 19px; margin: 8px 0 6px; }
.value p { color: var(--color-muted); font-size: 15px; }
.value:nth-child(3n+1){ border-top: 3px solid var(--blue-1); }
.value:nth-child(3n+2){ border-top: 3px solid var(--green-1); }
.value:nth-child(3n+3){ border-top: 3px solid var(--red-1); }

/* ---------- Scale / stats ---------- */
.scale { background: var(--navy); color: #fff; }
.scale .section__head h2 { color: #fff; }
.scale .section__head .lead { color: rgba(255,255,255,.78); }
.scale .eyebrow { color: var(--blue-3); }
.stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.stat { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: var(--r-lg); padding: 30px 24px; text-align: center; }
.stat .num { font-size: clamp(30px,4vw,42px); font-weight: var(--fw-bold); line-height: 1; }
.stat .num .suffix { font-size: .6em; }
.stat .label { margin-top: 10px; color: rgba(255,255,255,.78); font-size: 15px; }
.s-blue{color:var(--blue-3)} .s-green{color:var(--green-2)} .s-yellow{color:var(--yellow-3)} .s-pink{color:var(--pink-2)}

/* ---------- Gallery ---------- */
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 150px; gap: 16px; }
.gallery figure { overflow: hidden; border-radius: var(--r-lg); box-shadow: var(--shadow-sm); position: relative; }
.gallery img { width: 100%; height: 100%; object-fit: cover; }
.gallery .span2 { grid-column: span 2; }
.gallery .row2 { grid-row: span 2; }
.tile {
  display:flex; flex-direction:column; justify-content:flex-end; padding:22px; color:#fff;
  border-radius: var(--r-lg); box-shadow: var(--shadow-sm); position: relative; overflow: hidden;
}
.tile b { font-size: 18px; font-weight: var(--fw-bold); }
.tile span { font-size: 13px; opacity:.9; }
.tile .emoji { font-size: 30px; position:absolute; top:18px; left:20px; }
.t-blue{background:linear-gradient(140deg,var(--blue-1),var(--blue-2))}
.t-green{background:linear-gradient(140deg,var(--green-1),var(--green-2))}
.t-purple{background:linear-gradient(140deg,var(--purple-1),var(--purple-2))}
.t-red{background:linear-gradient(140deg,var(--red-1),var(--red-2))}
.t-teal{background:linear-gradient(140deg,var(--teal-1),var(--teal-2))}
.t-yellow{background:linear-gradient(140deg,var(--orange-1),var(--yellow-3));color:var(--ink)}

/* ---------- Why LiveKid ---------- */
.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.why-card {
  background: var(--white); border: 1px solid var(--color-border); border-radius: var(--r-lg);
  padding: 28px; box-shadow: var(--shadow-sm); transition: .18s;
}
.why-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.why-card .why-emoji { font-size: 30px; display: block; margin-bottom: 14px; }
.why-card h3 { font-size: 19px; margin-bottom: 8px; }
.why-card p { color: var(--color-muted); font-size: 15px; }
/* lead card: brand gradient, spans two columns */
.why-card.why--lead {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, var(--blue-1), var(--purple-1));
  color: #fff; border: 0; box-shadow: var(--shadow-lg);
  display: flex; flex-direction: column; justify-content: center;
}
.why-card.why--lead h3 { font-size: 26px; color: #fff; }
.why-card.why--lead p { color: rgba(255,255,255,.94); font-size: 17px; }
.why-card.why--lead .why-emoji { font-size: 40px; }
/* bullet points (the non-lead reasons) */
.why-points { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 40px; list-style: none; margin-top: 8px; }
.why-point { display: flex; gap: 16px; align-items: flex-start; }
.why-point__icon { font-size: 26px; line-height: 1.1; flex-shrink: 0; }
.why-point b { display: block; font-size: 18px; font-weight: var(--fw-semibold); margin-bottom: 4px; }
.why-point span { color: var(--color-muted); font-size: 15px; line-height: 1.5; }
@media (max-width: 720px) { .why-points { grid-template-columns: 1fr; } }

/* ---------- Reviews (PL only) — sneak peek masonry ---------- */
.reviews[hidden] { display: none; }
.reviews-peek { display: flex; gap: 20px; align-items: flex-start; }
.rev-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.rev {
  display: block; position: relative;
  background: var(--white); border: 1px solid var(--color-border); border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm); color: var(--color-text); transition: .18s; overflow: hidden;
}
.rev:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--blue-3); }
.rev--text { padding: 24px; }
.rev__src { position: absolute; top: 18px; right: 18px; width: 22px; height: 22px; }
.rev__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; padding-right: 30px; }
.rev__avatar { width: 38px; height: 38px; border-radius: 50%; flex-shrink: 0; }
.rev__who b { display: block; font-weight: var(--fw-semibold); font-size: 15px; }
.rev__stars { color: var(--yellow-2); font-size: 14px; letter-spacing: 1px; }
.rev__quote { color: var(--color-muted); font-size: 15px; line-height: 1.5; }
.rev__quote strong { color: var(--color-text); font-weight: var(--fw-semibold); }
/* video cards */
.rev--video { min-height: 220px; display: flex; align-items: flex-end; }
.rev__thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rev--video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(30,34,42,.72), rgba(30,34,42,0) 55%); }
.rev__play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 56px; height: 56px; border-radius: 50%; border: 2.5px solid rgba(255,255,255,.9);
  display: grid; place-items: center; color: #fff; font-size: 18px; padding-left: 4px;
  background: rgba(30,34,42,.18); z-index: 2; transition: .18s;
}
.rev--video:hover .rev__play { background: var(--color-primary); border-color: var(--color-primary); }
.rev__vmeta { position: relative; z-index: 2; padding: 22px; color: #fff; }
.rev__vmeta b { display: block; font-size: 17px; font-weight: var(--fw-bold); }
.rev__vmeta span { font-size: 14px; opacity: .9; }
/* CTA row */
.reviews__cta { text-align: center; margin-top: 36px; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.reviews__stores { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.reviews__stores a { transition: .18s; }
.reviews__stores a:hover { transform: translateY(-2px); }
.reviews__stores img { height: 46px; width: auto; display: block; }
@media (max-width: 1024px) { .reviews-peek { flex-direction: column; } .reviews-peek .rev-col { width: 100%; } }

/* ---------- Offices ---------- */
.offices { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.office { background: var(--white); border: 1px solid var(--color-border); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
.office__top { height: 8px; }
.office:nth-child(1) .office__top{ background: var(--red-1);}
.office:nth-child(2) .office__top{ background: var(--yellow-3);}
.office:nth-child(3) .office__top{ background: var(--green-1);}
.office__body { padding: 26px; }
.office .flag { font-size: 30px; }
.office h3 { margin: 12px 0 4px; }
.office .city { color: var(--color-primary); font-weight: var(--fw-semibold); }
.office p { color: var(--color-muted); font-size: 15px; margin-top: 10px; }

/* ---------- Leadership (condensed) ---------- */
.leaders { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.leader {
  background: var(--white); border: 1px solid var(--color-border); border-radius: var(--r-lg);
  padding: 22px 12px; text-align: center; box-shadow: var(--shadow-sm); transition: .18s;
}
.leader:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.leader__ava {
  width: 72px; height: 72px; border-radius: 50%; margin: 0 auto 12px; position: relative;
  display: grid; place-items: center; color: #fff; font-weight: var(--fw-bold); font-size: 24px; overflow: hidden;
}
.leader__ava img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.leader__name { font-weight: var(--fw-semibold); font-size: 15px; line-height: 1.2; }
.leader__role { color: var(--color-muted); font-size: 12.5px; margin-top: 3px; line-height: 1.3; }
.lc-blue{background:var(--blue-1)} .lc-green{background:var(--green-1)} .lc-red{background:var(--red-1)}
.lc-purple{background:var(--purple-2)} .lc-teal{background:var(--teal-1)} .lc-orange{background:var(--orange-1)}
.lc-pink{background:var(--pink-2)} .lc-navy{background:var(--navy)}

/* ---------- Growth stories ---------- */
.growth { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.growth-card { background: var(--white); border: 1px solid var(--color-border); border-radius: var(--r-lg); padding: 28px; box-shadow: var(--shadow-sm); transition: .18s; }
.growth-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.growth-head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.growth-head .leader__ava { width: 56px; height: 56px; font-size: 20px; margin: 0; }
.growth-name { font-weight: var(--fw-semibold); font-size: 18px; }
.growth-steps { position: relative; padding-left: 26px; list-style: none; }
.growth-steps::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--gray-4); }
.growth-steps li { position: relative; padding-bottom: 16px; }
.growth-steps li:last-child { padding-bottom: 0; }
.growth-steps li::before { content: ""; position: absolute; left: -26px; top: 4px; width: 16px; height: 16px; border-radius: 50%; box-shadow: 0 0 0 4px var(--white); }
.growth-card:nth-child(3n+1) .growth-steps li::before { background: var(--blue-1); }
.growth-card:nth-child(3n+2) .growth-steps li::before { background: var(--green-1); }
.growth-card:nth-child(3n+3) .growth-steps li::before { background: var(--red-1); }
.growth-year { display: inline-block; font-weight: var(--fw-bold); font-size: 12px; letter-spacing: .02em; color: var(--color-primary); margin-bottom: 2px; }
.growth-card:nth-child(3n+2) .growth-year { color: var(--green-1); }
.growth-card:nth-child(3n+3) .growth-year { color: var(--red-1); }
.growth-steps p { font-size: 14px; color: var(--color-muted); line-height: 1.45; }

/* ---------- Culture collage ---------- */
.collage { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 150px; gap: 14px; grid-auto-flow: dense; }
.ct { position: relative; overflow: hidden; border-radius: var(--r-lg); box-shadow: var(--shadow-sm); display: grid; place-items: center; }
.ct img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ct__ph { font-size: 36px; opacity: .92; }
.ct.c-wide { grid-column: span 2; }
.ct.c-tall { grid-row: span 2; }
.ct.c-big { grid-column: span 2; grid-row: span 2; }
.ct.c-portrait { grid-column: span 1; grid-row: span 3; }
.collage .ct:nth-child(6n+1) { background: linear-gradient(140deg, var(--blue-1), var(--blue-2)); }
.collage .ct:nth-child(6n+2) { background: linear-gradient(140deg, var(--green-1), var(--green-2)); }
.collage .ct:nth-child(6n+3) { background: linear-gradient(140deg, var(--purple-1), var(--purple-2)); }
.collage .ct:nth-child(6n+4) { background: linear-gradient(140deg, var(--orange-1), var(--yellow-3)); }
.collage .ct:nth-child(6n+5) { background: linear-gradient(140deg, var(--red-1), var(--red-2)); }
.collage .ct:nth-child(6n+6) { background: linear-gradient(140deg, var(--teal-1), var(--teal-2)); }

/* ---------- Jobs ---------- */
.jobtabs { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 36px; }
.jobtab {
  cursor: pointer; font-family: inherit; font-weight: var(--fw-semibold); font-size: 15px;
  padding: 10px 22px; border-radius: var(--r-pill); border: 1.5px solid var(--color-border);
  background: var(--white); color: var(--color-muted); transition: .15s; display:flex; gap:8px; align-items:center;
}
.jobtab:hover { border-color: var(--blue-3); color: var(--color-primary); }
.jobtab.active { background: var(--color-primary); color:#fff; border-color: var(--color-primary); box-shadow: var(--shadow-brand); }
.joblist { max-width: 820px; margin: 0 auto; display: grid; gap: 14px; }
.job {
  background: var(--white); border: 1px solid var(--color-border); border-radius: var(--r-lg);
  padding: 22px 24px; display: flex; align-items: center; gap: 18px; transition: .15s;
}
.job:hover { box-shadow: var(--shadow-md); border-color: var(--blue-3); }
.job__main h3 { font-size: 18px; margin-bottom: 4px; }
.job__meta { display:flex; gap:14px; flex-wrap:wrap; color: var(--color-subtle); font-size: 13px; }
.job__meta span { display:flex; align-items:center; gap:5px; }
.job__dept { margin-left: auto; flex-shrink:0; }
.chip { font-size: 12px; font-weight: var(--fw-semibold); padding: 5px 12px; border-radius: var(--r-pill); white-space: nowrap; }
.chip--eng { background: var(--blue-6); color: var(--blue-1); }
.chip--prod{ background: var(--purple-6); color: var(--purple-1); }
.chip--gtm { background: var(--green-6); color: var(--green-1); }
.chip--ops { background: var(--yellow-6); color: #9a7400; }
.job__cta { flex-shrink:0; }
.jobs-empty { text-align:center; color: var(--color-muted); padding: 30px; background: var(--white); border-radius: var(--r-lg); border:1px dashed var(--color-border); max-width:820px; margin:0 auto; }
.jobs-note { text-align:center; margin-top: 28px; color: var(--color-muted); font-size: 15px; }

/* ---------- Footer ---------- */
.footer { background: var(--ink); color: rgba(255,255,255,.7); padding: 48px 0 36px; }
.footer__grid { display:flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.footer img { height: 26px; }
.footer__links { display:flex; gap: 22px; flex-wrap: wrap; }
.footer__links a { color: rgba(255,255,255,.7); font-size: 14px; }
.footer__links a:hover { color: #fff; }
.footer small { display:block; margin-top: 20px; font-size: 13px; color: rgba(255,255,255,.45); }

/* ---------- Reveal animation ---------- */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .hero__grid { grid-template-columns: 1fr; }
  .hero__art { order: -1; }
  .cards, .values, .offices, .why-grid { grid-template-columns: repeat(2,1fr); }
  .stats { grid-template-columns: repeat(2,1fr); }
  .leaders { grid-template-columns: repeat(3,1fr); }
  .growth { grid-template-columns: 1fr; }
  .mv-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  section { padding: 64px 0; }
  .nav { display: none; }
  .nav.open {
    display: flex; position: absolute; top: 68px; left: 0; right: 0; flex-direction: column;
    background: var(--white); padding: 18px 24px; gap: 16px; border-bottom: 1px solid var(--color-border); box-shadow: var(--shadow-md);
  }
  .menu-toggle { display: block; }
  .header__inner { gap: 12px; }
  .cards, .values, .offices, .stats, .why-grid { grid-template-columns: 1fr; }
  .why-card.why--lead { grid-column: span 1; }
  .leaders { grid-template-columns: repeat(2,1fr); }
  .collage { grid-template-columns: repeat(2,1fr); }
  .gallery .span2 { grid-column: span 2; }
  .job { flex-wrap: wrap; }
  .job__dept { margin-left: 0; }
}
