:root{
  --primary:#00AB8B; --secondary:#80D5C5; --dark:#224250; --darker:#18313c;
  --white:#FFFFFF; --grey:#F5F5F5; --muted:rgba(255,255,255,.72);
  --fade:1200ms;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:var(--dark);color:var(--white);
  font-family:'Ubuntu',system-ui,sans-serif;cursor:none;-webkit-font-smoothing:antialiased}
#tv{position:fixed;inset:0;display:grid;grid-template-rows:12vh .7vh 1fr 9vh;grid-template-columns:100%;
  background:radial-gradient(120vh 90vh at 85% 10%,rgba(0,171,139,.20),transparent 60%),
             radial-gradient(100vh 80vh at 0% 100%,rgba(128,213,197,.10),transparent 60%),var(--dark)}

/* ---------- top bar ---------- */
#topbar{display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;gap:2vw}
#logo{height:6.6vh;width:auto;flex:none}
#section-label{display:flex;align-items:center;gap:1.2vh;font-size:3.4vh;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--secondary);transition:opacity .6s}
#section-dot{width:1.8vh;height:1.8vh;border-radius:50%;background:var(--primary);box-shadow:0 0 0 .6vh rgba(0,171,139,.25)}
#top-right{display:flex;align-items:center;gap:3.5vw}
#weather{display:flex;align-items:center;gap:1vh;font-size:3.6vh}
#weather[hidden]{display:none}
#weather-icon svg{width:5.4vh;height:5.4vh;display:block}
#weather-temp{font-weight:700;font-size:4.6vh}
#weather-text{color:var(--muted);font-weight:300}
#clock-wrap{text-align:right;line-height:1}
#clock{font-size:6.4vh;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}
#date{font-size:2.8vh;color:var(--muted);margin-top:.6vh;font-weight:400}

/* ---------- progress ---------- */
#progress{margin:0 3.5vw;background:rgba(255,255,255,.12);border-radius:1vh;overflow:hidden}
#progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:1vh}

/* ---------- stage / slides ---------- */
#stage{position:relative;overflow:hidden}
.slide{position:absolute;inset:0;padding:3.5vh 3.5vw 3vh;opacity:0;transition:opacity var(--fade) ease;display:flex;flex-direction:column}
.slide.show{opacity:1}
.slide-head{display:flex;align-items:baseline;justify-content:space-between;gap:2vw;margin-bottom:2.6vh}
.slide-title{font-size:6.4vh;font-weight:700;line-height:1.05}
.slide-title em{font-style:normal;color:var(--primary)}
.slide-sub{font-size:3.5vh;color:var(--secondary);font-weight:400;white-space:nowrap}
.fit{overflow:hidden}

/* jobs */
.jobs-list{flex:1;display:flex;flex-direction:column;gap:2.2vh;min-height:0}
.job{flex:1;min-height:0;display:flex;align-items:center;gap:2.4vw;background:rgba(255,255,255,.06);
  border-left:1vh solid var(--primary);border-radius:1.6vh;padding:1.6vh 2.4vw}
.job-main{flex:1;min-width:0}
.job-title{font-size:5.2vh;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job-meta{display:flex;flex-wrap:nowrap;gap:2.2vw;margin-top:1.2vh;font-size:3.6vh;color:var(--grey);white-space:nowrap;overflow:hidden}
.job-meta span{display:inline-flex;align-items:center;gap:.8vh;overflow:hidden;text-overflow:ellipsis}
.job-meta .ic{width:3.4vh;height:3.4vh;flex:none;color:var(--secondary)}
.job-side{flex:none;width:31vw;display:flex;flex-direction:column;align-items:flex-end;gap:1.2vh}
.job-salary{font-size:4.4vh;font-weight:700;color:var(--white);white-space:nowrap;overflow:hidden;max-width:100%;line-height:1.2}
.badge{flex:none;font-size:2.9vh;font-weight:700;padding:1.1vh 1.8vw;border-radius:5vh;background:var(--primary);color:var(--white);white-space:nowrap}
.badge.industrial-jobs{background:var(--secondary);color:var(--dark)}
.badge.office-jobs{background:var(--white);color:var(--dark)}

/* testimonial */
.testimonial{flex:1;display:grid;grid-template-columns:15vh 1fr;gap:2vw;align-items:center;padding:0 3vw;min-height:0}
.quote-mark{font-size:34vh;line-height:.6;color:var(--primary);font-weight:700;align-self:start;margin-top:7vh;font-family:Georgia,serif}
.quote-body{display:flex;flex-direction:column;justify-content:center;height:100%;min-height:0}
.quote-text{font-size:6vh;font-weight:300;line-height:1.28;max-height:46vh}
.quote-who{margin-top:4vh;display:flex;align-items:center;gap:2vw}
.quote-line{width:7vw;height:.7vh;background:var(--primary);border-radius:1vh}
.quote-name{font-size:4.6vh;font-weight:700}
.quote-role{font-size:3.6vh;color:var(--secondary)}
.quote-source{margin-left:auto;font-size:3vh;color:var(--muted);border:.3vh solid rgba(255,255,255,.3);padding:.8vh 1.6vw;border-radius:5vh;white-space:nowrap}

/* reviews */
.slide-reviews .slide-head{margin-bottom:1vh}
.rev-plats{display:flex;gap:2.4vw}
.rev-plat{display:flex;align-items:center;gap:1vh;font-size:3.2vh;white-space:nowrap}
.rev-plat b{font-size:4vh}
.rev-count{color:var(--muted);font-size:2.8vh}
.stars{display:inline-flex;gap:.2vh;letter-spacing:0}
.star{color:rgba(255,255,255,.25)}
.star.on{color:#FFC83D}
.rev-plat .stars{font-size:3vh}
.review .quote-mark{margin-top:4vh}
.review-stars{font-size:5vh;margin-bottom:1.6vh}
.review-title{font-size:4.4vh;font-weight:700;margin-bottom:1.4vh;color:var(--secondary)}
.review .quote-text{max-height:36vh;font-size:5.4vh}
.src-badge{display:inline-block;font-weight:700;font-size:2.6vh;padding:.6vh 1.2vw;border-radius:5vh;background:#fff;color:var(--dark)}
.src-badge.src-google{background:#fff;color:#1a73e8}
.src-badge.src-trustpilot{background:#00b67a;color:#fff}
.src-badge.big{margin-left:auto;font-size:3vh;padding:1vh 1.8vw}

.logo-chip{display:inline-flex;align-items:center;gap:1vh;background:#fff;border-radius:1.2vh;padding:.9vh 1.2vw;color:var(--dark);font-size:2.8vh;font-weight:700;white-space:nowrap}
.logo-chip img{height:3.2vh;width:auto;display:block}
.logo-chip.big{margin-left:auto;padding:1.2vh 1.6vw;font-size:3vh}
.logo-chip.big img{height:4.2vh}

/* news */
.news{flex:1;display:flex;flex-direction:column;gap:2.4vh;min-height:0}
.news-feature{flex:1.5;background:linear-gradient(135deg,rgba(0,171,139,.28),rgba(0,171,139,.08));border-radius:2vh;padding:3vh 3vw;display:flex;flex-direction:column;justify-content:center;min-height:0}
.news-feature .headline{font-size:6.2vh;font-weight:700;line-height:1.15;max-height:30vh}
.news-item{flex:1;background:rgba(255,255,255,.06);border-radius:2vh;padding:2vh 3vw;display:flex;flex-direction:column;justify-content:center;min-height:0}
.news-item .headline{font-size:4.2vh;font-weight:400;line-height:1.18;max-height:10.5vh}
.news-src{margin-top:1.4vh;font-size:3.2vh;color:var(--secondary)}
.news-src b{color:var(--white);font-weight:700}

/* social */
.social{flex:1;display:grid;grid-template-columns:auto 1fr;gap:3.5vw;align-items:center;min-height:0}
.social-img{height:62vh;max-width:62vh;aspect-ratio:1/1;object-fit:cover;border-radius:2vh;box-shadow:0 2vh 5vh rgba(0,0,0,.35);background:var(--darker)}
.social-body{display:flex;flex-direction:column;height:62vh;min-width:0}
.social-plat{display:flex;align-items:center;gap:1.5vh;font-size:3.6vh;font-weight:700;color:var(--secondary)}
.social-plat .pill{background:var(--primary);color:#fff;padding:.8vh 1.6vw;border-radius:5vh}
.social-text{flex:1;margin-top:2.6vh;font-size:4.4vh;line-height:1.3;font-weight:300;white-space:pre-line;min-height:0}
.social-foot{display:flex;align-items:center;gap:2vw;margin-top:2vh;font-size:3.3vh;color:var(--muted)}
.social-foot img{height:13vh;width:13vh;border-radius:1vh;background:#fff}
.social-noimg .social-body{grid-column:1/-1}

/* follow */
.follow{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5vh}
.follow h2{font-size:7vh;font-weight:700;text-align:center}
.follow h2 em{font-style:normal;color:var(--primary)}
.follow-grid{display:flex;gap:5vw}
.follow-card{display:flex;flex-direction:column;align-items:center;gap:2vh}
.follow-card img{width:30vh;height:30vh;background:#fff;border-radius:2vh;padding:1.2vh}
.follow-card .plat{font-size:4.2vh;font-weight:700}
.follow-card .handle{font-size:3.4vh;color:var(--secondary)}

.fb-wrap{flex:1;display:flex;align-items:center;justify-content:center}
.fb-wrap iframe{border:none;background:#fff;border-radius:2vh}

/* ---------- ticker ---------- */
#ticker{min-width:0;display:flex;align-items:stretch;background:var(--darker);border-top:.5vh solid var(--primary)}
#ticker-label{flex:none;display:flex;align-items:center;padding:0 2.2vw;background:var(--primary);font-weight:700;font-size:3.4vh;letter-spacing:.08em}
#ticker-viewport{flex:1;min-width:0;overflow:hidden;position:relative;display:flex;align-items:center}
#ticker-track{display:inline-flex;white-space:nowrap;will-change:transform;font-size:3.8vh;font-weight:400}
#ticker-track .t-item{padding-right:4vw}
#ticker-track .t-item::before{content:'';display:inline-block;width:1.4vh;height:1.4vh;border-radius:50%;background:var(--secondary);margin-right:1.6vw;vertical-align:middle}
#ticker-track .t-time{color:var(--secondary);margin-left:1vw;font-size:3vh}
