/* =========================================================
   TEZ Automotive Consultancy  —  Theme
   Palette: deep navy #0f1f3d, blue #1a3a6c, orange #ff6b1a
   ========================================================= */
:root{
  --tz-navy:#0f1f3d;
  --tz-blue:#1a3a6c;
  --tz-blue-2:#1e4b8c;
  --tz-orange:#ff6b1a;
  --tz-orange-2:#ff8440;
  --tz-light:#f5f7fa;
  --tz-muted:#6c757d;
  --tz-text:#2c3e50;
  --tz-border:#e5e9f0;
  --tz-success:#28a745;
  --tz-shadow:0 10px 30px rgba(15,31,61,.08);
  --tz-shadow-hover:0 15px 40px rgba(15,31,61,.15);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth; font-size:62.5%;}
body{
  margin:0;
  font-family:'Open Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:1.5rem;
  line-height:1.6;
  color:var(--tz-text);
  background:#fff;
}
@media (min-width:992px){ body{font-size:1.6rem;} }

h1,h2,h3,h4,h5,h6{
  font-family:'Raleway','Open Sans',sans-serif;
  color:var(--tz-navy);
  margin:1.2rem 0 1rem;
  line-height:1.25;
  font-weight:800;
}
h1{font-size:2.8rem;} h2{font-size:2.4rem;} h3{font-size:1.9rem;} h4{font-size:1.6rem;}
@media (min-width:992px){
  h1{font-size:4.2rem;} h2{font-size:3.4rem;} h3{font-size:2.2rem;} h4{font-size:1.8rem;}
}

a{color:var(--tz-blue); text-decoration:none; transition:.2s;}
a:hover{color:var(--tz-orange);}
img{max-width:100%; height:auto;}

/* -------------------- BUTTONS -------------------- */
.tz-btn,
.tz-btn-outline{
  display:inline-flex; align-items:center; gap:.8rem;
  padding:1.2rem 2.6rem; border-radius:.6rem;
  font-weight:700; font-size:1.5rem; letter-spacing:.3px;
  border:2px solid var(--tz-orange);
  background:var(--tz-orange); color:#fff;
  transition:.2s all ease; cursor:pointer;
  text-transform:uppercase;
}
.tz-btn:hover{background:var(--tz-orange-2); border-color:var(--tz-orange-2); color:#fff; transform:translateY(-2px);}
.tz-btn-outline{background:transparent; color:#fff; border-color:#fff;}
.tz-btn-outline:hover{background:#fff; color:var(--tz-navy);}

.tz-btn-sm{padding:.8rem 1.6rem; font-size:1.3rem;}
.tz-btn-blue{background:var(--tz-blue); border-color:var(--tz-blue);}
.tz-btn-blue:hover{background:var(--tz-blue-2); border-color:var(--tz-blue-2);}

/* -------------------- TOPBAR -------------------- */
.tz-topbar{
  background:#07152e; color:#b8c3d6;
  font-size:1.3rem; padding:.8rem 0;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.tz-topbar a{color:#dbe3f0;}
.tz-topbar a:hover{color:var(--tz-orange);}
.tz-topbar .tz-sep{opacity:.3; margin:0 1rem;}

/* -------------------- HEADER / NAV (dark theme) -------------------- */
.tz-header{
  background:var(--tz-navy);
  box-shadow:0 2px 15px rgba(0,0,0,.3);
  position:sticky; top:0; z-index:999;
  border-top:1px solid rgba(255,255,255,.05);
}
.tz-navbar{padding:1.2rem 0;}
.tz-logo{display:flex; align-items:center; text-decoration:none;}
.tz-logo-img{height:7rem; width:auto; display:block;}
@media (max-width:991px){ .tz-logo-img{height:6rem;} }
@media (max-width:420px){ .tz-logo-img{height:5rem;} }

.tz-nav{display:flex; gap:2.6rem; align-items:center; margin:0; padding:0; list-style:none;}
.tz-nav a{
  color:#e5ecf7; font-weight:600; font-size:1.4rem;
  position:relative; padding:.4rem 0; text-transform:uppercase; letter-spacing:.5px;
}
.tz-nav a::after{
  content:""; position:absolute; left:0; bottom:-4px; width:0; height:2px;
  background:var(--tz-orange); transition:.25s;
}
.tz-nav a:hover,
.tz-nav a.active{color:var(--tz-orange);}
.tz-nav a:hover::after,
.tz-nav a.active::after{width:100%;}

.tz-nav-toggle{
  background:none; border:0; font-size:2.6rem; color:#fff;
  display:none; cursor:pointer; padding:.3rem .6rem;
}

/* Mobile-only quick-call pill in header */
.tz-mob-actions{display:none; align-items:center; gap:1rem;}
.tz-mob-call{
  position:relative;
  display:inline-flex; align-items:center; gap:.8rem;
  padding:.9rem 1.6rem;
  background:linear-gradient(135deg, var(--tz-orange), #ff8440);
  color:#fff; font-weight:800; font-size:1.3rem; letter-spacing:.5px;
  border-radius:3rem; text-transform:uppercase;
  box-shadow:0 6px 18px rgba(255,107,26,.45);
  text-decoration:none;
}
.tz-mob-call i{font-size:1.4rem;}
.tz-mob-call .tz-call-txt{line-height:1;}
.tz-mob-call:hover{color:#fff;}
.tz-mob-call .tz-call-ring{
  position:absolute; inset:0;
  border-radius:3rem; border:2px solid var(--tz-orange);
  animation:tz-pulse 1.8s ease-out infinite;
  pointer-events:none;
}
@keyframes tz-pulse{
  0%{transform:scale(.95); opacity:.9;}
  70%{transform:scale(1.18); opacity:0;}
  100%{transform:scale(1.18); opacity:0;}
}
@media (max-width:991px){
  .tz-mob-actions{display:inline-flex;}
}
@media (max-width:420px){
  .tz-mob-call{padding:.8rem 1.3rem; font-size:1.2rem;}
  .tz-mob-call .tz-call-txt{display:none;} /* icon only on very small screens */
  .tz-mob-call i{font-size:1.6rem;}
}
@media (max-width:991px){
  .tz-nav-toggle{display:block;}
  .tz-nav{
    position:absolute; top:100%; left:0; right:0;
    background:var(--tz-navy);
    flex-direction:column; align-items:stretch; gap:0;
    padding:.4rem 0;
    box-shadow:0 10px 25px rgba(0,0,0,.25);
    max-height:0; overflow:hidden; transition:max-height .3s ease;
    border-top:1px solid rgba(255,255,255,.05);
  }
  .tz-nav.open{max-height:60rem;}
  .tz-nav li{border-bottom:1px solid rgba(255,255,255,.05);}
  .tz-nav li:last-child{border:0;}
  .tz-nav a{display:block; padding:1.4rem 2rem; color:#e5ecf7;}
  .tz-nav a::after{display:none;}
}

/* -------------------- HERO -------------------- */
.tz-hero{
  position:relative;
  /* Mobile: small image (saves bandwidth) */
  background:
    linear-gradient(135deg, rgba(15,31,61,.86) 0%, rgba(26,58,108,.70) 50%, rgba(15,31,61,.92) 100%),
    url('../images/hero-bg-mobile.jpg') center center / cover no-repeat;
  color:#fff; padding:7rem 0 8rem;
  overflow:hidden;
}
/* Desktop: full HD image + parallax */
@media (min-width:768px){
  .tz-hero{
    background:
      linear-gradient(135deg, rgba(15,31,61,.86) 0%, rgba(26,58,108,.70) 50%, rgba(15,31,61,.92) 100%),
      url('../images/hero-bg.jpg') center center / cover no-repeat;
  }
}
@media (min-width:992px){
  .tz-hero{background-attachment:scroll, fixed;} /* parallax effect on desktop */
}
.tz-hero::before{
  content:""; position:absolute; right:-10rem; top:-10rem;
  width:40rem; height:40rem; border-radius:50%;
  background:radial-gradient(circle,rgba(255,107,26,.3),transparent 70%);
  pointer-events:none;
}
.tz-hero::after{
  /* subtle vignette at the bottom to help cards section merge */
  content:""; position:absolute; left:0; right:0; bottom:0; height:8rem;
  background:linear-gradient(to bottom, transparent, rgba(15,31,61,.4));
  pointer-events:none;
}
.tz-hero .tz-hero-inner{position:relative; z-index:2;}
.tz-hero h1{
  color:#fff; font-size:3.2rem; font-weight:900;
  text-transform:uppercase; letter-spacing:1px;
}
@media (min-width:992px){ .tz-hero h1{font-size:5rem;} }
.tz-hero .tz-tagline{
  font-size:1.8rem; color:#ff9d6e; font-weight:600; margin-bottom:1rem;
  letter-spacing:1px;
}
.tz-hero .tz-sub{
  color:#dbe3f0; font-size:1.6rem; margin:2rem 0 1rem; max-width:70rem;
}
.tz-hero .tz-chips{display:flex; flex-wrap:wrap; gap:1rem; margin:2.5rem 0;}
.tz-hero .tz-chips span{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
  padding:.6rem 1.4rem; border-radius:2rem; font-size:1.3rem;
  backdrop-filter:blur(5px);
}
.tz-hero .tz-trust{
  display:inline-flex; gap:1rem; align-items:center;
  background:rgba(255,107,26,.15); border:1px solid rgba(255,107,26,.4);
  padding:.8rem 1.8rem; border-radius:3rem; font-size:1.3rem; font-weight:700;
  color:#ffb892; letter-spacing:2px; margin-bottom:2rem;
}
.tz-hero .tz-cta{display:flex; gap:1.5rem; flex-wrap:wrap; margin-top:2rem;}

/* -------------------- SECTIONS -------------------- */
.tz-section{padding:7rem 0;}
.tz-section-head{text-align:center; max-width:70rem; margin:0 auto 5rem;}
.tz-section-head .tz-eyebrow{
  color:var(--tz-orange); font-weight:800; font-size:1.3rem;
  letter-spacing:3px; text-transform:uppercase; margin-bottom:1rem;
}
.tz-section-head h2{margin-top:0;}
.tz-section-head p{color:var(--tz-muted); font-size:1.6rem;}

.tz-bg-light{background:var(--tz-light);}

/* -------------------- PRICING CARDS (homepage featured) -------------------- */
.tz-pricing-card{
  background:#fff; border-radius:1.4rem; padding:3rem 2.5rem;
  box-shadow:var(--tz-shadow); border:1px solid var(--tz-border);
  text-align:center; height:100%; transition:.3s; position:relative; overflow:hidden;
}
.tz-pricing-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--tz-blue),var(--tz-orange));
}
.tz-pricing-card:hover{transform:translateY(-6px); box-shadow:var(--tz-shadow-hover);}
.tz-pricing-card .tz-icon{
  width:7rem; height:7rem; border-radius:50%;
  background:linear-gradient(135deg,rgba(26,58,108,.1),rgba(255,107,26,.1));
  color:var(--tz-blue); display:grid; place-items:center;
  margin:0 auto 2rem; font-size:3rem;
}
.tz-pricing-card h3{font-size:1.9rem; min-height:5rem; margin:1rem 0;}
.tz-pricing-card .tz-desc{color:var(--tz-muted); font-size:1.4rem; min-height:7rem;}
.tz-pricing-card .tz-price{
  font-family:'Raleway',sans-serif; font-size:2.8rem; font-weight:900;
  color:var(--tz-orange); margin:1.5rem 0 2rem;
}
.tz-pricing-card .tz-price small{display:block; font-size:1.2rem; color:var(--tz-muted); font-weight:500;}

/* -------------------- SERVICE CARDS (services page) -------------------- */
.tz-service-card{
  background:#fff; border-radius:1.2rem; padding:2.5rem; height:100%;
  box-shadow:var(--tz-shadow); transition:.3s; border:1px solid var(--tz-border);
}
.tz-service-card:hover{transform:translateY(-4px); box-shadow:var(--tz-shadow-hover);}
.tz-service-card .tz-icon{
  width:5.5rem; height:5.5rem; border-radius:1rem; background:var(--tz-blue);
  color:#fff; display:grid; place-items:center; font-size:2.3rem; margin-bottom:1.6rem;
}
.tz-service-card h3{font-size:1.8rem; margin:1rem 0;}
.tz-service-card .tz-desc{color:var(--tz-muted); font-size:1.4rem; margin-bottom:1.5rem;}
.tz-service-card .tz-price{color:var(--tz-orange); font-weight:800; font-size:1.6rem;}
.tz-service-card .tz-link{
  color:var(--tz-blue); font-weight:700; font-size:1.3rem;
  display:inline-flex; gap:.6rem; align-items:center;
}

/* -------------------- PROCESS STEPS -------------------- */
.tz-step{
  position:relative; text-align:center; padding:3.5rem 2rem 2.5rem;
  background:#fff; border-radius:1.4rem; box-shadow:var(--tz-shadow);
  height:100%; border:1px solid var(--tz-border); transition:.3s;
}
.tz-step:hover{transform:translateY(-4px);}
.tz-step .tz-step-num{
  position:absolute; top:-2.2rem; left:50%; transform:translateX(-50%);
  width:5rem; height:5rem; border-radius:50%;
  background:var(--tz-orange);
  color:#fff; display:grid; place-items:center;
  font-family:'Raleway',sans-serif; font-size:2rem; font-weight:900;
  box-shadow:0 8px 18px rgba(255,107,26,.35);
  border:4px solid #fff;
}
.tz-step .tz-step-icon{
  width:6.5rem; height:6.5rem; border-radius:50%;
  background:rgba(255,107,26,.08);
  color:var(--tz-orange); font-size:2.6rem;
  display:grid; place-items:center;
  margin:1.5rem auto 1rem;
  transition:.3s;
}
.tz-step:hover .tz-step-icon{background:var(--tz-orange); color:#fff;}
.tz-step h3{font-size:1.7rem; margin:1rem 0 .6rem;}
.tz-step p{color:var(--tz-muted); font-size:1.4rem;}

/* -------------------- WHY US / FEATURES -------------------- */
.tz-feature{display:flex; gap:1.5rem; align-items:flex-start; margin-bottom:2rem;}
.tz-feature .tz-feature-icon{
  flex-shrink:0; width:5rem; height:5rem; border-radius:1rem;
  background:rgba(255,107,26,.1); color:var(--tz-orange);
  display:grid; place-items:center; font-size:2.2rem;
}
.tz-feature h4{margin:0 0 .5rem; font-size:1.7rem;}
.tz-feature p{color:var(--tz-muted); margin:0; font-size:1.4rem;}

/* -------------------- CTA BAND -------------------- */
.tz-cta-band{
  background:linear-gradient(135deg,var(--tz-blue),var(--tz-navy));
  color:#fff; padding:5rem 0; text-align:center; position:relative; overflow:hidden;
}
.tz-cta-band::before{
  content:""; position:absolute; left:-5rem; top:-5rem; width:20rem; height:20rem;
  border-radius:50%; background:rgba(255,107,26,.15);
}
.tz-cta-band::after{
  content:""; position:absolute; right:-5rem; bottom:-5rem; width:20rem; height:20rem;
  border-radius:50%; background:rgba(255,107,26,.15);
}
.tz-cta-band *{position:relative; z-index:2;}
.tz-cta-band h2{color:#fff;}
.tz-cta-band p{color:#dbe3f0; margin-bottom:3rem;}

/* -------------------- FORM -------------------- */
.tz-form{background:#fff; padding:3rem; border-radius:1.4rem; box-shadow:var(--tz-shadow);}
.tz-form label{
  display:block; font-weight:700; color:var(--tz-navy);
  font-size:1.4rem; margin-bottom:.6rem;
}
.tz-input,.tz-select,.tz-textarea{
  width:100%; padding:1.2rem 1.4rem; border:1px solid var(--tz-border);
  border-radius:.6rem; font-size:1.5rem; font-family:inherit; color:var(--tz-text);
  background:#fff; transition:.2s;
}
.tz-input:focus,.tz-select:focus,.tz-textarea:focus{
  border-color:var(--tz-orange); outline:0; box-shadow:0 0 0 4px rgba(255,107,26,.1);
}
.tz-textarea{min-height:12rem; resize:vertical;}
.tz-form-group{margin-bottom:1.8rem;}
.tz-help{font-size:1.2rem; color:var(--tz-muted); margin-top:.4rem;}
.tz-alert{padding:1.3rem 1.6rem; border-radius:.6rem; margin-bottom:2rem; font-size:1.4rem; font-weight:600;}
.tz-alert.success{background:#eaf7ee; color:#1e7e34; border-left:4px solid #28a745;}
.tz-alert.error{background:#fdecee; color:#c82333; border-left:4px solid #dc3545;}

/* -------------------- FAQ -------------------- */
.tz-faq-item{
  background:#fff; border:1px solid var(--tz-border); border-radius:1rem;
  margin-bottom:1.2rem; overflow:hidden; transition:.2s;
}
.tz-faq-item.open{box-shadow:var(--tz-shadow);}
.tz-faq-q{
  padding:1.8rem 2rem; cursor:pointer; display:flex; justify-content:space-between;
  align-items:center; font-weight:700; color:var(--tz-navy); font-size:1.6rem;
}
.tz-faq-q .tz-chev{transition:.2s; color:var(--tz-orange);}
.tz-faq-item.open .tz-chev{transform:rotate(180deg);}
.tz-faq-a{
  max-height:0; overflow:hidden; transition:max-height .3s ease;
  padding:0 2rem; color:var(--tz-muted); font-size:1.5rem;
}
.tz-faq-item.open .tz-faq-a{max-height:30rem; padding:0 2rem 1.8rem;}

/* -------------------- PAGE BANNER -------------------- */
.tz-page-banner{
  background:linear-gradient(135deg,var(--tz-navy),var(--tz-blue));
  color:#fff; padding:5rem 0; text-align:center;
}
.tz-page-banner h1{color:#fff; margin:0;}
.tz-page-banner .tz-breadcrumb{color:#dbe3f0; margin-top:1rem; font-size:1.4rem;}
.tz-page-banner .tz-breadcrumb a{color:#dbe3f0;}
.tz-page-banner .tz-breadcrumb .active{color:var(--tz-orange);}

/* -------------------- CONTACT INFO BOX -------------------- */
.tz-contact-item{
  display:flex; gap:1.4rem; align-items:flex-start; padding:1.8rem;
  background:#fff; border-radius:1.2rem; box-shadow:var(--tz-shadow);
  margin-bottom:1.5rem; border:1px solid var(--tz-border);
  transition:.25s;
}
.tz-contact-item:hover{transform:translateY(-2px); box-shadow:var(--tz-shadow-hover);}
.tz-contact-item .ci-icon{
  flex-shrink:0; width:5.5rem; height:5.5rem; border-radius:1.4rem;
  color:#fff; display:grid; place-items:center; font-size:2.2rem;
  background:var(--tz-blue);                    /* default — overridden per type */
  box-shadow:0 6px 16px rgba(26,58,108,.25);
}
.tz-contact-item .ci-icon.ci-call   {background:#1a3a6c; box-shadow:0 6px 16px rgba(26,58,108,.3);}
.tz-contact-item .ci-icon.ci-wa     {background:#25D366; box-shadow:0 6px 16px rgba(37,211,102,.35);}
.tz-contact-item .ci-icon.ci-email  {background:#ff6b1a; box-shadow:0 6px 16px rgba(255,107,26,.3);}
.tz-contact-item .ci-icon.ci-office {background:#6f42c1; box-shadow:0 6px 16px rgba(111,66,193,.3);}
.tz-contact-item h4{margin:0 0 .4rem; font-size:1.6rem; color:var(--tz-navy);}
.tz-contact-item a,.tz-contact-item p{color:var(--tz-muted); margin:0; font-size:1.4rem; word-break:break-word;}
.tz-contact-item a:hover{color:var(--tz-orange);}

/* -------------------- FOOTER -------------------- */
.tz-footer{background:var(--tz-navy); color:#b8c3d6; padding:5rem 0 2rem; margin-top:0;}
.tz-footer h4{color:#fff; font-size:1.5rem; margin-bottom:1.5rem; text-transform:uppercase; letter-spacing:1px;}
.tz-footer a{color:#b8c3d6; display:block; padding:.4rem 0; font-size:1.4rem;}
.tz-footer a:hover{color:var(--tz-orange);}
.tz-footer .tz-social{display:flex; gap:1rem; margin-top:1.5rem;}
.tz-footer .tz-social a{
  width:3.8rem; height:3.8rem; border-radius:50%;
  background:rgba(255,255,255,.08); display:grid; place-items:center;
  color:#fff; padding:0;
}
.tz-footer .tz-social a:hover{background:var(--tz-orange);}
.tz-footer .tz-disclaimer{
  background:rgba(255,255,255,.05); border-left:3px solid var(--tz-orange);
  padding:1.4rem 1.8rem; border-radius:.6rem; margin:2rem 0;
  font-size:1.3rem; color:#9aa6c0;
}
.tz-footer-bottom{
  border-top:1px solid rgba(255,255,255,.08); padding-top:2rem; margin-top:3rem;
  text-align:center; font-size:1.3rem; color:#8894ad;
}

/* -------------------- FLOATING ACTION BUTTONS -------------------- */
.tz-float{
  position:fixed; right:2rem; z-index:998;
  display:grid; place-items:center;
  width:5.5rem; height:5.5rem; border-radius:50%;
  color:#fff; font-size:2.4rem;
  box-shadow:0 8px 20px rgba(0,0,0,.25);
  transition:.2s;
}
.tz-float:hover{transform:scale(1.1); color:#fff;}
.tz-float.wa{bottom:2rem; background:#25D366;}
.tz-float.call{bottom:9rem; background:var(--tz-orange);}

/* -------------------- UTIL -------------------- */
.tz-container{max-width:1200px; margin:0 auto; padding:0 2rem;}
.tz-grid{display:grid; gap:3rem;}
.tz-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.tz-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.tz-grid.cols-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:991px){
  .tz-grid.cols-4{grid-template-columns:repeat(2,1fr);}
  .tz-grid.cols-3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .tz-grid.cols-2,.tz-grid.cols-3,.tz-grid.cols-4{grid-template-columns:1fr;}
  .tz-section{padding:5rem 0;}
  .tz-hero{padding:5rem 0 6rem;}
}

/* small text helpers */
.text-center{text-align:center;}
.mt-2{margin-top:1rem;} .mt-3{margin-top:1.5rem;} .mt-4{margin-top:2rem;} .mt-5{margin-top:3rem;}
.mb-2{margin-bottom:1rem;} .mb-3{margin-bottom:1.5rem;} .mb-4{margin-bottom:2rem;} .mb-5{margin-bottom:3rem;}
.d-flex{display:flex;} .align-center{align-items:center;} .gap-2{gap:1rem;} .gap-3{gap:1.5rem;}
.flex-wrap{flex-wrap:wrap;}


/* =========================================================
   MOBILE RESPONSIVE — refined for touch & readability
   ========================================================= */

/* Base mobile tweaks */
@media (max-width:991px){
  html{font-size:60%;}
  .tz-container{padding:0 1.6rem;}
  .tz-section{padding:5rem 0;}
  .tz-section-head{margin-bottom:3.5rem;}
  .tz-section-head h2{font-size:2.6rem;}
  h1{font-size:2.6rem;} h2{font-size:2.2rem;} h3{font-size:1.8rem;}
}

@media (max-width:767px){
  html{font-size:58%;}
  .tz-container{padding:0 2.4rem;}

  /* Topbar — stack cleanly, keep contact one-line */
  .tz-topbar{font-size:1.2rem; padding:.6rem 0;}
  .tz-topbar .tz-container{justify-content:center; text-align:center;}
  .tz-topbar .tz-sep{display:none;}
  .tz-topbar > .tz-container > div:nth-child(2){display:none;}

  /* Header & nav — explicit horizontal padding so logo & hamburger don't hug edges */
  .tz-navbar{padding:1.1rem 1rem;}
  .tz-header .tz-container{padding:0 2.4rem;}
  .tz-logo-mark{width:3.8rem; height:3.8rem; font-size:1.9rem;}
  .tz-logo-text .tz-logo-title{font-size:1.6rem;}
  .tz-logo-text .tz-logo-sub{font-size:.95rem; letter-spacing:1px;}
  .tz-nav-toggle{font-size:2.2rem; padding:.4rem .6rem;}
  .tz-nav{box-shadow:0 20px 30px rgba(0,0,0,.1);}

  /* Hero */
  .tz-hero{padding:4rem 0 5rem;}
  .tz-hero h1{font-size:2.6rem; letter-spacing:.5px;}
  .tz-hero .tz-tagline{font-size:1.4rem;}
  .tz-hero .tz-sub{font-size:1.4rem;}
  .tz-hero .tz-trust{font-size:1.1rem; padding:.6rem 1.4rem; letter-spacing:1.5px;}
  .tz-hero .tz-chips{gap:.6rem;}
  .tz-hero .tz-chips span{font-size:1.1rem; padding:.5rem 1rem;}
  .tz-hero .tz-cta{flex-direction:column; gap:1rem;}
  .tz-hero .tz-cta .tz-btn,.tz-hero .tz-cta .tz-btn-outline{width:100%; justify-content:center;}

  /* Buttons */
  .tz-btn, .tz-btn-outline{padding:1.3rem 2rem; font-size:1.4rem;}
  .tz-btn-sm{padding:1rem 1.6rem; font-size:1.3rem;}

  /* Page banners */
  .tz-page-banner{padding:3rem 0;}
  .tz-page-banner h1{font-size:2.4rem;}

  /* Cards full width, breathing space */
  .tz-pricing-card{padding:2.5rem 2rem;}
  .tz-pricing-card h3{min-height:auto; font-size:1.7rem;}
  .tz-pricing-card .tz-desc{min-height:auto;}
  .tz-pricing-card .tz-price{font-size:2.4rem;}
  .tz-pricing-card .tz-icon{width:6rem; height:6rem; font-size:2.5rem;}

  .tz-service-card{padding:2rem;}
  .tz-step{padding:3.5rem 1.6rem 2rem;}
  .tz-step .tz-step-num{width:4.4rem; height:4.4rem; font-size:1.7rem; top:-1.8rem;}

  /* Section head text should wrap nicely */
  .tz-section-head p{font-size:1.5rem;}

  /* About / content grid — stack & re-order */
  .tz-grid.cols-2{grid-template-columns:1fr; gap:3rem;}
  .tz-grid.cols-3{grid-template-columns:1fr; gap:2rem;}
  .tz-grid.cols-4{grid-template-columns:1fr; gap:2rem;}

  /* Forms */
  .tz-form{padding:2.4rem 1.8rem;}
  .tz-input,.tz-select,.tz-textarea{font-size:1.6rem; padding:1.2rem 1.3rem;} /* >=16px prevents iOS zoom */
  .tz-form-group{margin-bottom:1.4rem;}

  /* Floating buttons — smaller, side-by-side at bottom */
  .tz-float{width:4.8rem; height:4.8rem; font-size:2rem;}
  .tz-float.wa{bottom:1.4rem; right:1.4rem;}
  .tz-float.call{bottom:7.5rem; right:1.4rem;}

  /* CTA band */
  .tz-cta-band{padding:4rem 0;}
  .tz-cta-band h2{font-size:2.2rem;}

  /* Feature list — tighter */
  .tz-feature{gap:1.2rem; margin-bottom:1.6rem;}
  .tz-feature .tz-feature-icon{width:4.2rem; height:4.2rem; font-size:1.8rem;}
  .tz-feature h4{font-size:1.5rem;}

  /* Contact items */
  .tz-contact-item{padding:1.4rem; gap:1.2rem;}
  .tz-contact-item .ci-icon{width:4.4rem; height:4.4rem; font-size:1.8rem;}

  /* FAQ */
  .tz-faq-q{padding:1.5rem 1.6rem; font-size:1.5rem;}
}

@media (max-width:420px){
  .tz-hero h1{font-size:2.2rem;}
  .tz-hero .tz-trust{font-size:1rem; padding:.5rem 1.1rem;}
  .tz-section-head h2{font-size:2.1rem;}
  .tz-pricing-card .tz-price{font-size:2.1rem;}
}

/* Smoother tap feedback on touch devices */
@media (hover: none){
  .tz-pricing-card:hover,
  .tz-service-card:hover,
  .tz-step:hover,
  .tz-btn:hover,
  .tz-btn-outline:hover{transform:none;}
  a, button, .tz-pricing-card, .tz-service-card, .tz-nav a{
    -webkit-tap-highlight-color: rgba(255,107,26,.15);
  }
}

/* Prevent horizontal scroll on narrow screens */
html, body{overflow-x:hidden;}
body{width:100%;}
img, video, iframe{max-width:100%;}

/* =========================================================
   ADMIN — Mobile responsive (rebuilt)
   ========================================================= */
.adm-nav-toggle{
  display:none;
  background:none; border:0; color:var(--tz-navy);
  font-size:2.4rem; cursor:pointer; padding:.4rem 1rem;
  line-height:1;
}
.adm-side-overlay{
  position:fixed; inset:0;
  background:rgba(15,31,61,.55);
  z-index:998;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .25s ease;
}
.adm-side-overlay.show{opacity:1; visibility:visible; pointer-events:auto;}

@media (max-width:991px){
  /* Layout → single column, side nav off-canvas */
  .adm-wrap{display:block; grid-template-columns:none; min-height:100vh;}

  .adm-nav-toggle{display:inline-flex; align-items:center;}

  .adm-side{
    position:fixed;
    top:0; left:0;
    width:min(28rem, 85vw);
    height:100vh; max-height:100vh;
    z-index:999;
    transform:translateX(-100%);
    transition:transform .28s ease;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-shadow:4px 0 24px rgba(0,0,0,.25);
    padding:1.6rem 0 2.5rem;
  }
  .adm-side.open{transform:translateX(0);}

  .adm-brand{
    padding:0 1.8rem 1.6rem;
    gap:.8rem;
  }
  .adm-brand img{max-width:14rem !important;}
  .adm-nav{padding:1rem 0 0;}
  .adm-nav a{padding:1.3rem 1.8rem; font-size:1.5rem;}

  /* Main area */
  .adm-main{display:flex; flex-direction:column; min-width:0; width:100%;}

  .adm-topbar{
    position:sticky; top:0; z-index:40;
    padding:1.1rem 1.4rem;
    gap:1rem;
    min-height:6rem;
  }
  .adm-topbar h1{font-size:1.6rem; margin:0; line-height:1.2;}
  .adm-topbar .adm-user{gap:.8rem;}
  .adm-topbar .adm-user > div:not(.avatar){display:none;}
  .adm-topbar .adm-user .avatar{width:3.4rem; height:3.4rem; font-size:1.3rem;}

  .adm-content{padding:1.6rem 1.4rem 6rem;}

  /* Stats */
  .adm-stats{grid-template-columns:1fr 1fr; gap:1.1rem; margin-bottom:1.6rem;}
  .stat{padding:1.5rem 1.4rem;}
  .stat .num{font-size:2.2rem;}
  .stat .lbl{font-size:1.1rem;}

  /* Cards & tables */
  .adm-card{padding:1.6rem 1.4rem; border-radius:.8rem;}
  .adm-filter{flex-direction:column; align-items:stretch; gap:.8rem;}
  .adm-filter select,
  .adm-filter input,
  .adm-filter .tz-btn,
  .adm-filter > a.tz-btn{width:100%;}
  .adm-filter > div[style*="margin-left"]{margin:0 !important; text-align:center;}
  .adm-table{font-size:1.3rem;}
  .adm-table th, .adm-table td{padding:.9rem 1rem;}

  /* Lock body scroll while drawer open */
  body.adm-lock{overflow:hidden;}
}

@media (max-width:600px){
  .adm-stats{grid-template-columns:1fr;}
  .adm-content{padding:1.4rem 1.2rem 6rem;}
  .adm-card{padding:1.4rem 1.2rem;}

  /* Convert tables to card-style rows */
  .adm-table thead{display:none;}
  .adm-table,
  .adm-table tbody,
  .adm-table tr,
  .adm-table td{display:block; width:100%;}
  .adm-table tr{
    background:#fff; margin-bottom:1rem; border-radius:.8rem;
    box-shadow:0 2px 10px rgba(0,0,0,.06); padding:1rem 1.2rem;
    border:1px solid var(--tz-border);
  }
  .adm-table td{
    border:0; padding:.5rem 0;
    display:flex; justify-content:space-between;
    gap:1rem; text-align:right; align-items:center;
  }
  .adm-table td::before{
    content:attr(data-label);
    font-weight:700; color:var(--tz-navy);
    text-align:left; flex:1;
    text-transform:uppercase; font-size:1.1rem; letter-spacing:.5px;
  }
  .adm-table td:first-child{
    border-bottom:1px solid var(--tz-border);
    padding-bottom:.9rem; margin-bottom:.5rem;
    font-weight:700; color:var(--tz-blue); font-size:1.5rem;
    justify-content:flex-start;
  }
  .adm-table td:first-child::before{display:none;}

  /* Vertical stat/lead key-value tables inside lead-view keep normal layout */
  .adm-card .adm-table[style*="font-size:1.3rem"] tr{display:table-row;}
  .adm-card .adm-table[style*="font-size:1.3rem"] td,
  .adm-card .adm-table[style*="font-size:1.3rem"] th{display:table-cell; padding:.9rem .6rem;}
  .adm-card .adm-table[style*="font-size:1.3rem"] td::before{display:none;}
}

/* Login card — small screens */
@media (max-width:480px){
  .login-card{padding:2.6rem 1.8rem; margin:1rem;}
}
