/* =========================================================
   TeamLink Consultants — Shared Stylesheet
   Brand colors sampled directly from the official logo:
     Navy  #1F3B73   Blue #2E8FD9
   ========================================================= */

:root{
  --navy: #1F3B73;
  --navy-dark: #142850;
  --blue: #2E8FD9;
  --blue-deep: #1C6FB0;
  --ice: #EEF5FA;
  --ice-border: #DCE5ED;
  --ink: #1B2430;
  --ink-soft: #4B5563;
  --white: #FFFFFF;
  --bg: #FFFFFF;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(20, 40, 80, 0.08);
  --shadow-soft: 0 4px 16px rgba(20, 40, 80, 0.06);
  --max: 1180px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  font-family: Calibri, "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
}
h1,h2,h3,h4{
  font-family: Cambria, "Times New Roman", serif;
  color: var(--navy);
  line-height: 1.25;
  margin: 0 0 0.5em;
}
h1{ font-size: 44px; font-weight: 700; }
h2{ font-size: 32px; font-weight: 700; }
h3{ font-size: 22px; font-weight: 700; }
p{ margin: 0 0 1em; color: var(--ink-soft); }
a{ color: var(--blue-deep); text-decoration: none; }
img{ max-width: 100%; display: block; }
.container{ max-width: var(--max); margin: 0 auto; padding: 0 28px; }
section{ padding: 84px 0; }
.section-tight{ padding: 56px 0; }
.bg-ice{ background: var(--ice); }
.bg-navy{ background: linear-gradient(155deg, var(--navy) 0%, var(--navy-dark) 100%); color: var(--white); }
.bg-navy h2, .bg-navy h3{ color: var(--white); }
.bg-navy p{ color: #C7D3E8; }

.eyebrow{
  display: inline-block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--blue-deep);
  background: var(--ice);
  border: 1px solid var(--ice-border);
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 18px;
}
.bg-navy .eyebrow{
  color: #BFE0FF;
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
}

.lede{ font-size: 18px; max-width: 640px; }

/* ---------- Buttons ---------- */
.btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-primary{ background: var(--blue); color: var(--white); }
.btn-primary:hover{ background: var(--blue-deep); transform: translateY(-2px); box-shadow: var(--shadow); }
.btn-outline{ background: transparent; border-color: var(--navy); color: var(--navy); }
.btn-outline:hover{ background: var(--navy); color: var(--white); transform: translateY(-2px); }
.bg-navy .btn-outline, .hero .btn-outline, .cta-band .btn-outline{ border-color: rgba(255,255,255,0.55); color: var(--white); }
.bg-navy .btn-outline:hover, .hero .btn-outline:hover, .cta-band .btn-outline:hover{ background: var(--white); color: var(--navy); }
.btn-row{ display: flex; gap: 16px; flex-wrap: wrap; margin-top: 28px; }

/* ---------- Header / Nav ---------- */
header.site-header{
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--ice-border);
}
.nav-wrap{
  max-width: var(--max); margin: 0 auto; padding: 14px 28px;
  display: flex; align-items: center; justify-content: space-between;
}
.brand img{ height: 76px; width: auto; display: block; image-rendering: auto; }
nav.main-nav{ display: flex; align-items: center; gap: 34px; }
nav.main-nav a{
  color: var(--ink); font-weight: 600; font-size: 15px;
  padding: 6px 2px; border-bottom: 2px solid transparent;
}
nav.main-nav a:hover, nav.main-nav a.active{ color: var(--blue-deep); border-color: var(--blue); }
.nav-cta{ display:flex; align-items:center; gap: 18px; }
.nav-toggle{ display:none; background:none; border:none; font-size: 26px; color: var(--navy); cursor:pointer; }

@media (max-width: 900px){
  nav.main-nav{
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--white); flex-direction: column; align-items: flex-start;
    padding: 18px 28px; gap: 16px; border-bottom: 1px solid var(--ice-border);
    box-shadow: var(--shadow); display: none;
    max-height: 80vh; overflow-y: auto;
  }
  nav.main-nav.open{ display: flex; }
  .nav-toggle{ display: block; }
  .nav-cta .btn-outline{ display: none; }
}

/* Services dropdown */
.has-dropdown{ position: relative; }
.dropdown-panel{
  display: none;
  position: absolute; top: 100%; left: -20px; margin-top: 14px;
  background: var(--white); border: 1px solid var(--ice-border); border-radius: 12px;
  box-shadow: var(--shadow); padding: 10px; min-width: 300px; z-index: 200;
}
.has-dropdown:hover .dropdown-panel,
.has-dropdown:focus-within .dropdown-panel{ display: block; }
.dropdown-item{ position: relative; }
.dropdown-link{
  display:flex; align-items:center; justify-content:space-between; gap: 10px;
  padding: 11px 14px; border-radius: 8px; color: var(--ink); font-weight: 600; font-size: 14.5px;
  white-space: nowrap;
}
.dropdown-link:hover{ background: var(--ice); color: var(--blue-deep); }
.dropdown-item .caret{ font-size: 11px; color: var(--ink-soft); }
.sub-panel{
  display:none;
  position:absolute; left: 100%; top: -10px; margin-left: 6px;
  background: var(--white); border: 1px solid var(--ice-border); border-radius: 12px;
  box-shadow: var(--shadow); padding: 8px; min-width: 220px;
}
.dropdown-item:hover .sub-panel, .dropdown-item:focus-within .sub-panel{ display:block; }
.sub-panel a{
  display:block; padding: 10px 14px; border-radius: 8px; color: var(--ink); font-weight: 600; font-size: 14px; white-space: nowrap;
}
.sub-panel a:hover{ background: var(--ice); color: var(--blue-deep); }

@media (max-width: 900px){
  .dropdown-panel{ position: static; display: block; box-shadow: none; border: none; padding: 4px 0 4px 14px; margin-top: 6px; }
  .has-dropdown:hover .dropdown-panel{ display: block; }
  .sub-panel{ position: static; display: block; box-shadow: none; border: none; padding: 2px 0 2px 14px; margin-left: 0; }
  .dropdown-item:hover .sub-panel{ display: block; }
}

/* ---------- Hero ---------- */
.hero{
  padding: 90px 0 70px;
  background: var(--navy) url("../images/home-hero-team-merged.png") center right / cover no-repeat;
  color: var(--white);
  position: relative;
  overflow: hidden;
}
.hero .container{ display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 50px; align-items: center; }
.hero h1{ color: var(--white); font-size: 46px; }
.hero p{ color: #C7D3E8; font-size: 18px; }
.hero-tags{ display:flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.hero-tag{
  font-size: 12.5px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase;
  padding: 8px 16px; border-radius: 999px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2); color: #EAF3FF;
}
.hero-visual{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--radius);
  padding: 30px;
  display: grid; gap: 16px;
}
.hero-stat{ display:flex; justify-content: space-between; align-items:baseline; border-bottom: 1px solid rgba(255,255,255,0.12); padding-bottom: 14px; }
.hero-stat:last-child{ border-bottom:none; padding-bottom:0; }
.hero-stat .num{ font-family: Cambria, serif; font-size: 30px; font-weight: 700; color: var(--white); }
.hero-stat .lbl{ color: #AEC3E4; font-size: 14px; text-align: right; }

@media (max-width: 880px){
  .hero .container{ grid-template-columns: 1fr; }
  .hero h1{ font-size: 34px; }
}

/* ---------- Stat strip ---------- */
.stat-strip{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.stat-card{
  background: var(--navy); color: var(--white);
  border-radius: var(--radius); padding: 26px 22px;
}
.stat-card .num{ font-family: Cambria, serif; font-size: 34px; font-weight: 700; color: #7FC1F5; }
.stat-card .lbl{ font-size: 14px; color: #C7D3E8; margin-top: 4px; }
@media (max-width: 780px){ .stat-strip{ grid-template-columns: repeat(2,1fr); } }

/* ---------- Cards / Grids ---------- */
.grid{ display: grid; gap: 24px; }
.grid-2{ grid-template-columns: repeat(2, 1fr); }
.grid-3{ grid-template-columns: repeat(3, 1fr); }
.grid-4{ grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px){ .grid-3, .grid-4{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 620px){ .grid-2, .grid-3, .grid-4{ grid-template-columns: 1fr; } }

.card{
  background: var(--white);
  border: 1px solid var(--ice-border);
  border-radius: var(--radius);
  padding: 28px;
  box-shadow: var(--shadow-soft);
}
.icon-badge{
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--ice); border: 1px solid var(--ice-border);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; margin-bottom: 16px; color: var(--blue-deep); font-weight:700;
}
.bg-navy .icon-badge{ background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); color: var(--white); }

.industry-card{
  background: var(--white); border: 1px solid var(--ice-border); border-radius: var(--radius);
  padding: 30px; box-shadow: var(--shadow-soft); transition: transform .15s ease, box-shadow .15s ease;
  display:flex; flex-direction:column; height: 100%;
}
.industry-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow); }
.industry-card .tag{
  align-self:flex-start; font-size:11.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
  color: var(--blue-deep); background: var(--ice); border:1px solid var(--ice-border);
  padding: 5px 12px; border-radius: 999px; margin-bottom: 14px;
}
.industry-card ul{ margin: 14px 0 0; padding-left: 18px; color: var(--ink-soft); font-size: 14.5px; }
.industry-card ul li{ margin-bottom: 6px; }
.industry-card .go{ margin-top: auto; padding-top: 18px; font-weight: 700; color: var(--blue-deep); }

/* Section header helper */
.sec-head{ max-width: 680px; margin-bottom: 44px; }
.sec-head.center{ margin-left: auto; margin-right: auto; text-align: center; }

/* Process steps */
.steps{ display: grid; grid-template-columns: repeat(7, 1fr); gap: 16px; }
@media (max-width: 1000px){ .steps{ grid-template-columns: repeat(4,1fr); } }
@media (max-width: 620px){ .steps{ grid-template-columns: repeat(2,1fr); } }
.step{ text-align: left; }
.step .n{
  width: 34px; height: 34px; border-radius: 50%; background: var(--blue); color: var(--white);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; margin-bottom: 12px;
}
.step h4{ font-size: 15px; color: var(--navy); margin-bottom: 6px; }
.step p{ font-size: 13.5px; margin: 0; }

/* Numbered / checklist rows */
.check-list{ list-style:none; margin:0; padding:0; display:grid; gap: 14px; }
.check-list li{ display:flex; gap: 12px; align-items:flex-start; color: var(--ink-soft); font-size: 15px; }
.check-list li::before{
  content: "✓"; flex-shrink:0; width: 22px; height: 22px; border-radius:50%;
  background: var(--blue); color: var(--white); font-size: 12px; font-weight:700;
  display:flex; align-items:center; justify-content:center; margin-top:2px;
}

/* Table (comparison) */
.compare{ width: 100%; border-collapse: collapse; }
.compare th, .compare td{ padding: 14px 16px; text-align:left; border-bottom: 1px solid var(--ice-border); font-size: 14.5px; }
.compare th{ color: var(--navy); font-family: Cambria, serif; font-size: 15px; }
.compare td.win{ color: var(--blue-deep); font-weight: 700; }
.compare tr:last-child td{ border-bottom:none; }

/* CTA band */
.cta-band{
  border-radius: 20px; padding: 56px; text-align:center;
  background: linear-gradient(155deg, var(--navy) 0%, var(--navy-dark) 100%); color: var(--white);
}
.cta-band h2{ color: var(--white); }
.cta-band p{ color: #C7D3E8; max-width: 560px; margin-left:auto; margin-right:auto; }
.cta-band .btn-row{ justify-content:center; }

/* Footer */
footer.site-footer{ background: var(--navy-dark); color: #B9C6DD; padding: 60px 0 26px; }
footer.site-footer h4{ color: var(--white); font-size: 15px; margin-bottom: 16px; }
footer.site-footer a{ color: #B9C6DD; }
footer.site-footer a:hover{ color: var(--white); }
.footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 36px; }
.footer-brand{ padding-top:0; }
.footer-grid p{ color: #8FA0BE; font-size: 14px; }
.footer-grid ul{ list-style:none; margin:0; padding:0; display:grid; gap: 10px; font-size: 14.5px; }
.footer-bottom{
  margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.08);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap: 10px; font-size: 13px; color: #8FA0BE;
}
@media (max-width: 780px){ .footer-grid{ grid-template-columns: 1fr 1fr; } }

/* Page hero (interior pages) */
.page-hero{
  background: linear-gradient(155deg, var(--navy) 0%, var(--navy-dark) 100%);
  color: var(--white); padding: 64px 0;
}
.page-hero h1{ color: var(--white); font-size: 38px; margin-bottom: 10px; }
.page-hero p{ color: #C7D3E8; max-width: 640px; }
.breadcrumb{ font-size: 13px; color: #9EB3D6; margin-bottom: 14px; }
.breadcrumb a{ color: #9EB3D6; }

/* Chip list (roles / sectors) */
.chip-list{ display:flex; flex-wrap:wrap; gap: 10px; }
.chip{
  font-size: 13.5px; font-weight: 600; padding: 9px 16px; border-radius: 999px;
  background: var(--ice); border: 1px solid var(--ice-border); color: var(--navy);
}

/* Two-column feature */
.split{ display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items:center; }
@media (max-width: 880px){ .split{ grid-template-columns: 1fr; } }

/* Contact page */
.contact-grid{ display:grid; grid-template-columns: 0.9fr 1.1fr; gap: 44px; }
@media (max-width: 880px){ .contact-grid{ grid-template-columns: 1fr; } }
.contact-item{ display:flex; gap:14px; align-items:flex-start; margin-bottom: 22px; }
.contact-item .icon-badge{ margin-bottom:0; flex-shrink:0; }
.contact-item h4{ margin:0 0 4px; font-size:15px; color: var(--navy); }
.contact-item p, .contact-item a{ margin:0; font-size: 14.5px; }

form.lead-form{ display:grid; gap: 16px; }
form.lead-form label{ font-size: 13.5px; font-weight: 700; color: var(--navy); margin-bottom: 6px; display:block; }
form.lead-form input, form.lead-form select, form.lead-form textarea{
  width: 100%; padding: 13px 14px; border-radius: 10px; border: 1px solid var(--ice-border);
  font-family: inherit; font-size: 14.5px; color: var(--ink); background: var(--white);
}
form.lead-form input:focus, form.lead-form select:focus, form.lead-form textarea:focus{ outline: 2px solid var(--blue); outline-offset: 1px; }
.form-row-2{ display:grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px){ .form-row-2{ grid-template-columns: 1fr; } }

/* Social icons */
.social-row{ display:flex; gap: 10px; margin-top: 18px; }
.social-icon{
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18);
  color: #C7D3E8; display:flex; align-items:center; justify-content:center;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
a.social-icon:hover{ background: var(--blue); color: var(--white); transform: translateY(-2px); }
.social-icon-pending{ opacity: 0.45; cursor: default; }

/* Image hero / feature blocks */
.hero-photo{
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,0.12);
}
.hero-photo img{ width: 100%; height: 100%; object-fit: cover; display:block; }

.img-card{
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--ice-border);
}
.img-card img{ width: 100%; display:block; }

.feature-media{
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.feature-media img{ width:100%; height: 100%; object-fit: cover; display:block; }

.industry-thumb{
  border-radius: 10px; overflow:hidden; margin-bottom: 16px; height: 140px;
}
.industry-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Utility */
.mt-0{ margin-top:0; }
.center{ text-align:center; }
.small{ font-size: 13.5px; }

/* Image sections added to improve visual presentation */
.tl-image-section{padding:70px 0}
.tl-image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.tl-image-card{overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(15,31,52,.10)}
.tl-image-card img{display:block;width:100%;height:230px;object-fit:cover}
.tl-image-card .tl-image-copy{padding:18px 20px}
.tl-image-card h3{margin:0 0 7px}
.tl-image-card p{margin:0}
@media(max-width:800px){.tl-image-grid{grid-template-columns:1fr}.tl-image-card img{height:220px}}

/* Home page extended image gallery */
.tl-home-gallery{padding:78px 0}
.tl-home-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}
.tl-home-gallery-card{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,31,52,.10);transition:transform .25s ease}
.tl-home-gallery-card:hover{transform:translateY(-5px)}
.tl-home-gallery-card img{display:block;width:100%;height:210px;object-fit:cover}
.tl-home-gallery-copy{padding:18px 20px}
.tl-home-gallery-copy h3{margin:0 0 7px}
.tl-home-gallery-copy p{margin:0}
@media(max-width:1000px){.tl-home-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tl-home-gallery-grid{grid-template-columns:1fr}}

/* Hero visual image */
.hero-image-wrap{
  width:100%;
  height:190px;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.16);
  margin-bottom:2px;
}
.hero-image-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
@media (max-width:880px){
  .hero-image-wrap{height:220px}
}

/* Reference-inspired About page imagery */
.tl-about-intro{padding:85px 0;background:#fff}
.tl-about-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.tl-about-intro-image{overflow:hidden;border-radius:22px;min-height:430px;box-shadow:0 18px 45px rgba(15,31,52,.12)}
.tl-about-intro-image img{width:100%;height:100%;min-height:430px;display:block;object-fit:cover}
.tl-about-intro-copy .eyebrow{display:inline-block;margin-bottom:12px}
.tl-about-intro-copy h2{font-size:clamp(32px,4vw,52px);line-height:1.08;margin:0 0 20px}
.tl-about-intro-copy p{line-height:1.8;margin:0 0 16px}
.tl-about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:35px;border-radius:18px;overflow:hidden;background:#f4f7fb}
.tl-about-stat{padding:28px 22px;text-align:center;border-right:1px solid rgba(15,31,52,.08)}
.tl-about-stat:last-child{border-right:0}
.tl-about-stat strong{display:block;font-size:32px;line-height:1.1;margin-bottom:7px}
.tl-about-stat span{font-size:14px}
.tl-team-section{padding:85px 0;background:#f7f9fc}
.tl-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:35px}
.tl-team-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(15,31,52,.09)}
.tl-team-card img{display:block;width:100%;height:260px;object-fit:cover}
.tl-team-card-copy{padding:18px 20px}
.tl-team-card-copy h3{margin:0 0 5px}
.tl-team-card-copy p{margin:0}
@media(max-width:950px){.tl-about-intro-grid{grid-template-columns:1fr}.tl-team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tl-team-grid{grid-template-columns:1fr}.tl-about-stats{grid-template-columns:1fr}.tl-about-stat{border-right:0;border-bottom:1px solid rgba(15,31,52,.08)}.tl-about-stat:last-child{border-bottom:0}}

/* Large professional visual sections */
.tl-visual{padding:90px 0;background:#fff}
.tl-visual.alt{background:#f6f8fb}
.tl-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.tl-visual.reverse .tl-visual-image{order:2}
.tl-visual-image{min-height:430px;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(15,31,52,.14)}
.tl-visual-image img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block}
.tl-visual-copy .eyebrow{display:inline-block;margin-bottom:12px}
.tl-visual-copy h2{font-size:clamp(32px,4vw,52px);line-height:1.08;margin:0 0 20px}
.tl-visual-copy p{line-height:1.8;margin:0 0 16px}
.tl-visual-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.tl-visual-point{padding:15px 17px;border:1px solid rgba(15,31,52,.10);border-radius:12px;background:#fff}
.tl-visual-point strong{display:block;margin-bottom:4px}
.tl-visual-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}
.tl-visual-card{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 10px 32px rgba(15,31,52,.10)}
.tl-visual-card img{width:100%;height:250px;object-fit:cover;display:block}
.tl-visual-card div{padding:18px 20px}
.tl-visual-card h3{margin:0 0 6px}
.tl-visual-card p{margin:0}
@media(max-width:950px){.tl-visual-grid{grid-template-columns:1fr}.tl-visual.reverse .tl-visual-image{order:0}.tl-visual-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tl-visual-points{grid-template-columns:1fr}.tl-visual-cards{grid-template-columns:1fr}.tl-visual-image,.tl-visual-image img{min-height:300px}}

/* Large image at the top of every main website section */
.tl-section-top-image{
  width:100%;
  max-width:1180px;
  height:300px;
  margin:0 auto 42px;
  overflow:hidden;
  border-radius:24px;
  box-shadow:0 16px 42px rgba(15,31,52,.14);
}
.tl-section-top-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
section.hero .tl-section-top-image,
section.page-hero .tl-section-top-image{
  max-width:100%;
  height:360px;
  border-radius:0 0 26px 26px;
  margin-bottom:40px;
}
@media(max-width:900px){
  .tl-section-top-image{height:240px;margin-bottom:30px;border-radius:18px}
  section.hero .tl-section-top-image,
  section.page-hero .tl-section-top-image{height:280px}
}
@media(max-width:600px){
  .tl-section-top-image{height:190px;margin-bottom:24px}
  section.hero .tl-section-top-image,
  section.page-hero .tl-section-top-image{height:220px}
}

/* Professional reference-style image blocks */
.tl-pro-image-block{padding:72px 0}
.tl-pro-image-block.alt{background:#f6f8fb}
.tl-pro-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.tl-pro-image-grid.reverse .tl-pro-image{order:2}
.tl-pro-image{height:390px;border-radius:22px;overflow:hidden;box-shadow:0 16px 42px rgba(15,31,52,.12)}
.tl-pro-image img{width:100%;height:100%;display:block;object-fit:cover}
.tl-pro-copy h2{font-size:clamp(30px,3.6vw,48px);line-height:1.1;margin:0 0 16px}
.tl-pro-copy p{line-height:1.8;margin:0 0 14px}
.tl-pro-copy .eyebrow{display:inline-block;margin-bottom:10px}
.tl-pro-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.tl-pro-card{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(15,31,52,.09)}
.tl-pro-card img{width:100%;height:220px;object-fit:cover;display:block}
.tl-pro-card div{padding:17px 19px}
.tl-pro-card h3{margin:0 0 6px}
.tl-pro-card p{margin:0;line-height:1.6}
@media(max-width:900px){.tl-pro-image-grid{grid-template-columns:1fr}.tl-pro-image-grid.reverse .tl-pro-image{order:0}.tl-pro-cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tl-pro-image{height:290px}.tl-pro-cards{grid-template-columns:1fr}}

/* Reference-style editorial image sections */
.ref-section{padding:78px 0}
.ref-section.soft{background:#f7f9fc}
.ref-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ref-row.reverse .ref-photo{order:2}
 .ref-photo{height:410px;border-radius:20px;overflow:hidden}
.ref-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ref-photo.recruitment-illustration{background:#fff;display:flex;align-items:center;justify-content:center;overflow:visible}
.ref-photo.recruitment-illustration img{width:100%;height:100%;object-fit:contain;object-position:center}
.ref-copy .eyebrow{display:inline-block;margin-bottom:10px}
.ref-copy h2{font-size:clamp(30px,3.5vw,48px);line-height:1.1;margin:0 0 18px}
.ref-copy p{font-size:16px;line-height:1.8;margin:0 0 14px}
.ref-list{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ref-list div{padding:14px 16px;background:#fff;border-radius:10px}
.ref-list strong{display:block;margin-bottom:3px}
.ref-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.ref-mini{overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(15,31,52,.08)}
.ref-mini img{width:100%;height:210px;object-fit:cover;display:block}
.ref-mini div{padding:18px}
.ref-mini h3{margin:0 0 6px}
.ref-mini p{margin:0;line-height:1.6}
@media(max-width:900px){.ref-row{grid-template-columns:1fr;gap:32px}.ref-row.reverse .ref-photo{order:0}.ref-mini-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ref-photo{height:290px}.ref-list,.ref-mini-grid{grid-template-columns:1fr}}

/* Reference-style page hero photography: different image for each page */
.hero-home,
.hero-about,
.hero-services,
.hero-contact,
.hero-process{
  position:relative;
  background-size:cover;
  background-position:center;
  color:#fff;
  isolation:isolate;
}
.hero-home::before,
.hero-about::before,
.hero-services::before,
.hero-contact::before,
.hero-process::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.48);
  z-index:-1;
}
.hero-home{background-image:url("../images/education-boardroom.jpeg");}
.hero-about{background-image:url("../images/about-banner.png");background-size:100% 100%;background-position:center;background-repeat:no-repeat;}
.hero-services{background-image:url("../images/services-hero-new.png");}
.hero-contact{background-image:url("../images/contact-team-hero.png");}
.hero-process{background-image:url("../images/process-recruitment-updated.jpg");}

.hero-home{min-height:480px;display:flex;align-items:center}
.hero-home .container{position:relative;z-index:1}
.hero-about,.hero-services,.hero-contact,.hero-process{
  min-height:390px;
  display:flex;
  align-items:center;
}
.hero-about .container,.hero-services .container,.hero-contact .container,.hero-process .container{
  position:relative;
  z-index:1;
}
.hero-about .breadcrumb,.hero-services .breadcrumb,.hero-contact .breadcrumb,.hero-process .breadcrumb{
  display:inline-block;
  padding:9px 15px;
  border-radius:10px;
  background:rgba(255,255,255,.22);
  backdrop-filter:blur(4px);
}
.hero-about h1,.hero-services h1,.hero-contact h1,.hero-process h1{
  max-width:850px;
  text-shadow:0 3px 18px rgba(0,0,0,.25);
}
@media(max-width:700px){
  .hero-home{min-height:520px}
  .hero-about,.hero-services,.hero-contact,.hero-process{min-height:350px}
}


/* Services hero slideshow: one image every 3 seconds */
.services-hero-slideshow{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#071522;
}
.services-hero-slideshow::before{display:none}
.services-hero-slides,.services-hero-overlay{
  position:absolute;
  inset:0;
}
.services-hero-slides{z-index:-3}
.services-hero-overlay{
  z-index:-2;
  background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.34) 55%,rgba(0,0,0,.42));
}
.services-hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.03);
  transition:opacity .8s ease,transform 4s ease;
}
.services-hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.services-hero-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.services-hero-slideshow .container{z-index:2}
@media(max-width:700px){
  .services-hero-slide img{object-position:center}
}
@media(prefers-reduced-motion:reduce){
  .services-hero-slide{transition:none}
}

/* Content-based professional imagery */
.content-image-section{padding:78px 0}
.content-image-section.soft{background:#f7f9fc}
.content-image-row{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.content-image-row.reverse .content-photo{order:2}
.content-photo{height:400px;border-radius:20px;overflow:hidden;box-shadow:0 14px 38px rgba(15,31,52,.12)}
.content-photo img{width:100%;height:100%;object-fit:cover;display:block}
.content-photo.full-image-fit{background:#fff;display:flex;align-items:center;justify-content:center}
.content-photo.full-image-fit img{object-fit:contain;object-position:center}
.content-copy h2{font-size:clamp(30px,3.4vw,48px);line-height:1.1;margin:0 0 16px}
.content-copy p{line-height:1.8;margin:0 0 14px}
.content-copy .eyebrow{display:inline-block;margin-bottom:10px}
.content-image-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.content-image-card{background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 8px 28px rgba(15,31,52,.09)}
.content-image-card img{width:100%;height:220px;object-fit:cover;display:block}
.content-image-card div{padding:18px}
.content-image-card h3{margin:0 0 6px}
.content-image-card p{margin:0;line-height:1.6}
@media(max-width:900px){.content-image-row{grid-template-columns:1fr}.content-image-row.reverse .content-photo{order:0}.content-image-cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.content-photo{height:290px}.content-image-cards{grid-template-columns:1fr}}

/* Home hero image is merged into the background; no separate image card. */
.hero-home .hero-visual{
  background: rgba(7,24,48,.34);
  backdrop-filter: blur(1px);
}
.home-intro-no-image{
  grid-template-columns: 1fr;
}
.home-intro-no-image .content-copy{
  max-width: 900px;
  margin: 0 auto;
}
@media(max-width:880px){
  .hero{
    background-position: 68% center;
  }
  .hero-home .hero-visual{
    background: rgba(7,24,48,.48);
  }
}

/* Contact location map */
.location-map {
  margin: -4px 0 26px 66px;
  width: calc(100% - 66px);
  max-width: 520px;
  height: 230px;
  border: 1px solid #d7e3ee;
  border-radius: 16px;
  overflow: hidden;
  background: #eef5fa;
  box-shadow: 0 8px 22px rgba(27, 67, 104, 0.08);
}
.location-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
@media (max-width: 700px) {
  .location-map {
    margin: -2px 0 24px 0;
    width: 100%;
    max-width: none;
    height: 220px;
  }
}


/* ---------- Home: Key Recruitment Areas ---------- */
.key-recruitment-section{
  position:relative;
  overflow:hidden;
  padding:68px 0 72px;
  background:
    radial-gradient(circle at 94% 12%, rgba(238,245,250,.92) 0 74px, rgba(238,245,250,.45) 75px 112px, transparent 113px),
    radial-gradient(circle at 99% 30%, rgba(238,245,250,.72) 0 54px, transparent 55px),
    linear-gradient(180deg,#f8fbfe 0%,#f6f9fc 100%);
}
.key-recruitment-section::before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  border-radius:50%;
  top:-104px;
  right:-22px;
  background:rgba(225,239,250,.58);
  pointer-events:none;
}
.key-recruitment-section .container{
  max-width:1710px;
  position:relative;
  z-index:1;
}
.key-recruitment-heading{
  margin-bottom:42px;
}
.key-recruitment-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 22px;
  border-radius:999px;
  background:rgba(226,241,252,.78);
  color:#1386cf;
  font-family:Calibri,"Segoe UI",Arial,sans-serif;
  font-size:17px;
  font-weight:700;
  letter-spacing:1.15px;
}
.key-recruitment-heading h2{
  margin:2px 0 0;
  font-size:clamp(40px,4.1vw,58px);
  line-height:1.12;
  letter-spacing:-.6px;
  color:#1f3b73;
}
.key-recruitment-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:44px;
}
.key-recruitment-card{
  overflow:hidden;
  min-width:0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 8px 28px rgba(20,40,80,.07);
}
.key-recruitment-image{
  height:370px;
  overflow:hidden;
  background:#eaf1f6;
}
.key-recruitment-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.key-recruitment-card:nth-child(1) .key-recruitment-image img{
  object-position:center;
}
.key-recruitment-card:nth-child(2) .key-recruitment-image img{
  object-position:center;
}
.key-recruitment-card:nth-child(3) .key-recruitment-image img{
  object-position:center;
}
.key-recruitment-content{
  min-height:252px;
  padding:31px 50px 34px;
}
.key-recruitment-content h3{
  margin:0 0 20px;
  color:#1f3b73;
  font-size:36px;
  line-height:1.15;
}
.key-recruitment-content p{
  margin:0;
  color:#52647a;
  font-size:21px;
  line-height:1.55;
}
@media(max-width:1050px){
  .key-recruitment-grid{gap:24px}
  .key-recruitment-image{height:300px}
  .key-recruitment-content{padding:26px 30px 30px;min-height:220px}
  .key-recruitment-content h3{font-size:30px}
  .key-recruitment-content p{font-size:18px}
}
@media(max-width:760px){
  .key-recruitment-section{padding:54px 0 58px}
  .key-recruitment-heading{margin-bottom:30px}
  .key-recruitment-heading h2{font-size:39px}
  .key-recruitment-grid{grid-template-columns:1fr;gap:24px}
  .key-recruitment-image{height:300px}
  .key-recruitment-content{min-height:0;padding:24px 28px 28px}
}

/* Supplied reference design: Professional Solutions Across Industries */
.professional-solutions-section{
  padding: 0 0 34px;
  background: #f5f7fa;
}
.professional-solutions-section .container{
  max-width: 1244px;
  padding-left: 64px;
  padding-right: 55px;
}
.professional-solutions-section .section-heading{
  margin: 0 0 40px;
}
.professional-solutions-section .section-heading h2{
  margin: 0;
  font-size: 32px;
  line-height: 1.15;
  color: #1f3b73;
  letter-spacing: -.2px;
}
.professional-solutions-section .tl-visual-cards{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 22px;
  margin-top: 0;
}
.professional-solutions-section .tl-visual-card{
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(20,40,80,.10);
}
.professional-solutions-section .tl-visual-card img{
  width: 100%;
  height: 250px;
  object-fit: cover;
}
.professional-solutions-section .tl-visual-card div{
  min-height: 120px;
  padding: 17px 20px 18px;
}
.professional-solutions-section .tl-visual-card h3{
  margin: 0 0 5px;
  font-size: 22px;
  line-height: 1.25;
  color: #1f3b73;
}
.professional-solutions-section .tl-visual-card p{
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: #52647a;
}
@media(max-width:950px){
  .professional-solutions-section .container{padding-left:28px;padding-right:28px}
  .professional-solutions-section .tl-visual-cards{grid-template-columns:repeat(2,1fr)}
  .professional-solutions-section .tl-visual-card img{height:250px}
}
@media(max-width:600px){
  .professional-solutions-section{padding-bottom:30px}
  .professional-solutions-section .section-heading{margin-bottom:28px}
  .professional-solutions-section .section-heading h2{font-size:30px}
  .professional-solutions-section .tl-visual-cards{grid-template-columns:1fr}
  .professional-solutions-section .tl-visual-card img{height:230px}
  .desktop-break{display:none}
}


/* Home page only: arrange the four Solutions cards in 2 rows of 2 */
.home-page .tl-image-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:800px){
  .home-page .tl-image-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   TeamLink Premium Motion & Interaction Layer
   Keeps existing content, structure and brand assets intact.
   ========================================================= */

:root{
  --motion-fast: 180ms;
  --motion-base: 360ms;
  --motion-slow: 700ms;
  --ease-premium: cubic-bezier(.22,1,.36,1);
}

/* Glass navigation */
header.site-header{
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 1px 0 rgba(20,40,80,.06);
  transition: background var(--motion-base) ease, box-shadow var(--motion-base) ease, padding var(--motion-base) ease;
}
header.site-header.scrolled{
  background: rgba(255,255,255,.91);
  box-shadow: 0 12px 34px rgba(20,40,80,.10);
}
.nav-wrap{ min-height: 70px; }
.brand img{
  transition: transform var(--motion-base) var(--ease-premium), filter var(--motion-base) ease;
}
.brand:hover img{ transform: translateY(-1px) scale(1.025); }

/* Premium buttons: lift + subtle shine */
.btn{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform var(--motion-base) var(--ease-premium), box-shadow var(--motion-base) ease, background var(--motion-base) ease, color var(--motion-base) ease;
}
.btn::after{
  content:"";
  position:absolute;
  top:-70%;
  left:-120%;
  width:58%;
  height:240%;
  background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,.08) 42%, rgba(255,255,255,.55) 50%, rgba(255,255,255,.08) 58%, transparent 100%);
  transform: rotate(12deg);
  transition: left .8s var(--ease-premium);
  pointer-events:none;
  z-index:-1;
}
.btn:hover::after{ left:145%; }
.btn:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(20,40,80,.16);
}
.btn:active{ transform: translateY(-1px) scale(.985); }

/* Hero entrance */
.hero{
  min-height: 560px;
  background-position: center right;
  background-size: cover;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 75% 35%, rgba(46,143,217,.22), transparent 30%),
    radial-gradient(circle at 20% 85%, rgba(255,255,255,.07), transparent 28%);
  animation: heroGlow 12s ease-in-out infinite alternate;
  pointer-events:none;
}
.hero .container{ position:relative; z-index:1; }
.hero .container > div:first-child > *{
  animation: heroEnter .8s var(--ease-premium) both;
}
.hero .container > div:first-child > :nth-child(2){ animation-delay:.08s; }
.hero .container > div:first-child > :nth-child(3){ animation-delay:.16s; }
.hero .container > div:first-child > :nth-child(4){ animation-delay:.24s; }
.hero .container > div:first-child > :nth-child(5){ animation-delay:.32s; }
.hero-visual{
  animation: heroVisualEnter .95s var(--ease-premium) .18s both, heroFloat 7s ease-in-out 1.2s infinite;
  box-shadow: 0 24px 70px rgba(0,0,0,.16);
}

/* Interior hero motion */
.page-hero,
.hero-contact{ position:relative; overflow:hidden; }
.page-hero::after,
.hero-contact::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-180px;
  top:-220px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(46,143,217,.25), transparent 68%);
  animation: heroOrb 10s ease-in-out infinite alternate;
  pointer-events:none;
}
.page-hero .container,
.hero-contact .container{ position:relative; z-index:1; }

/* Scroll reveal */
[data-reveal]{
  opacity:0;
  transform: translate3d(0,34px,0);
  transition: opacity .72s var(--ease-premium), transform .72s var(--ease-premium);
  will-change: opacity, transform;
}
[data-reveal="left"]{ transform: translate3d(-42px,0,0); }
[data-reveal="right"]{ transform: translate3d(42px,0,0); }
[data-reveal="scale"]{ transform: translate3d(0,18px,0) scale(.96); }
[data-reveal].is-visible{
  opacity:1;
  transform: translate3d(0,0,0) scale(1);
}
[data-reveal-delay="1"]{ transition-delay:80ms; }
[data-reveal-delay="2"]{ transition-delay:160ms; }
[data-reveal-delay="3"]{ transition-delay:240ms; }
[data-reveal-delay="4"]{ transition-delay:320ms; }

/* Premium service/card treatment */
.card,
.industry-card,
.tl-image-card,
.tl-home-gallery-card,
.key-recruitment-card,
.tl-visual-card,
.img-card,
.feature-media{
  position:relative;
  overflow:hidden;
  transition: transform .5s var(--ease-premium), box-shadow .5s var(--ease-premium), border-color .5s ease;
}
.card::before,
.industry-card::before,
.tl-image-card::before,
.tl-home-gallery-card::before,
.key-recruitment-card::before,
.tl-visual-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(46,143,217,.10), transparent 38%, rgba(255,255,255,.12));
  opacity:0;
  transition: opacity .5s ease;
  pointer-events:none;
}
.card:hover,
.industry-card:hover,
.tl-image-card:hover,
.tl-home-gallery-card:hover,
.key-recruitment-card:hover,
.tl-visual-card:hover{
  transform: translateY(-9px);
  box-shadow: 0 24px 55px rgba(20,40,80,.14);
  border-color: rgba(46,143,217,.30);
}
.card:hover::before,
.industry-card:hover::before,
.tl-image-card:hover::before,
.tl-home-gallery-card:hover::before,
.key-recruitment-card:hover::before,
.tl-visual-card:hover::before{ opacity:1; }

.industry-card .industry-thumb,
.tl-image-card img,
.tl-home-gallery-card img,
.key-recruitment-image img,
.tl-visual-card img{
  transition: transform .8s var(--ease-premium), filter .6s ease;
}
.industry-card:hover .industry-thumb img,
.tl-image-card:hover img,
.tl-home-gallery-card:hover img,
.key-recruitment-card:hover img,
.tl-visual-card:hover img{
  transform: scale(1.06);
  filter: saturate(1.08);
}

/* Floating/jumping image effect */
.tl-image-card:nth-child(odd),
.tl-home-gallery-card:nth-child(3n+1){
  animation: cardFloat 6s ease-in-out infinite;
}
.tl-image-card:nth-child(even),
.tl-home-gallery-card:nth-child(3n+2){
  animation: cardFloat 7s ease-in-out 1s infinite;
}
.tl-home-gallery-card:nth-child(3n){
  animation: cardFloat 6.5s ease-in-out 1.7s infinite;
}
.tl-image-card:hover,
.tl-home-gallery-card:hover{ animation-play-state:paused; }

/* Image depth */
.hero-photo img,
.feature-media img,
.tl-about-intro-image img,
.content-photo img,
.ref-photo img{
  transition: transform 1s var(--ease-premium), filter .8s ease;
}
.hero-photo:hover img,
.feature-media:hover img,
.tl-about-intro-image:hover img,
.content-photo:hover img,
.ref-photo:hover img{
  transform: scale(1.035);
  filter: saturate(1.05);
}

/* Section rhythm and typography */
section{ padding: 92px 0; }
.sec-head{ margin-bottom: 50px; }
.section-heading h2{ letter-spacing:-.02em; }
h1{ letter-spacing:-.025em; }
h2{ letter-spacing:-.018em; }
p{ line-height:1.72; }

/* Animated counters */
.counter-ready{
  font-variant-numeric: tabular-nums;
  display:inline-block;
  min-width: 1ch;
}
.counter-pop{
  animation: counterPop .55s var(--ease-premium);
}

/* Stat cards */
.stat-card{
  transition: transform .45s var(--ease-premium), box-shadow .45s var(--ease-premium);
}
.stat-card:hover{
  transform: translateY(-7px) scale(1.015);
  box-shadow: 0 20px 42px rgba(20,40,80,.18);
}

/* Process numbers */
.step .n{
  transition: transform .45s var(--ease-premium), box-shadow .45s ease;
}
.step:hover .n{
  transform: translateY(-5px) scale(1.08);
  box-shadow: 0 10px 24px rgba(46,143,217,.30);
}

/* Contact/form polish */
form.lead-form input,
form.lead-form select,
form.lead-form textarea{
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
form.lead-form input:focus,
form.lead-form select:focus,
form.lead-form textarea:focus{
  box-shadow: 0 8px 22px rgba(46,143,217,.10);
  transform: translateY(-1px);
}

/* Mobile polish */
@media (max-width: 900px){
  header.site-header{ background: rgba(255,255,255,.94); }
  .nav-wrap{ padding: 11px 22px; }
  .brand img{ height: 76px; width: auto; display: block; image-rendering: auto; }
  section{ padding: 70px 0; }
  .hero{ min-height: auto; padding: 76px 0 62px; }
  .hero-visual{ animation: heroVisualEnter .95s var(--ease-premium) .18s both; }
}
@media (max-width: 620px){
  h1{ font-size: 34px; }
  h2{ font-size: 28px; }
  section{ padding: 62px 0; }
  .container{ padding: 0 20px; }
  .hero-tags{ gap:8px; }
  .hero-tag{ padding:7px 12px; }
  .btn{ padding:13px 21px; }
}

/* Respect accessibility preferences */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  [data-reveal]{ opacity:1 !important; transform:none !important; }
}

/* Lightweight keyframes */
@keyframes heroEnter{
  from{ opacity:0; transform:translate3d(0,24px,0); }
  to{ opacity:1; transform:none; }
}
@keyframes heroVisualEnter{
  from{ opacity:0; transform:translate3d(34px,18px,0) scale(.96); }
  to{ opacity:1; transform:translate3d(0,0,0) scale(1); }
}
@keyframes heroFloat{
  0%,100%{ transform:translate3d(0,0,0); }
  50%{ transform:translate3d(0,-8px,0); }
}
@keyframes heroGlow{
  from{ transform:translate3d(-2%,0,0) scale(1); }
  to{ transform:translate3d(2%,-1%,0) scale(1.04); }
}
@keyframes heroOrb{
  from{ transform:translate3d(0,0,0) scale(1); }
  to{ transform:translate3d(-35px,30px,0) scale(1.12); }
}
@keyframes cardFloat{
  0%,100%{ transform:translate3d(0,0,0); }
  50%{ transform:translate3d(0,-5px,0); }
}
@keyframes counterPop{
  0%{ transform:scale(.94); opacity:.6; }
  100%{ transform:scale(1); opacity:1; }
}

.page-hero .container > *,
.hero-contact .container > *{
  animation: heroEnter .8s var(--ease-premium) both;
}
.page-hero .container > :nth-child(2),
.hero-contact .container > :nth-child(2){ animation-delay:.10s; }
.page-hero .container > :nth-child(3),
.hero-contact .container > :nth-child(3){ animation-delay:.18s; }

/* =========================================================
   TeamLink Image Enhancement Layer
   Applies the requested image treatments without changing
   image files, content, layout structure or branding.
   ========================================================= */

:root{
  --image-radius: 22px;
  --image-shadow: 0 18px 46px rgba(20,40,80,.14);
  --image-shadow-hover: 0 28px 65px rgba(20,40,80,.20);
  --image-border: rgba(220,229,237,.9);
  --image-glass: rgba(255,255,255,.16);
}

/* Consistent image rendering: prevents stretching and distortion. */
.tl-image-enhanced{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  object-position:center;
  border-radius:var(--image-radius);
  border:1px solid var(--image-border);
  box-shadow:var(--image-shadow);
  filter:brightness(.98) contrast(1.03) saturate(1.04);
  backface-visibility:hidden;
  transform:translate3d(0,0,0);
  transition:
    transform .75s var(--ease-premium),
    filter .55s ease,
    box-shadow .55s ease,
    border-color .45s ease;
  will-change:transform;
}

/* Image containers get a premium depth/glass frame. */
.tl-image-frame{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:calc(var(--image-radius) + 4px);
  background:linear-gradient(145deg, rgba(255,255,255,.82), rgba(238,245,250,.72));
  border:1px solid rgba(220,229,237,.95);
  box-shadow:var(--image-shadow);
  padding:7px;
}
.tl-image-frame::before{
  content:"";
  position:absolute;
  inset:7px;
  z-index:1;
  border-radius:var(--image-radius);
  background:linear-gradient(135deg, rgba(255,255,255,.24), transparent 42%, rgba(46,143,217,.10));
  pointer-events:none;
  opacity:.9;
}
.tl-image-frame::after{
  content:"";
  position:absolute;
  width:42%;
  height:180%;
  left:-70%;
  top:-40%;
  z-index:2;
  background:linear-gradient(105deg, transparent 0%, rgba(255,255,255,.05) 42%, rgba(255,255,255,.42) 50%, rgba(255,255,255,.05) 58%, transparent 100%);
  transform:rotate(14deg);
  transition:left .9s var(--ease-premium);
  pointer-events:none;
}
.tl-image-frame:hover::after{ left:130%; }
.tl-image-frame:hover{
  box-shadow:var(--image-shadow-hover);
  border-color:rgba(46,143,217,.30);
}
.tl-image-frame:hover .tl-image-enhanced{
  transform:scale(1.045);
  filter:brightness(1.02) contrast(1.05) saturate(1.10);
  box-shadow:0 24px 55px rgba(20,40,80,.16);
}

/* Image cards: depth, tilt-ready transform and premium hover. */
.tl-image-card,
.tl-home-gallery-card,
.key-recruitment-card,
.tl-visual-card,
.industry-card{
  transform-style:preserve-3d;
}
.tl-image-card img,
.tl-home-gallery-card img,
.key-recruitment-image img,
.tl-visual-card img,
.industry-thumb img,
.hero-photo img,
.feature-media img,
.tl-about-intro-image img,
.content-photo img,
.ref-photo img{
  width:100%;
  object-fit:cover;
  object-position:center;
}

/* Consistent aspect ratios across visual cards. */
.tl-image-card img,
.tl-home-gallery-card img,
.key-recruitment-image img,
.tl-visual-card img,
.industry-thumb img{
  aspect-ratio:16 / 10;
  min-height:220px;
}
.industry-thumb img{ aspect-ratio:4 / 3; min-height:190px; }

/* Different crops can be controlled without changing source files. */
.tl-image-card img,
.tl-home-gallery-card img{ object-position:center; }
.key-recruitment-image img{ object-position:center 38%; }
.industry-thumb img{ object-position:center 42%; }

/* Subtle image tilt/depth on pointer-capable screens. */
@media (hover:hover) and (pointer:fine){
  .tl-image-card:hover,
  .tl-home-gallery-card:hover,
  .key-recruitment-card:hover,
  .tl-visual-card:hover{
    transform:translateY(-9px) perspective(900px) rotateX(.7deg) rotateY(-.7deg);
  }
}

/* Floating image treatment — intentionally subtle. */
.tl-image-card:nth-child(3n+1) .tl-image-enhanced,
.tl-home-gallery-card:nth-child(4n+1) .tl-image-enhanced{
  animation:imageFloatA 6.5s ease-in-out infinite;
}
.tl-image-card:nth-child(3n+2) .tl-image-enhanced,
.tl-home-gallery-card:nth-child(4n+2) .tl-image-enhanced{
  animation:imageFloatB 7.2s ease-in-out 1s infinite;
}

/* Scroll scale-in for images when their parent becomes visible. */
[data-reveal].is-visible .tl-image-enhanced,
[data-reveal].is-visible .tl-image-frame{
  animation:imageReveal .8s var(--ease-premium) both;
}

/* Gradient readability overlays for image cards with text. */
.tl-image-card,
.tl-home-gallery-card,
.key-recruitment-card,
.tl-visual-card,
.industry-card .industry-thumb{
  position:relative;
}
.tl-image-card::after,
.tl-home-gallery-card::after,
.key-recruitment-card::after,
.tl-visual-card::after,
.industry-card .industry-thumb::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:48%;
  border-radius:0 0 var(--image-radius) var(--image-radius);
  background:linear-gradient(to top, rgba(10,28,55,.28), transparent);
  pointer-events:none;
  opacity:.75;
  transition:opacity .45s ease;
}
.tl-image-card:hover::after,
.tl-home-gallery-card:hover::after,
.key-recruitment-card:hover::after,
.tl-visual-card:hover::after,
.industry-card:hover .industry-thumb::after{ opacity:.45; }

/* Soft blur only while images are entering; settles to sharp. */
.tl-image-enhanced[data-image-loading="true"]{
  filter:blur(5px) brightness(.98);
}
.tl-image-enhanced[data-image-loading="false"]{
  filter:brightness(.98) contrast(1.03) saturate(1.04);
  transition:filter .65s ease, transform .75s var(--ease-premium), box-shadow .55s ease;
}

/* Hero and feature imagery get extra depth without changing layout. */
.hero-photo,
.feature-media,
.tl-about-intro-image,
.content-photo,
.ref-photo{
  position:relative;
  overflow:hidden;
  border-radius:calc(var(--image-radius) + 2px);
}
.hero-photo::before,
.feature-media::before,
.tl-about-intro-image::before,
.content-photo::before,
.ref-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(135deg, rgba(46,143,217,.10), transparent 42%, rgba(10,28,55,.12));
  pointer-events:none;
  mix-blend-mode:multiply;
  opacity:.65;
}
.hero-photo:hover img,
.feature-media:hover img,
.tl-about-intro-image:hover img,
.content-photo:hover img,
.ref-photo:hover img{
  transform:scale(1.035);
  filter:brightness(1.01) contrast(1.05) saturate(1.08);
}

/* Responsive image sizing. */
@media (max-width:900px){
  :root{ --image-radius:18px; }
  .tl-image-card img,
  .tl-home-gallery-card img,
  .key-recruitment-image img,
  .tl-visual-card img{ min-height:200px; }
}
@media (max-width:620px){
  .tl-image-enhanced{ border-radius:16px; box-shadow:0 12px 30px rgba(20,40,80,.12); }
  .tl-image-card img,
  .tl-home-gallery-card img,
  .key-recruitment-image img,
  .tl-visual-card img,
  .industry-thumb img{
    aspect-ratio:16 / 10;
    min-height:0;
  }
  .industry-thumb img{ aspect-ratio:4 / 3; }
}

/* Reduced-motion: keep images static and accessible. */
@media (prefers-reduced-motion:reduce){
  .tl-image-enhanced,
  .tl-image-card,
  .tl-home-gallery-card,
  .key-recruitment-card,
  .tl-visual-card{
    animation:none !important;
    transition:none !important;
  }
  .tl-image-frame::after{ display:none; }
}

@keyframes imageFloatA{
  0%,100%{ transform:translate3d(0,0,0); }
  50%{ transform:translate3d(0,-5px,0); }
}
@keyframes imageFloatB{
  0%,100%{ transform:translate3d(0,0,0); }
  50%{ transform:translate3d(0,-7px,0); }
}
@keyframes imageReveal{
  from{ opacity:.65; transform:scale(.965); }
  to{ opacity:1; transform:scale(1); }
}

/* JS-assisted micro tilt/parallax values; falls back to zero naturally. */
.tl-image-card,
.tl-home-gallery-card,
.tl-visual-card,
.key-recruitment-card{
  --tilt-x:0deg;
  --tilt-y:0deg;
}
@media (hover:hover) and (pointer:fine){
  .tl-image-card:hover,
  .tl-home-gallery-card:hover,
  .tl-visual-card:hover,
  .key-recruitment-card:hover{
    transform:translateY(-9px) perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  }
}
.hero-photo img.tl-image-enhanced,
.feature-media img.tl-image-enhanced,
.content-photo img.tl-image-enhanced,
.ref-photo img.tl-image-enhanced{
  --image-parallax:0px;
}
@media (prefers-reduced-motion:no-preference){
  .hero-photo img.tl-image-enhanced,
  .feature-media img.tl-image-enhanced,
  .content-photo img.tl-image-enhanced,
  .ref-photo img.tl-image-enhanced{
    transform:translate3d(0,var(--image-parallax),0);
  }
  .hero-photo:hover img.tl-image-enhanced,
  .feature-media:hover img.tl-image-enhanced,
  .content-photo:hover img.tl-image-enhanced,
  .ref-photo:hover img.tl-image-enhanced{
    transform:translate3d(0,var(--image-parallax),0) scale(1.035);
  }
}

/* Careers visual sections */
.career-openings-section{padding:72px 0}
.career-subscribe-section{padding:28px 0 72px}
.career-visual-card{
  background:#fff;
  border:1px solid rgba(15,47,87,.12);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 16px 45px rgba(15,47,87,.10);
}
.career-visual-card img{
  display:block;
  width:100%;
  height:auto;
}
.career-cta-visual{
  max-width:1250px;
  margin:0 auto;
}
@media (max-width: 768px){
  .career-openings-section{padding:48px 0}
  .career-subscribe-section{padding:18px 0 48px}
  .career-visual-card{border-radius:16px}
}

/* Careers redesign */
.career-hero-modern{padding:18px 0 34px;text-align:center;background:#fff}.career-hero-modern .breadcrumb{text-align:left;margin-bottom:28px}.career-hero-modern h1{font-size:48px;line-height:1.05;margin:0;color:#1688f5;font-weight:800}.career-hero-modern p{margin:14px auto 0;color:#475569;font-size:17px}.career-title-rule{display:flex;align-items:center;justify-content:center;gap:6px;margin:18px auto 0}.career-title-rule span{width:100px;height:3px;background:#0b4f8a;border-radius:4px}.career-title-rule i{width:4px;height:4px;border-radius:50%;background:#0b4f8a}.career-jobs-modern{padding:28px 0 64px;background:#fff}.career-filter-card{border:1px solid #dbe4ef;border-radius:18px;padding:24px;box-shadow:0 6px 18px rgba(15,23,42,.08);background:#fff}.filter-heading{display:flex;gap:15px;align-items:center;margin-bottom:18px}.filter-heading h2{font-size:21px;margin:0 0 4px;color:#0f172a}.filter-heading p{margin:0;color:#64748b}.filter-icon{width:48px;height:48px;border-radius:12px;background:#eef0ff;display:grid;place-items:center;font-size:30px;color:#3158ff}.career-filters{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:16px}.career-filters input,.career-filters select{width:100%;height:48px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:0 14px;font-size:15px;color:#334155;box-sizing:border-box}.career-search{position:relative;display:block}.career-search span{position:absolute;left:14px;top:12px;font-size:22px}.career-search input{padding-left:42px}.career-job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.career-job-card{display:flex;flex-direction:column;min-height:300px;padding:18px 16px 16px;border:1px solid #edf1f6;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.06)}.job-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.job-card-top h3{font-size:18px;line-height:1.25;margin:0;color:#0f172a}.job-status{padding:7px 12px;border-radius:7px;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.job-status.open{background:#198754}.job-status.closed{background:#df3348}.job-tags{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 14px}.job-tags span{background:#f7f8fa;border-radius:7px;padding:7px 10px;font-size:12px;color:#1e293b}.job-summary{font-size:15px;line-height:1.55;color:#64748b;margin:0 0 18px}.job-closed{background:#ffc9cc;border-left:4px solid #ff4653;border-radius:8px;padding:12px;color:#991b1b;font-size:13px;margin-bottom:14px}.job-apply{margin-top:auto;display:flex;justify-content:center;align-items:center;min-height:39px;border-radius:8px;background:#1677f8;color:#fff!important;text-decoration:none;font-weight:700}.job-apply.disabled{background:#aeb4ba;border:0}.career-no-jobs{text-align:center;color:#64748b;padding:30px}.career-cta-modern{padding:0 0 64px}.career-cta-inner{min-height:350px;border-radius:4px;overflow:hidden;background:#0e96f5;display:grid;grid-template-columns:350px 1fr;align-items:center}.career-cta-photo{height:100%;padding:28px 0 28px 28px;box-sizing:border-box}.career-cta-photo img{width:100%;height:100%;min-height:294px;object-fit:cover;object-position:left center;border-radius:16px}.career-cta-content{padding:42px 60px 42px 44px;color:#fff}.career-cta-content h2{font-size:40px;line-height:1.15;margin:10px 0 14px}.career-cta-content p{font-size:16px;line-height:1.6;max-width:650px}.career-subscribe-row{display:grid;grid-template-columns:1fr 250px;gap:14px;margin-top:20px}.career-subscribe-row input{height:48px;border:0;border-radius:5px;padding:0 16px;font-size:15px}.career-contact-modern{padding:0 0 64px}.career-contact-card{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px 40px;border-radius:16px;background:#f5f8fc;border:1px solid #e2e8f0}.career-contact-card h2{margin:6px 0 8px}.career-contact-card p{margin:0;color:#64748b}@media(max-width:900px){.career-job-grid{grid-template-columns:1fr}.career-filters{grid-template-columns:1fr}.career-cta-inner{grid-template-columns:1fr}.career-cta-photo{padding:20px}.career-cta-content{padding:20px 24px 35px}.career-subscribe-row{grid-template-columns:1fr}.career-contact-card{flex-direction:column;align-items:flex-start}}

.admin-login-link{font-weight:700!important;color:#173f7a!important}.admin-login-link:hover{opacity:.8}


/* Increased careers banner height */
.careers-page .page-hero,
.careers-page .inner-hero,
.careers-page .career-hero,
.careers-page .banner,
.careers-page .hero,
.careers-page section[class*="hero"],
.careers-page section[class*="banner"]{
  min-height: 430px !important;
}
@media (max-width: 768px){
  .careers-page .page-hero,
  .careers-page .inner-hero,
  .careers-page .career-hero,
  .careers-page .banner,
  .careers-page .hero,
  .careers-page section[class*="hero"],
  .careers-page section[class*="banner"]{
    min-height: 330px !important;
  }
}

/* Ultra-clear TeamLink Consultants logo: SVG is resolution-independent. */
.brand img {
  width: 210px;
  height: auto;
  max-width: none;
  display: block;
  image-rendering: auto;
}
@media (max-width: 700px) {
  .brand img { width: 175px; }
}


/* ---------- Home banner slideshow ---------- */
.hero-home{
  background-image:none !important;
  background-color:var(--navy);
}
.hero-home::before{
  background:rgba(0,0,0,.52);
  z-index:1;
}
.home-banner-slideshow{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.home-banner-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .8s ease-in-out;
}
.home-banner-slide.is-active{opacity:1;}
.home-banner-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.hero-home .container{z-index:2;}
@media(max-width:700px){
  .home-banner-slide img{object-position:center;}
}


/* ---------- Hire Smarter / Work Better moving strip ---------- */
.hire-smarter-marquee{
  width:100%;
  overflow:hidden;
  position:relative;
  background:linear-gradient(105deg,#071a38 0%,#102d59 52%,#071a38 100%);
  border-top:3px solid var(--blue);
  border-bottom:1px solid rgba(255,255,255,.12);
  padding:20px 0;
  box-shadow:0 8px 24px rgba(7,26,56,.12);
}
.hire-smarter-marquee::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.10;
  background:repeating-linear-gradient(135deg,transparent 0 24px,rgba(255,255,255,.22) 24px 25px);
  pointer-events:none;
}
.hire-smarter-track{
  display:flex;
  width:max-content;
  animation:hireSmarterMove 22s linear infinite;
  will-change:transform;
  position:relative;
  z-index:1;
}
.hire-smarter-set{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.hire-smarter-set > span{
  flex:0 0 auto;
  white-space:nowrap;
}
.hire-smarter-set .hs-main,
.hire-smarter-set .hs-accent{
  font-family:Impact,"Arial Black","Segoe UI",sans-serif;
  font-size:clamp(25px,3.1vw,43px);
  line-height:1;
  letter-spacing:.07em;
  font-weight:900;
}
.hire-smarter-set .hs-main{ color:#fff; }
.hire-smarter-set .hs-accent{ color:#63b8f3; }
.hire-smarter-set .hs-dot{
  color:#fff;
  font-size:clamp(18px,2vw,28px);
  margin:0 28px;
  transform:translateY(-1px);
}
.hire-smarter-set .hs-line{
  width:72px;
  height:2px;
  margin:0 54px 0 36px;
  background:linear-gradient(90deg,var(--blue),transparent);
}
@keyframes hireSmarterMove{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media(max-width:600px){
  .hire-smarter-marquee{padding:16px 0;}
  .hire-smarter-set .hs-dot{margin:0 18px;}
  .hire-smarter-set .hs-line{margin-right:30px;margin-left:24px;width:48px;}
}
@media(prefers-reduced-motion:reduce){
  .hire-smarter-track{animation:none;}
}

/* =========================================================
   Motion polish — professional, subtle, and logo-safe
   ========================================================= */

/* Logo: intentionally static — no jump, rotation, float, or scale. */
.brand,
.brand img{
  animation:none !important;
  transform:none !important;
  transition:none !important;
}

/* Hero banner: gentle floating motion; JS adds a tiny scroll parallax offset. */
.home-banner-slide{
  animation:heroSlideFloat 7.5s ease-in-out infinite;
  will-change:transform,opacity;
}
.home-banner-slide img{
  --hero-parallax:0px;
  transform:translate3d(0,var(--hero-parallax),0) scale(1.035);
  transition:transform .25s ease-out;
  will-change:transform;
}
@keyframes heroSlideFloat{
  0%,100%{transform:translate3d(0,0,0);}
  50%{transform:translate3d(0,-5px,0);}
}

/* Service images: clean hover zoom, without rotating or distorting. */
.card,
.card .industry-thumb,
.card .hero-photo,
.card .feature-media{
  overflow:hidden;
}
.card img{
  transition:transform .55s cubic-bezier(.2,.65,.2,1), filter .45s ease;
  transform-origin:center;
}
@media (hover:hover) and (pointer:fine){
  .card:hover img{
    transform:scale(1.055);
    filter:brightness(1.02) contrast(1.03) saturate(1.06);
  }
}

/* Gallery images: hover zoom + a slight lift of the gallery card. */
.tl-home-gallery-card{
  transition:transform .35s cubic-bezier(.2,.65,.2,1), box-shadow .35s ease;
}
.tl-home-gallery-card img{
  transition:transform .55s cubic-bezier(.2,.65,.2,1), filter .45s ease;
}
@media (hover:hover) and (pointer:fine){
  .tl-home-gallery-card:hover{
    transform:translateY(-7px) !important;
    box-shadow:0 20px 42px rgba(15,31,52,.16);
  }
  .tl-home-gallery-card:hover img{
    transform:scale(1.06);
    filter:brightness(1.02) contrast(1.03) saturate(1.06);
  }
}

/* Section images: reveal softly as their section enters the viewport. */
.motion-section-image{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.985);
  transition:opacity .75s ease, transform .8s cubic-bezier(.2,.65,.2,1);
}
.motion-section-image.is-motion-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

/* Small icon bounce when the containing section becomes visible. */
[data-reveal].is-visible .icon-badge{
  animation:iconSoftBounce 1.1s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes iconSoftBounce{
  0%{transform:translateY(0) scale(1);}
  45%{transform:translateY(-5px) scale(1.025);}
  70%{transform:translateY(1px) scale(.995);}
  100%{transform:translateY(0) scale(1);}
}

/* Important CTA: restrained pulse, not distracting. */
.cta-band .btn-primary{
  animation:ctaSoftPulse 2.8s ease-in-out infinite;
}
@keyframes ctaSoftPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(46,143,217,0);}
  50%{box-shadow:0 0 0 7px rgba(46,143,217,.10);}
}

@media (prefers-reduced-motion:reduce){
  .home-banner-slide,
  .home-banner-slide img,
  .cta-band .btn-primary,
  [data-reveal].is-visible .icon-badge{
    animation:none !important;
  }
  .home-banner-slide img{transform:none !important;}
  .motion-section-image,
  .motion-section-image.is-motion-visible{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* === Final visual refinement: outlined Hire Smarter / Work Better marquee === */
.hire-smarter-marquee{
  background:#fff !important;
  overflow:hidden;
  border:0 !important;
  padding:18px 0 22px !important;
  position:relative;
}
.hire-smarter-track{
  display:flex !important;
  width:max-content !important;
  animation:hireSmarterOutlineScroll 22s linear infinite !important;
  will-change:transform;
}
.hire-smarter-set{
  display:flex !important;
  align-items:center;
  white-space:nowrap;
  flex:none;
  padding-right:72px;
}
.hire-smarter-set > span{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:clamp(54px, 7vw, 102px) !important;
  line-height:.95 !important;
  font-weight:700 !important;
  letter-spacing:-2px !important;
  text-transform:none !important;
}
.hire-smarter-set .hs-main,
.hire-smarter-set .hs-accent{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:2px #59b6ff !important;
  text-shadow:none !important;
}
.hire-smarter-set .hs-dot,
.hire-smarter-set .hs-line{
  display:none !important;
}
.hire-smarter-set .hs-accent::before{
  content:"";
}
@keyframes hireSmarterOutlineScroll{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* Images zoom IN slightly on hover. */
.tl-image-enhanced,
.industry-thumb img,
.home-banner-slide img{
  transition:transform .55s cubic-bezier(.22,.61,.36,1), filter .35s ease !important;
}
.tl-image-enhanced:hover,
.industry-card:hover .industry-thumb img,
.tl-image-frame:hover .tl-image-enhanced,
.tl-home-gallery-card:hover .tl-image-enhanced,
.tl-visual-card:hover .tl-image-enhanced,
.card:hover .industry-thumb img{
  transform:scale(1.06) !important;
}

@media (max-width:700px){
  .hire-smarter-marquee{padding:14px 0 18px !important;}
  .hire-smarter-set > span{font-size:48px !important;letter-spacing:-1px !important;-webkit-text-stroke:1.5px #59b6ff !important;}
  .hire-smarter-set{padding-right:48px;}
}

@media (prefers-reduced-motion:reduce){
  .hire-smarter-track{animation:none !important;}
  .tl-image-enhanced,
  .industry-thumb img,
  .home-banner-slide img{transition:none !important;}
}


/* About hero slideshow: each uploaded image stays visible for 3 seconds */
.about-hero-slideshow{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#071522;
}
.about-hero-slideshow::before{display:none}
.about-hero-slides,.about-hero-overlay{
  position:absolute;
  inset:0;
}
.about-hero-slides{z-index:-3}
.about-hero-overlay{
  z-index:-2;
  background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.34) 55%,rgba(0,0,0,.42));
}
.about-hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.03);
  transition:opacity .8s ease,transform 4s ease;
}
.about-hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.about-hero-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.about-hero-slideshow .container{z-index:2}
@media(max-width:700px){
  .about-hero-slide img{object-position:center}
}
@media(prefers-reduced-motion:reduce){
  .about-hero-slide{transition:none}
}

/* Contact hero slideshow: 4 images, 3 seconds each */
.contact-hero-slideshow{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#071522;
}
.contact-hero-slideshow::before{display:none;}
.contact-hero-slides,
.contact-hero-overlay{
  position:absolute;
  inset:0;
}
.contact-hero-slides{z-index:-2;}
.contact-hero-overlay{
  z-index:-1;
  background:linear-gradient(90deg,rgba(0,0,0,.04),rgba(0,0,0,.015));
  pointer-events:none;
}
.contact-hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .8s ease, visibility .8s ease;
}
.contact-hero-slide.is-active{opacity:1;visibility:visible;}
.contact-hero-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:brightness(1.08) saturate(1.02);
}
@media(max-width:700px){
  .contact-hero-slide img{object-position:center;}
}


/* ==========================================================
   TeamLink — premium image animation enhancements
   Keeps existing layout, text, logo, and branding unchanged.
   ========================================================== */

/* General image rendering: preserve aspect ratio and avoid distortion */
img {
  max-width: 100%;
  height: auto;
}

/* Smooth image interaction */
img:not(.logo):not([alt*="logo" i]) {
  transition:
    transform 0.4s cubic-bezier(.2,.7,.2,1),
    filter 0.4s ease,
    box-shadow 0.4s ease;
}

/* Professional hover zoom/lift for content images */
.card img:hover,
.service-card img:hover,
.gallery img:hover,
.gallery-item img:hover,
.image-card img:hover,
.project-card img:hover,
.blog-card img:hover,
.portfolio img:hover {
  transform: translateY(-4px) scale(1.035);
}

/* Gentle floating animation for hero/banner visuals.
   Logo is deliberately excluded. */
.hero img:not(.logo),
.hero-image:not(.logo),
.hero-banner img:not(.logo),
.banner img:not(.logo),
.feature-image:not(.logo) {
  animation: teamlinkGentleFloat 5.5s ease-in-out infinite;
  will-change: transform;
}

@keyframes teamlinkGentleFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

/* Very-light contact/banner images: subtle depth without changing brightness */
.contact-banner img,
.contact-section img,
.contact-image img,
.banner-image img {
  transition:
    transform 0.55s cubic-bezier(.2,.7,.2,1),
    filter 0.55s ease;
}

.contact-banner img:hover,
.contact-section img:hover,
.contact-image img:hover,
.banner-image img:hover {
  transform: scale(1.025);
}

/* Scroll reveal helpers */
.image-reveal,
.reveal-image,
.scroll-image {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.7s ease,
    transform 0.7s cubic-bezier(.2,.7,.2,1);
}

.image-reveal.visible,
.reveal-image.visible,
.scroll-image.visible,
.image-reveal.active,
.reveal-image.active,
.scroll-image.active {
  opacity: 1;
  transform: translateY(0);
}

/* Small bounce for icons/CTA graphics */
.icon-bounce:hover,
.cta-icon:hover,
.feature-icon:hover {
  animation: teamlinkSmallBounce 0.65s ease;
}

@keyframes teamlinkSmallBounce {
  0%, 100% { transform: translateY(0); }
  35% { transform: translateY(-8px); }
  65% { transform: translateY(-3px); }
}

/* Optional gentle pulse for important visual CTA elements */
.image-pulse:hover {
  animation: teamlinkPulse 0.8s ease;
}

@keyframes teamlinkPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.045); }
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }

  img,
  .hero img,
  .hero-image,
  .hero-banner img,
  .banner img,
  .feature-image,
  .image-reveal,
  .reveal-image,
  .scroll-image {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}


/* ==========================================================
   TeamLink Premium Visual Enhancement Layer
   Adds polish without changing the existing layout, text,
   logo, or image assets.
   ========================================================== */

/* Smoother rendering and interactions */
img {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Premium hover lift for common image containers */
.card,
.service-card,
.gallery-item,
.image-card,
.project-card,
.blog-card,
.portfolio-item {
  transition:
    transform 0.35s cubic-bezier(.2,.7,.2,1),
    box-shadow 0.35s ease;
}

.card:hover,
.service-card:hover,
.gallery-item:hover,
.image-card:hover,
.project-card:hover,
.blog-card:hover,
.portfolio-item:hover {
  transform: translateY(-5px);
}

/* Keep image hover movement smooth */
.card img,
.service-card img,
.gallery-item img,
.image-card img,
.project-card img,
.blog-card img,
.portfolio-item img {
  transform-origin: center center;
  will-change: transform;
}

/* Image sheen on hover */
.image-shine,
.gallery-item,
.image-card,
.project-card {
  position: relative;
  overflow: hidden;
}

.image-shine::after,
.gallery-item::after,
.image-card::after,
.project-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    110deg,
    transparent 35%,
    rgba(255,255,255,.16) 50%,
    transparent 65%
  );
  transform: translateX(-120%);
  transition: transform .8s ease;
}

.image-shine:hover::after,
.gallery-item:hover::after,
.image-card:hover::after,
.project-card:hover::after {
  transform: translateX(120%);
}

/* Premium soft zoom for banners */
.hero img:not(.logo),
.hero-banner img:not(.logo),
.banner img:not(.logo),
.contact-banner img:not(.logo) {
  transform-origin: center;
}

/* Gentle breathing animation for selected visual sections */
.visual-breathe {
  animation: teamlinkBreathe 4s ease-in-out infinite;
}

@keyframes teamlinkBreathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.012); }
}

/* Better focus state for keyboard users */
img:focus-visible,
.image-card:focus-visible,
.gallery-item:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}

/* Mobile: keep effects subtle and avoid oversized movement */
@media (max-width: 768px) {
  .card:hover,
  .service-card:hover,
  .gallery-item:hover,
  .image-card:hover,
  .project-card:hover,
  .blog-card:hover,
  .portfolio-item:hover {
    transform: translateY(-2px);
  }

  .image-shine::after,
  .gallery-item::after,
  .image-card::after,
  .project-card::after {
    display: none;
  }
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
  .card,
  .service-card,
  .gallery-item,
  .image-card,
  .project-card,
  .blog-card,
  .portfolio-item,
  .visual-breathe,
  img {
    animation: none !important;
    transition: none !important;
  }

  .image-shine::after,
  .gallery-item::after,
  .image-card::after,
  .project-card::after {
    display: none !important;
  }
}


/* Tell Us What You Need — fit image cleanly inside its existing frame */
.tell-us-image-fitted {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  border-radius: inherit;
}

/* Keep the image clipped neatly to the existing frame */
.tell-us-image-fitted {
  overflow: hidden;
}

/* Preserve the frame on smaller screens */
@media (max-width: 768px) {
  .tell-us-image-fitted {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}


/* About — Recruitment That Connects People image fitting */
.recruitment-connects-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  border-radius: inherit;
}

/* Keep the image neatly clipped inside its existing frame */
.recruitment-connects-image {
  overflow: hidden;
}

@media (max-width: 768px) {
  .recruitment-connects-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}


/* Homepage Technology + Healthcare Recruitment card images:
   fit cleanly inside the existing frames without changing any content. */
.industry-thumb{
  overflow:hidden;
}
.industry-thumb img.tl-image-enhanced{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
}


/* Logo background integration:
   Uses the existing TeamLink logo artwork in its transparent HD asset.
   No logo colors, shapes, text, or proportions are changed. */
.brand {
  background: transparent !important;
}

.brand img {
  background: transparent !important;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: normal;
  box-shadow: none !important;
  border: 0 !important;
}


/* Ultra-clear TeamLink logo:
   exact supplied HD artwork, rendered as SVG so browser zoom stays sharp. */
.brand img,
.logo,
.logo img {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  object-fit: contain !important;
  image-rendering: auto;
  transform-origin: center center;
}

/* Do not blur or filter the logo during hover/animations. */
.brand img:hover,
.logo:hover,
.logo img:hover {
  filter: none !important;
}
