/* =========================================================
   THE COURIER STATION — FINAL CONSOLIDATED STYLESHEET
   Combines: base reset, nav (full-screen mobile menu),
   home page (hero/tracking/partners/process/services/reviews),
   team page, branch locations, contact page, FAQ page,
   about/services components, footer — with full responsive
   coverage added across every section.
   ========================================================= */

/* --- GLOBAL RESET --- */
*{ margin:0; padding:0; box-sizing:border-box; }
body{
  font-family: var(--f-body, 'Poppins', sans-serif);
  background-color: var(--bg-light, #ffffff);
  color:#333;
  line-height:1.6;
}
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; }
img{ max-width:100%; display:block; }

/* --- VARIABLES (merged: nav/footer palette + content-card palette) --- */
:root{
  /* nav / footer / buttons */
  --primary-orange: #f97316;
  --primary-blue:   #0f172a;
  --light-blue:     #1e293b;
  --text-muted:     #64748b;
  --bg-light:       #ffffff;

  /* content cards (team / branches / contact / faq / about / services) */
  --ink:        #101B33;
  --ink-2:      #182849;
  --ink-3:      #223260;
  --paper:      #F6F4EE;
  --paper-2:    #FFFFFF;
  --gold:       #E5A02E;
  --gold-deep:  #B87816;
  --line:       #DEDACB;
  --line-dark:  #33436E;
  --ink-soft:   #58627C;
  --paper-soft: #C9CFE0;
  --red-stamp:  #B4432E;

  --f-display: "Poppins", sans-serif;
  --f-body:    "Poppins", sans-serif;
  --f-mono:    "IBM Plex Mono", "Courier New", monospace; /* was missing — used by branch-tag etc. */

  --radius: 4px;
  --container: 1460px;
  --gap: clamp(1.5rem, 4vw, 3rem);
}

.section-title{ text-align:center; }

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  padding:10px 20px;
  border-radius:6px;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  border:none;
  transition:0.3s ease;
}
.btn-orange{ background:var(--primary-orange); color:white; }
.btn-orange:hover{ background:#ea580c; }
.btn-outline{ border:2px solid var(--primary-blue); color:var(--primary-blue); background:transparent; }
.btn-outline:hover{ background:var(--primary-blue); color:white; }


/* =========================================================
   HERO (home page)
   ========================================================= */
.hero{
  background-image:url('./background.jpg');
  background-size:cover;
  background-position:center center;
  color:white;
  padding:100px 5% 150px;
  position:relative;
}
.hero h1{ font-size:3.5rem; margin-bottom:10px; letter-spacing:-1px; line-height:1.15; }
.hero h2{ font-size:1.5rem; font-weight:400; color:#cbd5e1; margin-bottom:5px; }
.hero p{ color:#94a3b8; margin-bottom:40px; }

.tracking-bar{
  max-width:600px;
  display:flex;
  background:white;
  padding:8px;
  border-radius:50px;
  box-shadow:0 10px 25px rgba(0,0,0,0.2);
}
#trackingForm{ display:flex; width:100%; }
form input{
  flex:1; border:none; padding:15px 25px; font-size:16px; border-radius:50px; outline:none; min-width:0;
}
form button{
  background:var(--primary-orange); color:white; border:none; padding:0 30px;
  border-radius:50px; font-weight:bold; cursor:pointer; transition:0.3s; white-space:nowrap;
}
form button:hover{ background:#ea580c; }

/* --- TRUST PARTNERS STRIP --- */
.partners{
  background:white;
  max-width:900px;
  margin:-50px auto 0;
  padding:30px;
  border-radius:12px;
  box-shadow:0 5px 20px rgba(0,0,0,0.05);
  text-align:center;
  position:relative;
  z-index:10;
}
.partners h4{ color:var(--text-muted); font-size:12px; letter-spacing:1px; margin-bottom:20px; }
.partner-logos{
  display:flex; justify-content:space-around; align-items:center; flex-wrap:wrap;
  gap:20px; font-weight:bold; color:var(--text-muted);
}

/* =========================================================
   SECTION SPACING / TITLES
   ========================================================= */
.section{ padding:30px 5%; text-align:center; }
.section-title{ font-size:2rem; color:var(--primary-blue); margin-bottom:10px; }
.section-subtitle{ color:var(--text-muted); margin-bottom:50px; }

/* =========================================================
   PROCESS — HOW IT WORKS (4 steps, home page)
   ========================================================= */
.process-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:30px;
  max-width:1100px;
  margin:0 auto;
}
.step-card{
  background:white; padding:10px 20px; border-radius:12px;
  box-shadow:0 4px 6px rgba(0,0,0,0.02);
  position:relative; text-align:center; border:1px solid #e2e8f0;
}
.step-number{
  background:var(--primary-orange); color:white; width:35px; height:35px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-weight:bold;
  position:absolute; top:-15px; left:50%; transform:translateX(-50%);
}
.step-card h3{ margin:20px 0 10px; font-size:1.1rem; color:var(--primary-blue); }
.step-card p{ font-size:0.9rem; color:var(--text-muted); }

/* =========================================================
   SERVICES GRID (home page)
   ========================================================= */
.services-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:30px;
  max-width:1200px;
  margin:0 auto;
}
.service-card{
  background:white; padding:10px 30px; border-radius:12px;
  box-shadow:0 4px 15px rgba(0,0,0,0.03);
  transition:all 0.3s ease; text-align:center;
  border:1px solid #e2e8f0; border-bottom:4px solid transparent;
}
.service-card:hover{
  transform:translateY(-5px);
  border-bottom:4px solid var(--primary-orange);
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
}
.service-icon{
  font-size:40px; margin:0 auto 20px; color:var(--primary-orange);
  background:#fff7ed; width:80px; height:80px;
  display:flex; align-items:center; justify-content:center; border-radius:50%;
}
.service-card h3{ color:var(--primary-blue); margin-bottom:15px; font-size:1.25rem; }
.service-card p{ color:var(--text-muted); font-size:0.95rem; }

/* =========================================================
   CLIENT REVIEWS SLIDER (home page)
   ========================================================= */
.reviews-section{ background-color:#f8fafc; padding:80px 0; text-align:center; overflow:hidden; }
.slider-container{ width:100%; position:relative; padding:20px 0; }
.slider-container::before, .slider-container::after{
  content:""; position:absolute; top:0; width:80px; height:100%; z-index:2;
}
.slider-container::before{ left:0; background:linear-gradient(to right, #f8fafc 0%, rgba(248,250,252,0) 100%); }
.slider-container::after{ right:0; background:linear-gradient(to left, #f8fafc 0%, rgba(248,250,252,0) 100%); }
.slider-track{
  display:flex; gap:25px; width:max-content;
  animation:scroll 40s linear infinite;
}
.slider-track:hover{ animation-play-state:paused; }
@keyframes scroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
.review-card{
  background:white; padding:30px; border-radius:12px;
  box-shadow:0 4px 15px rgba(0,0,0,0.04);
  width:380px; border:1px solid #e2e8f0; text-align:left; flex-shrink:0;
}
.stars{ color:var(--primary-orange); font-size:1.2rem; margin-bottom:12px; }
.review-text{
  color:var(--text-muted); font-size:0.95rem; line-height:1.6;
  margin-bottom:20px; font-style:italic; min-height:80px;
}
.reviewer-info{ display:flex; align-items:center; gap:15px; border-top:1px solid #f1f5f9; padding-top:15px; }
.reviewer-avatar{
  width:45px; height:45px; background:var(--light-blue); color:white;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:bold; font-size:1.2rem;
}
.reviewer-details h4{ color:var(--primary-blue); font-size:1rem; margin:0 0 3px 0; }
.reviewer-details span{ color:#94a3b8; font-size:0.8rem; }
.flag{ margin-right:10px; }

/* =========================================================
   PAGE HEADER (interior pages: team, contact, faq, about, services)
   ========================================================= */
.page-header{ text-align:center; max-width:700px; margin:0 auto 50px; }
.page-header .eyebrow{
  color:var(--primary-orange); font-weight:700; font-size:13px;
  letter-spacing:2px; text-transform:uppercase; margin-bottom:10px;
}
.page-header h1{ font-size:40px; color:var(--primary-blue); font-weight:800; margin-bottom:14px; }
.page-header .sub{ color:var(--text-muted); font-size:16px; }

/* dark variant hero used on contact/about-style pages */
.page-hero{
  background:var(--ink); color:#fff;
  padding-block:3.4rem 3rem;
  position:relative; overflow:hidden;
  border-bottom:1px solid var(--ink-3);
}
.page-hero h1{ font-size:clamp(2rem,4vw,2.8rem); max-width:18ch; }
.page-hero p{ color:var(--paper-soft); max-width:52ch; font-size:1.05rem; }
.crumb{
  font-family:var(--f-mono); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1rem;
}

.container{ max-width:var(--container); margin-inline:auto; padding-inline:1.5rem; }
.section-head{ max-width:60ch; margin-bottom:3rem; }
.section-head h2{ font-size:clamp(1.7rem,3vw,2.3rem); }
.section-head p{ color:var(--ink-soft); font-size:1.05rem; }
.eyebrow{
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold-deep); display:inline-flex; align-items:center; gap:.6em; margin-bottom:.9em;
}

/* =========================================================
   TEAM SECTION
   ========================================================= */
.team-section{ padding:70px 5% 80px; max-width:1400px; margin:0 auto; }
.team-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:32px; }
.team-card{ position:relative; }
.team-photo{ border-radius:16px; overflow:hidden; background:#d9dde3; }
.team-photo img{ width:100%; aspect-ratio:0.85; object-fit:cover; display:block; }
.team-info{
  position:absolute; left:20px; right:20px; bottom:20px;
  background:#fff; border-radius:10px; padding:18px 16px 16px;
  text-align:center; box-shadow:0 10px 25px rgba(15,23,42,0.15);
}
.team-info h3{
  display:inline-block; font-size:15px; letter-spacing:0.5px; font-weight:800;
  color:var(--primary-blue); padding-bottom:8px; margin-bottom:6px; border-bottom:2px solid #e2e8f0;
}
.team-info p{ font-size:13.5px; font-style:italic; color:var(--text-muted); }

.join-cta{
  background:var(--primary-blue); color:white;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:20px; padding:50px 5%; max-width:1200px; margin:0 auto 60px; border-radius:16px;
}
.join-cta h2{ font-size:26px; margin-bottom:6px; }
.join-cta p{ color:#cbd5e1; font-size:14px; }

/* =========================================================
   BRANCH LOCATIONS
   ========================================================= */
.branch-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.6rem; }
.branch-card{ background:var(--paper-2); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.branch-map{ position:relative; width:100%; aspect-ratio:4/3; background:var(--line); }
.branch-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; filter:grayscale(15%); }
.branch-info{ padding:1.3rem 1.4rem 1.5rem; }
.branch-tag{
  font-family:var(--f-mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold-deep); display:block; margin-bottom:.6em;
}
.branch-info h3{ font-size:1.05rem; margin-bottom:.35em; }
.branch-address{ font-size:.88rem; color:var(--ink-soft); margin-bottom:.8em; }
.branch-meta{
  display:flex; flex-direction:column; gap:.35em; font-family:var(--f-mono); font-size:.78rem;
  color:var(--ink-soft); border-top:1px dashed var(--line); padding-top:.8em;
}

/* =========================================================
   CONTACT PAGE — form + info cards
   ========================================================= */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.form-field{ display:flex; flex-direction:column; gap:.5em; }
.form-field.full{ grid-column:1 / -1; }
.form-field label{ font-size:.82rem; font-weight:600; }
.form-field label .opt{ font-weight:400; color:var(--ink-soft); }
.form-field input, .form-field textarea{
  font-family:var(--f-body); font-size:.95rem; padding:.85em 1em;
  border:1.5px solid var(--line); border-radius:var(--radius);
  background:var(--paper-2); color:var(--ink); width:100%;
}
.form-field input:focus, .form-field textarea:focus{ border-color:var(--gold-deep); outline:none; }

.contact-cards{ display:grid; gap:1rem; }
.contact-card{
  background:var(--paper-2); border:1px solid var(--line); border-radius:8px; padding:1.5rem;
  display:flex; gap:1rem; align-items:flex-start;
}
.contact-card .icon{ color:var(--gold-deep); flex-shrink:0; }
.contact-card h3{ font-size:1rem; margin-bottom:.3em; }
.contact-card p{ font-size:.9rem; color:var(--ink-soft); margin-bottom:0; }

.map-block{
  background:var(--ink); color:#fff; border-radius:8px; padding:2.4rem;
  text-align:center; position:relative; overflow:hidden;
}
.map-block .pin{ position:relative; margin-bottom:1rem; color:var(--gold); }
.map-block p{ position:relative; color:var(--paper-soft); }

/* =========================================================
   FAQ PAGE
   ========================================================= */
.faq-list{ max-width:800px; margin-inline:auto; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item summary{
  cursor:pointer; list-style:none; padding:1.4rem 0;
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  font-family:var(--f-display); font-weight:600; font-size:1.05rem;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary .idx{ font-family:var(--f-mono); font-size:.78rem; color:var(--gold-deep); margin-right:.8em; }
.faq-item summary .chev{ transition:transform .2s ease; flex-shrink:0; color:var(--ink-soft); }
.faq-item[open] summary .chev{ transform:rotate(45deg); }
.faq-item .faq-a{ padding:0 0 1.5rem; color:var(--ink-soft); max-width:70ch; }

/* =========================================================
   ABOUT / SERVICES COMPONENTS
   ========================================================= */
.value-list{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.value-list .value{ display:flex; gap:1rem; }
.value-list .value .idx{ font-family:var(--f-mono); color:var(--gold-deep); font-size:.9rem; padding-top:.2em; }

.img-frame{ position:relative; border-radius:8px; overflow:hidden; }
.img-frame img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }
.img-frame .tag-chip{
  position:absolute; bottom:1rem; left:1rem; background:rgba(16,27,51,.88); color:#fff;
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.06em; padding:.5em .9em; border-radius:4px;
}

.ticket-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.ticket{ background:var(--paper-2); border:1px solid var(--line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; }
.ticket-body{ padding:1.6rem 1.6rem 1.4rem; flex:1; }
.ticket .num{ font-family:var(--f-mono); font-size:.75rem; color:var(--gold-deep); letter-spacing:.1em; margin-bottom:.8em; display:block; }
.ticket h3{ font-size:1.2rem; margin-bottom:.5em; }
.ticket p{ color:var(--ink-soft); font-size:.95rem; margin-bottom:0; }
.ticket-foot{
  padding:.9rem 1.6rem; border-top:1px dashed var(--line);
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.06em; color:var(--ink-soft);
}
.ticket-foot a{ color:var(--gold-deep); font-weight:600; }

.feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.feature{ padding-top:1.2rem; border-top:2px solid var(--gold); }
.feature .icon{ margin-bottom:1rem; color:var(--gold-deep); }
.feature h3{ font-size:1.05rem; margin-bottom:.4em; }
.feature p{ font-size:.9rem; color:var(--ink-soft); margin-bottom:0; }

.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.step{ position:relative; padding:1.6rem 1.4rem 1.4rem; border-left:1px solid var(--ink-3); }
.step:first-child{ border-left:none; }
.step .step-num{ font-family:var(--f-mono); color:var(--gold); font-size:.85rem; margin-bottom:1rem; display:block; }
.step h3{ font-size:1.05rem; color:#fff; margin-bottom:.5em; }
.step p{ font-size:.88rem; color:var(--paper-soft); margin-bottom:0; }

.testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.testimonial{ background:var(--paper-2); border:1px solid var(--line); padding:1.6rem; position:relative; }
.testimonial .quote{ font-size:.95rem; color:var(--ink); margin-bottom:1.2rem; }
.testimonial .who{ font-family:var(--f-mono); font-size:.75rem; color:var(--gold-deep); letter-spacing:.05em; text-transform:uppercase; }

.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.blog-card{ border-top:1px solid var(--line); padding-top:1.2rem; }
.blog-card .date{ font-family:var(--f-mono); font-size:.72rem; color:var(--ink-soft); letter-spacing:.08em; text-transform:uppercase; }
.blog-card h3{ font-size:1.1rem; margin:.5em 0; }
.blog-card p{ font-size:.9rem; color:var(--ink-soft); }

.cta-band{ background:var(--ink); color:#fff; padding-block:3.2rem; position:relative; overflow:hidden; }
.cta-inner{ display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
.cta-inner h2{ font-size:clamp(1.5rem,3vw,2rem); margin-bottom:.3em; }
.cta-inner p{ color:var(--paper-soft); margin-bottom:0; }

.stat-strip{ background:var(--ink-2); border-top:1px solid var(--ink-3); border-bottom:1px solid var(--ink-3); }
.stat-strip .container{ display:grid; grid-template-columns:repeat(3,1fr); padding-block:2rem; }
.stat{ text-align:center; border-right:1px dashed var(--ink-3); padding-inline:1rem; }
.stat:last-child{ border-right:none; }
.stat .num{ font-family:var(--f-mono); font-size:clamp(1.6rem,3vw,2.3rem); font-weight:600; color:var(--gold); }
.stat .label{ font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--paper-soft); margin-top:.4em; }

/* =========================================================
   FOOTER
   ========================================================= */
footer{ background:var(--light-blue); color:white; padding:60px 5% 30px; }
.footer-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:40px; max-width:1200px; margin:0 auto;
  border-bottom:1px solid #334155; padding-bottom:40px; margin-bottom:20px;
}
.footer-logo{ font-size:24px; font-weight:700; margin-bottom:15px; }
.footer-logo span{ color:var(--primary-orange); }
.footer-col h4{ margin-bottom:20px; color:var(--primary-orange); }
.footer-col ul li{ margin-bottom:10px; }
.footer-col ul li a{ color:#cbd5e1; font-size:14px; }
.footer-col ul li a:hover{ color:white; }
.footer-bottom{ text-align:center; font-size:13px; color:#94a3b8; }

/* --- FLOATING SOCIAL ICONS --- */
.floating-socials{ position:fixed; bottom:20px; right:20px; display:flex; flex-direction:column; gap:10px; z-index:1000; }
.float-btn{
  width:50px; height:50px; border-radius:50%; background:white;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 10px rgba(0,0,0,0.15); font-size:12px; font-weight:bold; color:#333; cursor:pointer;
}
.whatsapp{ background:#25D366; color:white; }
.messenger{ background:#0084FF; color:white; }


/* =========================================================================
   RESPONSIVE — every section, all pages
   Breakpoints: 1024 (large tablet) → 900 (tablet) → 768 (large phone)
   → 640 (phone) → 480 (small phone)
   ========================================================================= */

@media (max-width: 1024px){
  .ticket-grid, .feature-grid, .steps, .testimonial-grid, .blog-grid{
    grid-template-columns:repeat(2, 1fr);
  }
  .steps .step:nth-child(2n+1){ border-left:none; }
}

@media (max-width: 900px){
  /* nav is already responsive per your header.php — untouched here */

  .services-grid{ grid-template-columns:1fr 1fr; }
  .split{ grid-template-columns:1fr; gap:2rem; }
  .form-grid{ grid-template-columns:1fr; }
  .value-list{ grid-template-columns:1fr; }
  .team-grid{ grid-template-columns:1fr 1fr; gap:22px; }
  .branch-grid{ grid-template-columns:1fr 1fr; }
  .stat-strip .container{ grid-template-columns:1fr; gap:1rem; }
  .stat{ border-right:none; border-bottom:1px dashed var(--ink-3); padding-block:.5rem; }
  .stat:last-child{ border-bottom:none; }
  .page-header h1{ font-size:32px; }
  .join-cta{ flex-direction:column; text-align:center; }
}

@media (max-width: 768px){
  /* --- Hero --- */
  .hero{ padding:70px 5% 90px; }
  .hero h1{ font-size:2.2rem; line-height:1.2; letter-spacing:-0.5px; }
  .hero h2{ font-size:1.05rem; }
  .hero p{ font-size:0.85rem; margin-bottom:28px; }

  /* --- Tracking bar: stack input + button --- */
  .tracking-bar{ padding:12px; border-radius:18px; }
  #trackingForm{ flex-direction:column; gap:10px; width:100%; }
  #trackingInput{ width:100% !important; } /* overrides inline style="width:20em" */
  #trackingForm button{ width:100%; }

  /* --- Partners strip --- */
  .partners{ margin-top:-35px; padding:20px 15px; }
  .partner-logos{ gap:14px; font-size:0.85rem; }

  /* --- Section headings, everywhere --- */
  .section{ padding:24px 5%; }
  .section-title{ font-size:1.6rem; }
  .section-subtitle{ font-size:0.9rem; margin-bottom:32px; }
  .section-head h2{ font-size:1.5rem; }
  .page-hero h1{ font-size:1.9rem; }
  .page-hero p{ font-size:0.95rem; }

  /* --- Review cards --- */
  .review-card{ width:300px; padding:22px; }
  .review-text{ font-size:0.88rem; min-height:70px; }

  /* --- Team / branches / contact / faq --- */
  .team-section{ padding:50px 5% 60px; }
  .contact-cards{ margin-top:1.5rem; }
  .cta-inner{ text-align:center; justify-content:center; }
  .faq-item summary{ font-size:0.95rem; }
}

@media (max-width: 640px){
  .services-grid{ grid-template-columns:1fr; }
  .ticket-grid, .feature-grid, .steps, .testimonial-grid, .blog-grid{
    grid-template-columns:1fr;
  }
  .steps .step{ border-left:none; border-top:1px dashed var(--ink-3); padding-left:0; }
  .steps .step:first-child{ border-top:none; }

  .team-grid{ gap:16px; }
  .team-info{ left:12px; right:12px; bottom:12px; padding:12px 10px 10px; }
  .team-info h3{ font-size:12px; padding-bottom:6px; margin-bottom:4px; }
  .team-info p{ font-size:11.5px; }
  .page-header h1{ font-size:26px; }
  .page-header .sub{ font-size:14px; }

  .branch-grid{ grid-template-columns:1fr; }
}

@media (max-width: 480px){
  .hero{ padding:60px 5% 80px; }
  .hero h1{ font-size:1.7rem; }
  .hero h2{ font-size:0.95rem; }
  .partners{ margin-top:-22px; }
  .partner-logos{ justify-content:center; }
  .review-card{ width:260px; padding:18px; }

  .section-title{ font-size:1.4rem; }
  .page-hero h1{ font-size:1.6rem; }
  .cta-inner h2{ font-size:1.3rem; }
}

@media (max-width: 420px){
  .team-grid{ grid-template-columns:1fr; max-width:320px; margin-inline:auto; gap:20px; }
  .team-info{ left:20px; right:20px; bottom:20px; padding:16px 14px 14px; }
  .team-info h3{ font-size:15px; padding-bottom:8px; margin-bottom:6px; }
  .team-info p{ font-size:13.5px; }
}