:root{--maroon:#d10000;--maroon-dark:#960103;--ink:#252525;--muted:#667085;--cream:#f7f5f0;--white:#fff;--line:#e8e8e8;--dark:#181818;--dark2:#242424;--gold:#c9a227;--radius:18px;--shadow:0 16px 45px rgba(0,0,0,.10);--light-bg:#f8f6f3}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.container{width:min(1160px,92%);margin:auto}

/* HEADER */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid #eee}
.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:42px;height:42px;border-radius:10px;background:var(--maroon);color:#fff;display:grid;place-items:center;font:800 24px Montserrat}
.brand strong{display:block;font:800 16px Montserrat;letter-spacing:.7px}
.brand small{display:block;font-size:10px;color:#777;letter-spacing:.4px}
.nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}
.nav a:hover{color:var(--maroon)}
.nav-cta{background:var(--maroon);color:#fff!important;padding:11px 17px;border-radius:9px}
.menu-toggle{display:none;border:0;background:none;font-size:26px}

/* HERO */
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fff 0%,#fff 58%,#f7ecec 100%);padding:90px 0 70px}
.hero-bg{position:absolute;right:-120px;top:-180px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(209,0,0,.13),transparent 65%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.18fr .82fr;gap:65px;align-items:center}
.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--maroon);display:inline-block;margin-bottom:13px}
.hero h1{font:800 clamp(38px,5vw,62px)/1.08 Montserrat;color:#181818;max-width:780px}
.hero h1 span,.section-heading h2 span,.outcome-section h2 span,.enquiry h2 span{color:var(--maroon)}
.hero-sub{font-size:17px;font-weight:700;margin:18px 0 10px}
.hero-text{color:var(--muted);max-width:680px;font-size:16px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:0;border-radius:10px;padding:14px 20px;font-weight:800;cursor:pointer;transition:.2s}
.btn-primary{background:var(--maroon);color:#fff;box-shadow:0 10px 25px rgba(209,0,0,.18)}
.btn-primary:hover{background:var(--maroon-dark);transform:translateY(-2px)}
.btn-outline{border:1px solid #bbb;background:#fff}
.btn-outline:hover{border-color:var(--maroon);color:var(--maroon)}
.hero-points{display:flex;gap:35px;border-top:1px solid #ddd;padding-top:20px;margin-top:22px}
.hero-points b{display:block;font-size:16px}
.hero-points small{color:#777}
.hero-card{background:var(--dark);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.card-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;font-weight:800;color:#ddd}
.pulse{width:9px;height:9px;background:#4ed16d;border-radius:50%;box-shadow:0 0 0 7px rgba(78,209,109,.1)}
.skill-list{margin:25px 0 20px}
.skill-list div{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #393939;font-size:14px}
.skill-list i{font-style:normal;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#3b3b3b;color:#fff;font-weight:800}
.card-footer{font-size:12px;color:#bbb}
.hero-image{display:flex;justify-content:center;align-items:center}
.hero-img{max-width:100%;height:auto;border-radius:24px;box-shadow:var(--shadow)}

/* TRUST STRIP */
.trust-strip{background:var(--maroon);color:#fff;padding:40px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.trust-item{text-align:center;padding:10px;border-right:1px solid rgba(255,255,255,.5)}
.trust-item:last-child{border-right:0}
.trust-item strong{display:block;font:800 clamp(28px,3.5vw,42px)/1.1 Montserrat;margin-bottom:4px}
.trust-item span{display:block;font-size:clamp(12px,1vw,15px);opacity:.9;line-height:1.4;font-weight:500}
.trust-item .sub{font-size:clamp(10px,.8vw,12px);opacity:.7;margin-top:2px;font-weight:400}

/* GENERAL SECTIONS */
.section{padding:50px 0}
.section-dark{background:var(--light-bg);color:var(--ink)}
.section-heading{text-align:center;max-width:760px;margin:0 auto 45px}
.section-heading h2,.outcome-section h2,.enquiry h2{font:800 clamp(30px,4vw,44px)/1.15 Montserrat;margin-bottom:12px}
.section-heading p,.section-heading.light p{color:var(--muted)}
.section-heading.light .eyebrow{color:var(--maroon)}

/* AUDIENCE */
.audience-section{background:var(--cream)}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.info-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:.25s}
.info-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#f1caca}
.icon{font-size:30px;margin-bottom:14px}
.info-card h3{font:700 18px Montserrat;margin-bottom:8px}
.info-card p{color:var(--muted);font-size:14px}

/* CURRICULUM / MODULES */
.modules{max-width:900px;margin:auto}
.module{border:1px solid #eaeaea;border-radius:14px;margin-bottom:12px;overflow:hidden;background:#fff}
.module-head{width:100%;border:0;background:none;color:var(--ink);display:grid;grid-template-columns:55px 1fr 30px;text-align:left;align-items:center;padding:20px;cursor:pointer}
.module-head .num{font:800 14px Montserrat;color:var(--maroon)}
.module-head span:nth-child(2){font:700 16px Montserrat}
.module-head small{display:block;color:var(--muted);font:700 10px Inter;letter-spacing:1.5px;margin-bottom:3px}
.module-head b{font-size:23px;color:var(--maroon)}
.module-body{display:none;padding:0 24px 24px 75px;color:var(--muted);font-size:14px}
.module.active .module-body{display:block}
.module.active .module-head b{transform:rotate(45deg)}
.module-body h4{margin:18px 0 6px;font-size:16px;font-weight:700;color:var(--ink)}
.module-body h4:first-of-type{margin-top:0}
.module-body p{margin-bottom:8px}
.module-body ul{margin:6px 0 12px 20px;padding-left:4px;list-style:none}
.module-body ul li{position:relative;padding-left:20px;margin-bottom:4px;font-size:14px;line-height:1.6;color:var(--muted)}
.module-body ul li::before{content:"•";color:var(--maroon);font-weight:800;position:absolute;left:0;top:0}

/* CURRICULUM SECTION OVERRIDES */
.curriculum-section{background:#fff;padding:90px 0}
.curriculum-section .section-heading p{color:var(--muted)}
.curriculum-section .module{background:#fafafa}
.curriculum-section .module-head{grid-template-columns:40px 1fr 25px;padding:16px;transition:background .3s}
.curriculum-section .module-head:hover{background:#f0f0f0}
.curriculum-section .module-head span:nth-child(2){font-size:14px}
.curriculum-section .module-head b{transition:transform .3s}
.curriculum-section .module.active .module-head b{transform:rotate(45deg)}
.curriculum-section .module-body{padding:0 18px 20px 56px}
.curriculum-section .module-body h4{margin:12px 0 3px}
.curriculum-section .module.active .module-body{display:block}

/* PROJECTS */
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.project-card{padding:30px;border-radius:var(--radius);background:var(--cream);border:1px solid #eee}
.project-card>span,.why-grid span{font:800 12px Montserrat;color:var(--maroon);letter-spacing:1px}
.project-card h3{font:700 20px Montserrat;margin:8px 0 16px}
.project-card ul{list-style:none;color:#555;font-size:14px}
.project-card li{margin:7px 0}
.project-card li::before{content:"✓";color:var(--maroon);font-weight:800;margin-right:8px}

/* OUTCOME */
.outcome-section{background:#fff5f5}
.outcome-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.outcome-grid>div:first-child{text-align:left}
.outcome-grid p{color:var(--muted)}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check-grid div{padding:15px 17px;background:#fff;border:1px solid #f0d6d6;border-radius:10px;font-size:14px;font-weight:600}
.check-grid div:first-letter{color:var(--maroon)}

/* CAREERS */
.career-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:20px}
.career-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.career-card h3{font:700 20px Montserrat;margin-bottom:10px}
.career-card p{color:var(--muted);font-size:14px}

/* WHY TECHIZONE */
.why-section{background:var(--cream)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.why-grid article{background:#fff;padding:25px;border-radius:var(--radius);border:1px solid #eaeaea}
.why-grid h3{font:700 17px Montserrat;margin:10px 0}
.why-grid p{color:var(--muted);font-size:13px}

/* TRAINERS */
.trainers{background:var(--light-bg);color:var(--ink)}
.trainer-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:850px;margin:auto}
.trainer-card{background:#fff;border:1px solid #eaeaea;color:var(--ink);padding:30px;border-radius:var(--radius)}
.trainer-avatar{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--maroon);font:800 22px Montserrat;margin-bottom:18px;color:#fff}
.trainer-card h3{font:700 23px Montserrat}
.trainer-card>strong{color:var(--maroon);font-size:13px}
.trainer-card ul{margin-top:15px;padding-left:18px;color:var(--muted);font-size:14px}

/* ENQUIRY / FORM */
.enquiry{background:linear-gradient(120deg,#fff,#fff7f7)}
.enquiry-grid{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:center}
.enquiry p{color:var(--muted);max-width:600px}
.contact-mini{margin-top:25px;display:grid;gap:12px}
.contact-mini div{display:flex;gap:10px}
.contact-mini span{color:#555}
.lead-form{background:#fff;padding:30px;border-radius:20px;box-shadow:var(--shadow);border:1px solid #eee}
.lead-form h3{font:700 22px Montserrat;margin-bottom:20px}
.lead-form label{display:block;font-size:12px;font-weight:700;margin:13px 0}
.lead-form input,.lead-form select{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;margin-top:6px;outline:none}
.lead-form input:focus,.lead-form select:focus{border-color:var(--maroon)}
.lead-form .btn{width:100%;margin-top:10px}
.lead-form small{display:block;margin-top:10px;text-align:center}
/*.floating-cta{display:none;position:fixed;right:16px;bottom:16px;z-index:999;background:var(--maroon);color:#fff;border:0;border-radius:50px;padding:13px 18px;font-weight:800;box-shadow:0 10px 25px rgba(0,0,0,.2)}*/
/*.floating-cta{display:none;position:fixed;right:16px;bottom:82px;z-index:999;background:var(--maroon);color:#fff;border:0;border-radius:50px;padding:13px 18px;font-weight:800;box-shadow:0 10px 25px rgba(0,0,0,.2)}*/
/* BRAND LOGO */
.brand-logo{width:200px;height:70px;border-radius:10px;object-fit:contain;display:flex;align-items:center;gap:12px;margin-bottom:10px}
.light-brand .brand-logo{filter:brightness(0) invert(1)}

/* STUDENT REVIEW VIDEOS */
.reviews-section {
  background: var(--cream);
  padding-bottom: 40px;
}
.video-carousel {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  padding: 0 50px;
}
.video-track {
  display: flex;
  gap: 25px;
  transition: transform .5s ease;
  padding: 10px 0;
}
.video-card {
  flex: 0 0 calc(33.33% - 17px);
  min-width: 0;
  cursor: pointer;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
  transition: transform .3s ease, box-shadow .3s ease;
}
.video-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0,0,0,.15);
}
.video-thumbnail {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background-size: cover;
  background-position: center;
  background-color: #1a1a1a;
}
.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70px;
  height: 70px;
  background: rgba(209,0,0,.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 30px;
  padding-left: 5px;
  transition: transform .3s ease, background .3s ease;
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
}
.video-card:hover .play-button {
  transform: translate(-50%, -50%) scale(1.1);
  background: var(--maroon);
}

.video-info{background:#fff;padding:20px 16px 0px;border-radius:0 0 16px 16px;text-align:left}
.video-info h4{font:700 20px/1.3 Montserrat,sans-serif;color:var(--ink);margin:0 0 5px}
.video-info p{font-size:16px;color:var(--muted);margin:0;line-height:1.4}
.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  color: var(--ink);
  font-size: 26px;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
  transition: background .3s, box-shadow .3s;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.carousel-btn:hover {
  background: var(--maroon);
  color: #fff;
  box-shadow: 0 4px 20px rgba(209,0,0,.3);
}
.prev-btn { left: 0; }
.next-btn { right: 0; }
.video-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
}
.video-dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 0;
  background: #ccc;
  cursor: pointer;
  transition: .3s;
  padding: 0;
}
.video-dots button.active-dot {
  background: var(--maroon);
  transform: scale(1.25);
}

/* VIDEO LIGHTBOX */
.video-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.88);
  z-index: 2000;
  justify-content: center;
  align-items: center;
  padding: 30px;
}
.video-overlay.active { display: flex; }
.video-overlay-content {
  position: relative;
  width: 100%;
  max-width: 880px;
  background: #000;
  border-radius: 16px;
  overflow: hidden;
}
.close-overlay {
  position: absolute;
  top: 12px;
  right: 16px;
  background: rgba(0,0,0,.6);
  color: #fff;
  border: 0;
  font-size: 28px;
  cursor: pointer;
  z-index: 10;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s;
}
.close-overlay:hover {
  background: rgba(209,0,0,.8);
}
.video-wrapper {
  position: relative;
  padding-top: 56.25%;
}
.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* GOOGLE REVIEWS – White Background Version */
.google-reviews-section {
  background: var(--white, #fff);  /* changed from cream to white */
  padding: 50px 0;
}

.google-reviews-section .section-heading h2 {
  font-size: clamp(28px, 3.5vw, 42px);
}

.google-reviews-section .section-heading h2 span {
  color: var(--maroon);
}

.google-reviews-section .section-heading p {
  font-size: 1.1rem;
  color: var(--muted);
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

.google-reviews-carousel-wrapper {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 60px;
  overflow: hidden;
}

.google-reviews-carousel {
  overflow: visible;
}

.google-reviews-track {
  display: flex;
  gap: 20px;
  transition: transform .6s cubic-bezier(.25, .46, .45, .94);
  padding: 10px 0;
}

.google-review-card {
  flex: 0 0 calc(100% / 3.5);
  min-width: 0;
}

.google-review-card .review-inner {
  background: #fff;
  border-radius: 20px;
  padding: 28px 24px 22px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);  /* slightly stronger shadow */
  border: 1px solid #eaeaea;  /* slightly darker border for contrast */
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow .3s, transform .3s;
  position: relative;
}

.google-review-card .review-inner:hover {
  box-shadow: 0 14px 44px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
}

.google-review-card .review-quote-icon {
  font-size: 32px;
  line-height: 1;
  color: var(--maroon);
  opacity: .25;
  margin-bottom: 4px;
  font-family: Georgia, serif;
  font-weight: 700;
}

.google-review-card .review-quote-icon::before {
  content: "❝";
}

.google-review-card .review-stars {
  color: #f5b342;
  font-size: 20px;
  letter-spacing: 2px;
  margin-bottom: 10px;
  line-height: 1.2;
}

.google-review-card .review-text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink);
  font-style: italic;
  flex-grow: 1;
  margin-bottom: 14px;
  quotes: none;
}

.google-review-card .review-text::before,
.google-review-card .review-text::after {
  content: none;
}

.google-review-card .review-divider {
  border: 0;
  border-top: 2px solid #f0e8e0;
  margin: 0 0 14px;
  width: 40px;
  align-self: flex-start;
}

.google-review-card .review-author {
  font-weight: 700;
  font-size: 15px;
  color: var(--ink);
}

.google-review-card .review-course {
  font-size: 13px;
  color: var(--muted);
  display: block;
  margin-top: 2px;
}

.google-review-card .review-date {
  font-size: 11px;
  color: #bbb;
  display: block;
  margin-top: 4px;
}

.greview-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  color: var(--ink);
  font-size: 26px;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
  transition: all .3s;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

.greview-btn:hover {
  background: var(--maroon);
  color: #fff;
  box-shadow: 0 4px 20px rgba(209, 0, 0, .3);
}

.prev-review {
  left: 4px;
}

.next-review {
  right: 4px;
}

.google-review-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
}

.google-review-dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 0;
  background: #ddd;
  cursor: pointer;
  transition: .3s;
  padding: 0;
}

.google-review-dots button.active-dot {
  background: var(--maroon);
  transform: scale(1.25);
}

.google-review-dots button:hover {
  background: var(--maroon);
  opacity: .7;
}

/* ===== RESPONSIVE TWEAKS (optional – keep your existing ones) ===== */
/* If you had tablet/mobile overrides, they remain valid; nothing else changed */

/* FOOTER */
.site-footer{background:linear-gradient(135deg,#171214 0%,#251317 100%);color:#fff;width:100%}
.footer-container{max-width:1200px;margin:0 auto;padding:20px 20px 0}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1.25fr 1.25fr;column-gap:55px;align-items:start}
.footer-brand{padding-right:20px}
.brand-icon{width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#e20b16,#85191e);color:#fff;font-size:20px;font-weight:700}
.brand-name{font-size:16px;font-weight:700;letter-spacing:-.3px}
.brand-description{color:#d2cdd0;font-size:14px;line-height:1.65;max-width:300px;margin-bottom:24px}
.social-icons{display:flex;gap:12px}
.social-icons a{width:36px;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#c9c4c6;text-decoration:none;font-size:14px;transition:.25s}
.social-icons a:hover{background:#b51c23;border-color:#b51c23;color:#fff;transform:translateY(-2px)}
.footer-column h3{color:#fff;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:22px}
.footer-links{list-style:none}
.footer-links li{margin-bottom:14px}
.footer-links a{color:#d1cbce;text-decoration:none;font-size:14px;line-height:1.4;transition:.2s}
.footer-links a:hover{color:#fff;padding-left:4px}
.contact-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;color:#d2cdcf;font-size:13.5px;line-height:1.5}
.contact-item i{color:#e0000b;width:16px;margin-top:3px;font-size:14px;flex-shrink:0}
.contact-item a{color:#d2cdcf;text-decoration:none}
.contact-item a:hover{color:#fff}
.map-wrapper{margin-top:22px;width:100%;max-width: 275px; height:145px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#ddd;box-shadow:0 8px 25px rgba(0,0,0,.25)}
.map-wrapper iframe{width:100%;height:100%;border:0;display:block}
.footer-bottom{margin-top:30px;border-top:1px solid rgba(255,255,255,.12);min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.copyright{color:#d0cbcd;font-size:12px}
.bottom-links{display:flex;align-items:center;gap:24px;list-style:none}
.bottom-links a{color:#d0cbcd;font-size:12px;text-decoration:none;transition:color .2s}
.bottom-links a:hover{color:#fff}

/* RESPONSIVE - 1024px */
@media(max-width:1024px){
.trust-grid{grid-template-columns:repeat(2,1fr);gap:20px}
.trust-item{padding:15px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
.trust-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.15)}
.trust-item:nth-child(3),.trust-item:nth-child(4){border-bottom:0}
.google-review-card{flex:0 0 calc(100% / 2.5)}
.google-review-card .review-text{font-size:14px}
.google-reviews-carousel-wrapper{padding:0 50px}
.google-review-card .review-inner{padding:24px 20px 18px}
}

/* RESPONSIVE - 900px */
@media(max-width:900px){
.nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:18px 4%;border-bottom:1px solid #eee;flex-direction:column;align-items:stretch}
.nav.open{display:flex}
.nav a{padding:8px}
.menu-toggle{display:block}
.hero{padding:65px 0}
.hero-grid{grid-template-columns:1fr;gap:40px}
.hero-card{max-width:600px}
.audience-grid,.why-grid{grid-template-columns:1fr 1fr}
.outcome-grid,.enquiry-grid{grid-template-columns:1fr;gap:40px}
.project-grid,.career-grid,.trainer-grid{grid-template-columns:1fr}
.video-card{flex:0 0 calc(50% - 13px)}
.video-carousel{padding:0 40px}
.play-button{width:56px;height:56px;font-size:24px}
}

/* RESPONSIVE - 768px */
@media(max-width:768px){
.trust-strip{padding:30px 0}
.trust-grid{grid-template-columns:1fr 1fr;gap:15px}
.trust-item{padding:12px;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.5)}
.trust-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.1)!important}
.trust-item:nth-child(3),.trust-item:nth-child(4){border-bottom:0}
.trust-item strong{font-size:26px}
.trust-item span{font-size:12px}
}

/* RESPONSIVE - 650px */
@media(max-width:650px){
.footer-container{padding:45px 22px 0}
.footer-grid{grid-template-columns:1fr;row-gap:38px}
.footer-brand{padding-right:0}
.brand-description{max-width:100%}
.footer-column h3{margin-bottom:17px}
.footer-links li{margin-bottom:11px}
.map-wrapper{width:100%;max-width:none;height:190px}
.footer-bottom{margin-top:40px;padding:22px 0;flex-direction:column;align-items:flex-start;gap:15px}
.bottom-links{flex-wrap:wrap;gap:12px 20px}
}

/* RESPONSIVE - 640px */
@media(max-width:640px){
.google-review-card{flex:0 0 calc(100% / 1.1)}
.google-review-card .review-inner{padding:20px 16px 16px}
.google-review-card .review-text{font-size:13px;line-height:1.5}
.google-review-card .review-stars{font-size:17px}
.google-review-card .review-quote-icon{font-size:26px}
.google-reviews-carousel-wrapper{padding:0 40px}
.greview-btn{width:36px;height:36px;font-size:18px}
.google-review-card .review-divider{width:30px}
}

/* RESPONSIVE - 600px */
@media(max-width:600px){
.hero h1{font-size:38px}
.hero-points{gap:15px;justify-content:space-between}
.hero-points div{flex:1}
.hero-points small{font-size:10px}
.hero-card{padding:22px}
.section{padding:65px 0}
.audience-grid,.why-grid,.check-grid{grid-template-columns:1fr}
.module-head{grid-template-columns:40px 1fr 25px;padding:16px}
.module-head span:nth-child(2){font-size:14px}
.module-body{padding:0 18px 20px 56px}
.footer-grid{grid-template-columns:1fr}
.footer-grid>div:first-child{grid-column:auto}
.floating-cta{display:block}
.trust-strip{padding:20px 0}
.trust-grid{grid-template-columns:1fr 1fr;gap:10px}
.trust-item{padding:10px 8px;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)}
.trust-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.08)!important}
.trust-item:nth-child(3),.trust-item:nth-child(4){border-bottom:0}
.trust-item strong{font-size:22px}
.trust-item span{font-size:11px}
.trust-item .sub{font-size:9px}
.module-body ul{margin-left:12px}
.module-body ul li{font-size:13px;padding-left:16px}
.module-body h4{font-size:14px}
.video-card{flex:0 0 100%}
.video-carousel{padding:0 30px}
.carousel-btn{width:38px;height:38px;font-size:18px}
.video-info h4{font-size:15px}
.video-info span{font-size:13px}
.play-button{width:56px;height:56px;font-size:24px}
.video-overlay{padding:16px}
.close-overlay{width:36px;height:36px;font-size:22px;top:8px;right:10px}
}

/* RESPONSIVE - 400px */
@media(max-width:400px){
.footer-container{padding-left:18px;padding-right:18px}
.brand-icon{width:42px;height:42px}
.brand-name{font-size:15px}
.footer-column h3{font-size:13px}
.footer-links a,.contact-item{font-size:13px}
.google-review-card{flex:0 0 calc(100% / 1.05)}
.google-reviews-carousel-wrapper{padding:0 32px}
.greview-btn{width:32px;height:32px;font-size:15px}
}
/*.whatsapp-float{display:none;position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;align-items:center;justify-content:center;font-size:30px;text-decoration:none;box-shadow:0 5px 18px rgba(0,0,0,.25);z-index:9999;transition:transform .25s,box-shadow .25s}
*/.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 7px 24px rgba(0,0,0,.3)}
.floating-cta{display:none;position:fixed;right:82px;bottom:16px;z-index:999;background:var(--maroon);color:#fff;border:0;border-radius:50px;padding:13px 18px;font-weight:800;box-shadow:0 10px 25px rgba(0,0,0,.2)}
.whatsapp-float{display:none;position:fixed;right:16px;bottom:16px;width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;align-items:center;justify-content:center;font-size:28px;box-shadow:0 5px 18px rgba(0,0,0,.25);z-index:9999}
@media(max-width:1024px){.floating-cta{display:block}.whatsapp-float{display:flex}}
@media(max-width:600px){.whatsapp-float{width:52px;height:52px;right:16px;bottom:16px;font-size:28px}}


/* ===== COURSES SECTION ===== */
.courses-section {
  background: var(--white, #fff);  /* ← changed to white */
  padding: 50px 0;
}

.course-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto 40px;
}

.course-card {
  position: relative;
  background: var(--white, #fff);
  border: 1px solid #eaeaea;  /* slightly more visible border */
  border-radius: var(--radius, 18px);
  padding: 32px 26px 26px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);  /* slightly deeper shadow to separate cards from white bg */
}

.course-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.10);  /* stronger shadow on hover */
  border-color: var(--maroon, #d10000);  /* Red border on hover */
}

/* ----- Course icon ----- */
.course-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--maroon, #d10000);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 16px;
  flex-shrink: 0;
}

/* ----- Course number (top right) ----- */
.course-number {
  position: absolute;
  top: 20px;
  right: 22px;
  font: 700 14px Montserrat, sans-serif;
  color: var(--muted, #667085);
  opacity: 0.3;
}

/* ----- Title & description ----- */
.course-card h3 {
  font: 700 20px/1.3 Montserrat, sans-serif;
  color: var(--ink, #252525);
  margin: 0 0 8px;
}

.course-card p {
  color: var(--muted, #667085);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 18px;
  flex-grow: 1;
}

/* ----- Meta info (duration, level) ----- */
.course-meta {
  display: flex;
  gap: 16px;
  font-size: 13px;
  color: var(--muted, #667085);
  border-top: 1px solid var(--line, #e8e8e8);
  padding-top: 16px;
  margin-bottom: 18px;
}

.course-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.course-meta i {
  color: var(--maroon, #d10000);
  font-size: 14px;
}

/* ----- Explore link ----- */
.course-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  font-size: 15px;
  color: var(--maroon, #d10000);
  text-decoration: none;
  transition: gap 0.2s ease;
  margin-top: auto;
}

.course-link:hover {
  gap: 10px;
}

.course-link span {
  transition: transform 0.2s ease;
  display: inline-block;
}

.course-link:hover span {
  transform: translateX(4px);
}

/* ===== CENTERED BUTTON ===== */
.section-button-center {
  text-align: center;
  margin-top: 10px;
}

.section-button-center .btn-outline {
  background: transparent;
  border: 2px solid var(--maroon, #d10000);
  color: var(--maroon, #d10000);
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 50px;
  transition: background 0.3s, color 0.3s, transform 0.2s;
}

.section-button-center .btn-outline:hover {
  background: var(--maroon, #d10000);
  color: #fff;
  transform: translateY(-2px);
}

/* ===== RESPONSIVE ===== */

/* Large screens: 4 columns (default) */

/* Tablets & small laptops: 2 columns */
@media (max-width: 1100px) {
  .course-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* Mobile: 1 column */
@media (max-width: 600px) {
  .courses-section {
    padding: 60px 0;
  }

  .course-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .course-card {
    padding: 24px 18px 18px;
  }

  .course-number {
    top: 14px;
    right: 16px;
    font-size: 12px;
  }

  .course-icon {
    width: 44px;
    height: 44px;
    font-size: 18px;
    margin-bottom: 12px;
  }

  .course-card h3 {
    font-size: 17px;
  }

  .course-card p {
    font-size: 14px;
  }

  .course-meta {
    font-size: 12px;
    padding-top: 12px;
    margin-bottom: 14px;
  }

  .course-link {
    font-size: 14px;
  }

  .section-button-center .btn-outline {
    padding: 12px 22px;
    font-size: 14px;
  }
}

/* Extra small screens */
@media (max-width: 400px) {
  .course-card {
    padding: 20px 14px 14px;
  }

  .course-icon {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }

  .course-card h3 {
    font-size: 16px;
  }

  .course-meta {
    flex-wrap: wrap;
    gap: 8px;
  }
}
/* ===== ABOUT TECHIZONE (HOME PAGE) ===== */
.about-home-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

.about-home-image {
  border-radius: var(--radius, 18px);
  overflow: hidden;
}

.about-home-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.about-home-content {
  padding: 10px 0;
}

.about-home-content .eyebrow {
  margin-bottom: 12px;
}

.about-home-content h2 {
  font: 800 clamp(28px, 3.5vw, 44px)/1.15 Montserrat, sans-serif;
  color: var(--ink, #252525);
  margin-bottom: 16px;
}

.about-home-content h2 span {
  color: var(--maroon, #d10000);
}

.about-home-content p {
  color: var(--muted, #667085);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 16px;
}

.about-home-content p:last-of-type {
  margin-bottom: 24px;
}

/* ----- Points grid (checkmarks) ----- */
.about-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 24px;
  margin-bottom: 30px;
}

.about-points div {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 15px;
  color: var(--ink, #252525);
  justify-content: flex-start;  /* ensures left alignment */
}

.about-points i {
  color: var(--maroon, #d10000);
  font-size: 16px;
  width: 20px;
  text-align: center;
}

/* ----- Button inside about ----- */
.about-home-content .btn-primary {
  background: var(--maroon, #d10000);
  color: #fff;
  border: 0;
  padding: 14px 26px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.about-home-content .btn-primary:hover {
  background: var(--maroon-dark, #960103);
  transform: translateY(-2px);
}

.about-home-content .btn-primary span {
  transition: transform 0.2s;
}

.about-home-content .btn-primary:hover span {
  transform: translateX(4px);
}

/* ===== RESPONSIVE ===== */

/* Tablets & small laptops */
@media (max-width: 992px) {
  .about-home-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about-home-image {
    max-width: 600px;
    margin: 0 auto;
  }

  .about-home-content {
    text-align: left;  /* already left, but kept explicit */
  }

  /* ✅ Removed centering overrides */
  .about-points {
    justify-items: start;  /* left-align grid items */
  }

  .about-home-content .btn-primary {
    margin: 0;  /* remove auto margin */
  }
}

/* Mobile devices */
@media (max-width: 600px) {
  .about-home-grid {
    gap: 30px;
    padding: 0 4%;
  }

  .about-home-content h2 {
    font-size: 28px;
  }

  .about-home-content p {
    font-size: 15px;
  }

  .about-points {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    justify-items: start;  /* left-aligned */
  }

  .about-points div {
    font-size: 14px;
    justify-content: flex-start;  /* left-aligned items */
  }

  .about-home-content .btn-primary {
    padding: 12px 20px;
    font-size: 14px;
    margin: 0;  /* ensure left alignment */
  }
}

/* Extra small screens (≤400px) */
@media (max-width: 400px) {
  .about-points {
    grid-template-columns: 1fr;
    gap: 8px;
    justify-items: start;
  }

  .about-points div {
    justify-content: flex-start;
  }

  .about-home-content .btn-primary {
    width: 100%;
    justify-content: center;  /* optional: keep button full-width & centered, or remove if you prefer left */
    /* If you want the button left-aligned even on very small screens, replace with: justify-content: flex-start; */
  }
}


.back-to-top {
  position: fixed; bottom: 90px; right: 20px;
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--maroon); color: #fff; border: 0;
  font-size: 20px; cursor: pointer;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  z-index: 999; transition: opacity 0.3s, transform 0.3s;
  opacity: 0; transform: translateY(20px);
  pointer-events: none;
}
.back-to-top.visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.back-to-top:hover { background: var(--maroon-dark); }

/* Hide share button on desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .share-btn {
    display: none !important;
  }
}
/* Style the share button like the other social icons */
.share-btn {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  background: transparent;
  color: #c9c4c6;
  font-size: 14px;
  cursor: pointer;
  transition: .25s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.share-btn:hover {
  background: #b51c23;
  border-color: #b51c23;
  color: #fff;
  transform: translateY(-2px);
}


.trainer-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: var(--radius, 18px);
  padding: 30px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

.trainer-top {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: nowrap; /* prevent wrapping on small screens */
}

.trainer-photo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  /*object-fit: cover;*/
  flex-shrink: 0;
  border: 3px solid var(--maroon);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.trainer-headline {
  flex: 1;
}

.trainer-headline h3 {
  font: 700 22px Montserrat, sans-serif;
  margin: 0 0 4px;
  color: var(--ink);
}

.trainer-qualification {
  font-size: 15px;
  font-weight: 600;
  color: var(--maroon);
  margin: 0;
}

.trainer-card ul {
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  list-style: none;
}

.trainer-card ul li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 4px;
}

.trainer-card ul li::before {
  content: "•";
  color: var(--maroon);
  font-weight: 800;
  position: absolute;
  left: 0;
  top: 0;
}

/* Responsive: shrink photo and adjust spacing on small screens */
@media (max-width: 600px) {
  .trainer-photo {
    width: 70px;
    height: 70px;
  }
  .trainer-headline h3 {
    font-size: 18px;
  }
  .trainer-qualification {
    font-size: 13px;
  }
  .trainer-top {
    gap: 14px;
  }
}