/* =====================================================
   One8 Ambulance — Premium Healthcare Theme
   WordPress-ready stylesheet
   ===================================================== */

/* ---------- Design Tokens ---------- */
:root{
  --primary:#D62828;
  --primary-dark:#B01F1F;
  --primary-soft:#FEE9E9;
  --secondary:#1F2937;
  --secondary-soft:#374151;
  --accent:#FFB703;
  --accent-dark:#E5A200;
  --bg:#FFFFFF;
  --bg-alt:#F8FAFC;
  --bg-soft:#F1F5F9;
  --dark:#0B1220;
  --dark-2:#0F172A;
  --text:#1F2937;
  --text-muted:#64748B;
  --border:#E5E7EB;
  --border-soft:#F1F5F9;
  --shadow-sm:0 2px 8px rgba(15,23,42,.06);
  --shadow-md:0 8px 24px rgba(15,23,42,.08);
  --shadow-lg:0 24px 60px rgba(15,23,42,.12);
  --radius-sm:10px;
  --radius:14px;
  --radius-lg:22px;
  --radius-xl:28px;
  --transition:.35s cubic-bezier(.2,.7,.2,1);
  --container:1240px;
  --header-h:74px;
  --topbar-h:38px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  font-weight:400;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ list-style:none; padding:0; margin:0; }
h1,h2,h3,h4,h5{ font-family:'Poppins', sans-serif; color:var(--secondary); font-weight:700; line-height:1.2; margin:0 0 12px; letter-spacing:-.01em; }
p{ margin:0 0 12px; color:var(--text-muted); }
::selection{ background:var(--primary); color:#fff; }

/* ---------- Layout ---------- */
.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }
.eyebrow{
  display:inline-block; text-transform:uppercase; letter-spacing:.14em;
  font-size:12px; font-weight:600; color:var(--primary);
  background:var(--primary-soft); padding:6px 14px; border-radius:999px; margin-bottom:16px;
}
.eyebrow--light{ background:rgba(255,255,255,.08); color:#FFB703; }
.section-head{ text-align:center; max-width:760px; margin:0 auto 56px; }
.section-title{ font-size:clamp(28px, 3.4vw, 44px); font-weight:700; }
.section-title--light{ color:#fff; }
.section-sub{ font-size:16px; color:var(--text-muted); }
.accent-red{ color:var(--primary); }
.accent-yellow{ color:var(--accent); }

/* ---------- Buttons ---------- */
.btn{
  --btn-bg:var(--primary); --btn-fg:#fff;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 22px; border-radius:999px; font-weight:600; font-size:14.5px;
  background:var(--btn-bg); color:var(--btn-fg); border:2px solid transparent;
  box-shadow:0 8px 22px rgba(214,40,40,.25);
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(214,40,40,.35); background:var(--primary-dark); }
.btn i{ font-size:14px; }
.btn--sm{ padding:9px 16px; font-size:13.5px; }
.btn--lg{ padding:15px 28px; font-size:15px; }
.btn--block{ display:flex; width:100%; }
.btn--ghost{ --btn-bg:rgba(255,255,255,.12); --btn-fg:#fff; backdrop-filter:blur(12px); border:2px solid rgba(255,255,255,.35); box-shadow:none; }
.btn--ghost:hover{ background:rgba(255,255,255,.2); }
.btn--outline{ --btn-bg:transparent; --btn-fg:var(--primary); border-color:var(--primary); box-shadow:none; }
.btn--outline:hover{ background:var(--primary); --btn-fg:#fff; color:#fff; }
.btn--accent{ --btn-bg:var(--accent); --btn-fg:#1F2937; box-shadow:0 8px 22px rgba(255,183,3,.35); }
.btn--accent:hover{ background:var(--accent-dark); }
.btn--white{ --btn-bg:#fff; --btn-fg:var(--primary); box-shadow:0 12px 30px rgba(0,0,0,.15); }
.btn--white:hover{ background:#F8FAFC; }
.btn--outline-white{ --btn-bg:transparent; --btn-fg:#fff; border-color:rgba(255,255,255,.7); box-shadow:none; }
.btn--outline-white:hover{ background:#fff; --btn-fg:var(--primary); color:var(--primary); }

/* ---------- Top Bar ---------- */
.topbar{
  background:var(--secondary); color:#E5E7EB; font-size:13.5px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.topbar__inner{ display:flex; align-items:center; justify-content:space-between; min-height:var(--topbar-h); }
.topbar__badge{ display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:500; }
.topbar__badge i{ color:var(--accent); }
.topbar__right{ display:flex; align-items:center; gap:22px; }
.topbar__link{ display:inline-flex; align-items:center; gap:6px; color:#E5E7EB; transition:color var(--transition); }
.topbar__link:hover{ color:#fff; }
.topbar__link i{ color:var(--accent); font-size:12px; }
.topbar__cta{
  background:var(--primary); color:#fff !important; padding:6px 14px; border-radius:999px;
  font-weight:600; font-size:12.5px; transition:background var(--transition);
}
.topbar__cta:hover{ background:var(--primary-dark); }
@media (max-width:820px){
  .topbar__right .topbar__link{ display:none; }
}

/* ---------- Header ---------- */
.header{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid var(--border-soft);
  transition:box-shadow var(--transition), background var(--transition);
}
.header.is-scrolled{ box-shadow:0 6px 24px rgba(15,23,42,.06); background:rgba(255,255,255,.96); }
.header__inner{ display:flex; align-items:center; justify-content:space-between; min-height:var(--header-h); }

.logo{ display:inline-flex; align-items:center; gap:10px; }
.logo__mark{
  width:40px; height:40px; border-radius:12px;
  background:linear-gradient(135deg, var(--primary), #F04A4A);
  color:#fff; display:grid; place-items:center; font-size:20px;
  box-shadow:0 8px 18px rgba(214,40,40,.35);
}
.logo__text strong{ display:block; font-family:'Poppins',sans-serif; font-size:18px; letter-spacing:.02em; color:var(--secondary); }
.logo__text em{ display:block; font-style:normal; font-size:11.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--primary); font-weight:600; }
.logo--light .logo__text strong{ color:#fff; }
.logo--light .logo__text em{ color:var(--accent); }

.nav{ display:flex; align-items:center; gap:6px; }
.nav__link{
  padding:10px 14px; font-size:14.5px; color:var(--secondary); font-weight:500;
  border-radius:999px; position:relative; transition:color var(--transition), background var(--transition);
}
.nav__link:hover{ color:var(--primary); background:var(--primary-soft); }
.nav__cta{ margin-left:8px; }

.menu-toggle{
  display:none; width:40px; height:40px; border-radius:10px; border:0; background:transparent;
  align-items:center; justify-content:center; gap:5px; flex-direction:column;
}
.menu-toggle span{ display:block; width:22px; height:2px; background:var(--secondary); border-radius:2px; }

@media (max-width:960px){
  .nav{ display:none; }
  .menu-toggle{ display:inline-flex; }
}

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:700px; color:#fff; overflow:hidden;
  isolation:isolate;
}
.hero__slider{ position:absolute; inset:0; z-index:-2; }
.hero__slide{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transform:scale(1.06);
  transition:opacity 1.2s ease, transform 6s ease;
}
.hero__slide.is-active{ opacity:1; transform:scale(1); }
.hero__overlay{
  position:absolute; inset:0;
  background:linear-gradient(120deg, rgba(11,18,32,.9) 0%, rgba(11,18,32,.65) 45%, rgba(11,18,32,.55) 100%);
}

.hero__content{
  position:relative; z-index:2; padding:110px 24px 90px;
  display:grid; grid-template-columns:1.15fr .95fr; gap:60px; align-items:center;
}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 16px; border-radius:999px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
  color:#fff; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
  backdrop-filter:blur(8px);
}
.hero__eyebrow i{ color:var(--accent); }
.hero__title{
  color:#fff; font-size:clamp(34px, 5vw, 60px); line-height:1.05; font-weight:800;
  margin:18px 0 18px; letter-spacing:-.02em;
}
.hero__sub{ color:#F3F4F6; font-size:clamp(16px,1.6vw,20px); font-weight:500; margin-bottom:14px; }
.hero__desc{ color:#E5E7EB; max-width:560px; font-size:15px; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin:26px 0 30px; }
.hero__trust{
  display:flex; flex-wrap:wrap; gap:22px; padding-top:20px; border-top:1px solid rgba(255,255,255,.15);
  color:#F3F4F6; font-size:13.5px; font-weight:500;
}
.hero__trust div{ display:inline-flex; align-items:center; gap:8px; }
.hero__trust i{ color:var(--accent); }

/* Glass form */
.glass{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:var(--shadow-lg);
  backdrop-filter:blur(18px);
  border-radius:var(--radius-xl);
  padding:32px;
}
.hero__form-title{ font-size:22px; color:var(--secondary); margin-bottom:4px; }
.hero__form-sub{ font-size:13.5px; color:var(--text-muted); margin-bottom:20px; }

/* Slider arrows/dots */
.hero__arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:48px; height:48px; border-radius:50%; border:0;
  background:rgba(255,255,255,.15); color:#fff; backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.3);
  display:grid; place-items:center; font-size:16px;
  transition:background var(--transition), transform var(--transition);
}
.hero__arrow:hover{ background:var(--primary); border-color:var(--primary); }
.hero__arrow--prev{ left:20px; } .hero__arrow--next{ right:20px; }
.hero__dots{ position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:8px; }
.hero__dots button{
  width:10px; height:10px; border-radius:50%; border:0; background:rgba(255,255,255,.4);
  transition:all var(--transition);
}
.hero__dots button.is-active{ width:28px; border-radius:999px; background:var(--accent); }

@media (max-width:960px){
  .hero__content{ grid-template-columns:1fr; padding:80px 24px 60px; gap:36px; }
  .hero__arrow{ display:none; }
  .hero{ min-height:auto; }
}

/* ---------- Forms ---------- */
.field{ margin-bottom:14px; }
.field label{ display:block; font-size:12.5px; font-weight:600; letter-spacing:.03em; color:var(--secondary); margin-bottom:6px; text-transform:uppercase; }
.field input, .field select, .field textarea{
  width:100%; padding:12px 14px; border-radius:12px;
  border:1.5px solid var(--border); background:#fff; color:var(--text);
  font-family:inherit; font-size:14.5px; transition:border-color var(--transition), box-shadow var(--transition);
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--primary); box-shadow:0 0 0 4px rgba(214,40,40,.12);
}
.field textarea{ resize:vertical; }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:520px){ .grid-2{ grid-template-columns:1fr; } }

.form-status{ margin-top:10px; font-size:13.5px; min-height:18px; }
.form-status.success{ color:#16A34A; }
.form-status.error{ color:var(--primary); }

/* ---------- Facts ---------- */
.facts{ padding:80px 0; background:var(--bg); }
.facts__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.fact{
  padding:32px; border-radius:var(--radius-lg); background:#fff; border:1px solid var(--border-soft);
  text-align:center; box-shadow:var(--shadow-sm);
  transition:transform var(--transition), box-shadow var(--transition);
  position:relative;
}
.fact:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.fact__icon{
  width:64px; height:64px; margin:0 auto 16px; border-radius:20px;
  background:linear-gradient(135deg, var(--primary-soft), #fff);
  color:var(--primary); font-size:26px; display:grid; place-items:center;
  border:1px solid rgba(214,40,40,.15);
}
.fact__num{ display:inline-block; font-family:'Poppins'; font-size:44px; font-weight:800; color:var(--secondary); line-height:1; }
.fact__plus{ font-size:36px; font-weight:800; color:var(--primary); vertical-align:top; }
.fact__label{ margin-top:8px; color:var(--text-muted); font-weight:500; font-size:14.5px; }
@media (max-width:820px){ .facts__grid{ grid-template-columns:repeat(2,1fr); } }

/* ---------- Trust ---------- */
.trust{ padding:100px 0; background:var(--bg-alt); }
.trust__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.trust-card{
  background:#fff; padding:32px; border-radius:var(--radius-lg); border:1px solid var(--border-soft);
  box-shadow:var(--shadow-sm); transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  position:relative; overflow:hidden;
}
.trust-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:rgba(214,40,40,.2); }
.trust-card::before{
  content:""; position:absolute; inset:0 auto auto 0; width:0; height:4px;
  background:linear-gradient(90deg, var(--primary), var(--accent));
  transition:width var(--transition);
}
.trust-card:hover::before{ width:100%; }
.trust-card__icon{
  width:60px; height:60px; border-radius:16px; display:grid; place-items:center;
  background:linear-gradient(135deg, var(--primary-soft), #fff); color:var(--primary);
  font-size:24px; margin-bottom:18px;
  transition:transform var(--transition), background var(--transition), color var(--transition);
}
.trust-card:hover .trust-card__icon{ transform:rotate(-8deg) scale(1.06); background:var(--primary); color:#fff; }
.trust-card h3{ font-size:18px; margin-bottom:8px; }
.trust-card p{ font-size:14.5px; margin:0; }
@media (max-width:900px){ .trust__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .trust__grid{ grid-template-columns:1fr; } }

/* ---------- About ---------- */
.about{ padding:110px 0; }
.about__grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.about__media{ position:relative; }
.about__media img{ border-radius:var(--radius-xl); box-shadow:var(--shadow-lg); aspect-ratio:4/5; object-fit:cover; }
.about__badge{
  position:absolute; right:-20px; bottom:30px; background:var(--primary); color:#fff;
  padding:18px 22px; border-radius:20px; display:flex; align-items:center; gap:14px;
  box-shadow:0 20px 40px rgba(214,40,40,.35);
}
.about__badge-num{ font-size:36px; font-weight:800; line-height:1; }
.about__badge-text{ font-size:13px; font-weight:500; line-height:1.35; opacity:.95; }
.about__pillars{ display:grid; grid-template-columns:1fr; gap:16px; margin:26px 0 30px; }
.about__pillars h4{ font-size:16px; display:flex; align-items:center; gap:10px; margin-bottom:4px; }
.about__pillars h4 i{ color:var(--primary); }
.about__pillars p{ margin:0; font-size:14px; }
@media (max-width:900px){
  .about__grid{ grid-template-columns:1fr; gap:32px; }
  .about__badge{ right:16px; bottom:16px; }
}

/* ---------- Why Choose Us ---------- */
.why{ padding:100px 0; background:var(--bg-alt); }
.why__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.why__list{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.why-item{
  padding:22px; background:#fff; border-radius:var(--radius); border:1px solid var(--border-soft);
  display:flex; gap:16px; align-items:flex-start; box-shadow:var(--shadow-sm);
  transition:transform var(--transition), box-shadow var(--transition);
}
.why-item:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.why-item > i{
  width:44px; height:44px; border-radius:12px; background:var(--primary-soft); color:var(--primary);
  display:grid; place-items:center; font-size:18px; flex:0 0 44px;
}
.why-item h4{ font-size:15.5px; margin-bottom:4px; }
.why-item p{ font-size:13.5px; margin:0; }
@media (max-width:900px){ .why__grid, .why__list{ grid-template-columns:1fr; } }

/* ---------- Services ---------- */
.services{ padding:110px 0; }
.services__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service-card{
  background:#fff; border:1px solid var(--border-soft); border-radius:var(--radius-lg); overflow:hidden;
  transition:transform var(--transition), box-shadow var(--transition);
  box-shadow:var(--shadow-sm);
}
.service-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.service-card__media{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.service-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.service-card:hover .service-card__media img{ transform:scale(1.08); }
.service-card__icon{
  position:absolute; left:20px; bottom:-24px; width:52px; height:52px; border-radius:16px;
  background:var(--primary); color:#fff; display:grid; place-items:center; font-size:22px;
  box-shadow:0 12px 28px rgba(214,40,40,.4);
}
.service-card__body{ padding:36px 24px 26px; }
.service-card__body h3{ font-size:19px; margin-bottom:8px; }
.service-card__body p{ font-size:14.5px; margin-bottom:14px; }
.service-card__link{
  display:inline-flex; align-items:center; gap:8px; color:var(--primary); font-weight:600; font-size:14px;
  transition:gap var(--transition);
}
.service-card__link:hover{ gap:14px; }
@media (max-width:900px){ .services__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .services__grid{ grid-template-columns:1fr; } }

/* ---------- Timeline ---------- */
.how{ padding:100px 0; background:var(--bg-alt); }
.timeline{ position:relative; padding-left:0; }
.timeline::before{
  content:""; position:absolute; left:50%; top:0; bottom:0; width:2px;
  background:linear-gradient(to bottom, transparent, var(--primary), transparent);
  transform:translateX(-50%);
}
.timeline__item{ position:relative; margin-bottom:30px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.timeline__item:nth-child(even){ direction:rtl; }
.timeline__item:nth-child(even) .timeline__card{ direction:ltr; }
.timeline__dot{
  width:56px; height:56px; border-radius:50%; background:#fff;
  border:3px solid var(--primary); color:var(--primary); display:grid; place-items:center; font-size:22px;
  box-shadow:0 12px 26px rgba(214,40,40,.25); z-index:2;
}
.timeline__card{
  background:#fff; padding:22px 24px; border-radius:var(--radius); border:1px solid var(--border-soft);
  box-shadow:var(--shadow-sm); transition:transform var(--transition), box-shadow var(--transition);
}
.timeline__card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.timeline__step{ font-size:11.5px; letter-spacing:.24em; color:var(--primary); font-weight:700; text-transform:uppercase; }
.timeline__card h4{ font-size:17px; margin:6px 0 6px; }
.timeline__card p{ font-size:14px; margin:0; }@media
@media (max-width:820px){

    .timeline{
        padding-left:0;
    }

    .timeline::before{
        left:28px;
        transform:none;
    }

    .timeline__item,
    .timeline__item:nth-child(even){

        direction:ltr;
        display:grid;
        grid-template-columns:56px 1fr;
        gap:18px;
        align-items:flex-start;
        margin-bottom:28px;

    }

    .timeline__dot{

        width:56px;
        height:56px;
        display:flex;
        align-items:center;
        justify-content:center;
        z-index:2;

    }

    .timeline__card{

        width:100%;
        max-width:100%;
        padding:20px;
        border-radius:16px;

    }

    .timeline__card h4{
        font-size:20px;
    }

    .timeline__card p{
        font-size:15px;
        line-height:1.7;
    }

}

/* ---------- Why Us (Dark) ---------- */
.whyus{ padding:110px 0; background:linear-gradient(135deg, #0B1220 0%, #111827 60%, #1F2937 100%); position:relative; overflow:hidden; }
.whyus::before{
  content:""; position:absolute; inset:auto -10% -30% -10%; height:60%;
  background:radial-gradient(circle at 50% 30%, rgba(214,40,40,.25), transparent 60%);
}
.whyus__grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; position:relative; z-index:2; }
.whyus__media img{ border-radius:var(--radius-xl); box-shadow:0 30px 60px rgba(0,0,0,.5); aspect-ratio:4/3; object-fit:cover; }
.whyus__content p{ color:#CBD5E1; }
.check-list{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:26px 0 28px; }
.check-list li{ display:flex; align-items:center; gap:10px; color:#F3F4F6; font-weight:500; font-size:14.5px; }
.check-list i{
  width:28px; height:28px; border-radius:50%; background:rgba(255,183,3,.15); color:var(--accent);
  display:grid; place-items:center; font-size:12px;
}
@media (max-width:820px){ .whyus__grid, .check-list{ grid-template-columns:1fr; } }

/* ---------- Testimonials ---------- */
.testimonials{ padding:110px 0; background:var(--bg); }
.testi-carousel{ position:relative; overflow:hidden; }
.testi-track{ display:flex; gap:24px; transition:transform .6s cubic-bezier(.2,.7,.2,1); will-change:transform; }
.testi-card{
  flex:0 0 calc((100% - 48px)/3); background:#fff; border:1px solid var(--border-soft); border-radius:var(--radius-lg);
  padding:28px; box-shadow:var(--shadow-sm); transition:transform var(--transition), box-shadow var(--transition);
}
.testi-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.testi-card__stars{ color:var(--accent); font-size:16px; margin-bottom:10px; letter-spacing:2px; }
.testi-card p{ color:var(--secondary); font-size:14.5px; margin-bottom:20px; }
.testi-card__user{ display:flex; align-items:center; gap:12px; }
.testi-card__user img{ width:44px; height:44px; border-radius:50%; object-fit:cover; }
.testi-card__user strong{ display:block; font-size:14.5px; color:var(--secondary); }
.testi-card__user span{ font-size:12.5px; color:var(--text-muted); }
.testi-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%; border:0; background:#fff; color:var(--primary);
  box-shadow:var(--shadow-md); display:grid; place-items:center; z-index:2;
  transition:background var(--transition), color var(--transition);
}
.testi-arrow:hover{ background:var(--primary); color:#fff; }
.testi-arrow--prev{ left:-10px; } .testi-arrow--next{ right:-10px; }
@media (max-width:900px){ .testi-card{ flex:0 0 calc((100% - 24px)/2); } }
@media (max-width:600px){ .testi-card{ flex:0 0 100%; } .testi-arrow--prev{ left:6px; } .testi-arrow--next{ right:6px; } }

/* ---------- Contact ---------- */
.contact{ padding:110px 0; background:var(--bg-alt); }
.contact__grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:flex-start; }
.contact__list{ display:grid; gap:16px; margin-top:20px; }
.contact__list li{ display:flex; align-items:flex-start; gap:14px; padding:14px 16px; background:#fff; border:1px solid var(--border-soft); border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.contact__list strong{ display:block; font-size:12.5px; color:var(--text-muted); text-transform:uppercase; letter-spacing:.1em; font-weight:600; margin-bottom:2px; }
.contact__list a{ color:var(--secondary); font-weight:600; }
.contact__icn{ width:44px; height:44px; border-radius:12px; background:var(--primary-soft); color:var(--primary); display:grid; place-items:center; font-size:16px; flex:0 0 44px; }
.contact__icn--red{ background:var(--primary); color:#fff; }
.contact__form-wrap{}
.quote-form--card{ background:#fff; border:1px solid var(--border-soft); border-radius:var(--radius-xl); padding:32px; box-shadow:var(--shadow-md); }
.quote-form--card h3{ font-size:22px; margin-bottom:16px; }
@media (max-width:900px){ .contact__grid{ grid-template-columns:1fr; } }

/* ---------- News ---------- */
.news{ padding:110px 0; }
.news__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.news-card{ background:#fff; border:1px solid var(--border-soft); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform var(--transition), box-shadow var(--transition); }
.news-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.news-card__media{ aspect-ratio:16/10; overflow:hidden; }
.news-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.news-card:hover .news-card__media img{ transform:scale(1.06); }
.news-card__body{ padding:22px 22px 24px; }
.news-card__meta{ display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:12.5px; color:var(--text-muted); }
.chip{ background:var(--primary-soft); color:var(--primary); font-weight:600; padding:4px 10px; border-radius:999px; font-size:11.5px; letter-spacing:.06em; }
.news-card__body h3{ font-size:17px; margin-bottom:12px; line-height:1.35; }
@media (max-width:900px){ .news__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .news__grid{ grid-template-columns:1fr; } }

/* ---------- Gallery ---------- */
.gallery{ padding:110px 0; background:var(--bg-alt); }
.masonry{ column-count:4; column-gap:16px; }
.masonry__item{ display:block; margin-bottom:16px; border-radius:var(--radius); overflow:hidden; position:relative; box-shadow:var(--shadow-sm); }
.masonry__item img{ width:100%; height:auto; transition:transform .8s ease; }
.masonry__item:hover img{ transform:scale(1.08); }
.masonry__item::after{
  content:"\f00e"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; inset:0; display:grid; place-items:center;
  color:#fff; background:rgba(15,23,42,.55); opacity:0; transition:opacity var(--transition);
  font-size:22px;
}
.masonry__item:hover::after{ opacity:1; }
@media (max-width:1024px){ .masonry{ column-count:3; } }
@media (max-width:720px){ .masonry{ column-count:2; } }
@media (max-width:420px){ .masonry{ column-count:1; } }

.lightbox{
  position:fixed; inset:0; z-index:80; background:rgba(11,18,32,.9);
  display:none; align-items:center; justify-content:center; padding:20px;
  animation:fadeIn .3s ease;
}
.lightbox.is-open{ display:flex; }
.lightbox img{ max-width:min(1200px, 92vw); max-height:88vh; border-radius:12px; box-shadow:0 40px 80px rgba(0,0,0,.6); }
.lightbox__close{ position:absolute; top:20px; right:20px; width:44px; height:44px; border-radius:50%; border:0; background:#fff; color:var(--secondary); font-size:24px; cursor:pointer; }

/* ---------- Team ---------- */
.team{ padding:110px 0; }
.team__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.team-card{
  background:#fff; border:1px solid var(--border-soft); border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-sm); transition:transform var(--transition), box-shadow var(--transition);
}
.team-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.team-card__media{ aspect-ratio:1/1; overflow:hidden; position:relative; }
.team-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.team-card:hover .team-card__media img{ transform:scale(1.08); }
.team-card__body{ padding:20px; text-align:center; }
.team-card__body h4{ font-size:17px; margin-bottom:2px; }
.team-card__body span{ color:var(--text-muted); font-size:13.5px; }
.team-card__social{ margin-top:12px; display:flex; justify-content:center; gap:10px; }
.team-card__social a{
  width:34px; height:34px; border-radius:50%; background:var(--primary-soft); color:var(--primary);
  display:grid; place-items:center; font-size:13px; transition:background var(--transition), color var(--transition);
}
.team-card__social a:hover{ background:var(--primary); color:#fff; }
@media (max-width:900px){ .team__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .team__grid{ grid-template-columns:1fr; } }

/* ---------- Final CTA ---------- */
.finalcta{
  padding:100px 24px; background:linear-gradient(135deg, var(--primary) 0%, #B01F1F 100%);
  color:#fff; text-align:center; position:relative; overflow:hidden;
}
.finalcta::before, .finalcta::after{
  content:""; position:absolute; width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.12), transparent 70%);
}
.finalcta::before{ top:-100px; left:-100px; }
.finalcta::after{ bottom:-150px; right:-100px; }
.finalcta__inner{ position:relative; z-index:1; }
.finalcta h2{ color:#fff; font-size:clamp(28px, 3.6vw, 44px); margin-bottom:14px; }
.finalcta p{ color:#FEE9E9; max-width:640px; margin:0 auto 30px; }
.finalcta__actions{ display:flex; justify-content:center; flex-wrap:wrap; gap:14px; }

/* ---------- Footer ---------- */
.footer{ background:var(--dark); color:#CBD5E1; padding:80px 0 0; }
.footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:60px; }
.footer__col p{ color:#94A3B8; font-size:14px; margin:16px 0 20px; }
.footer h5{ color:#fff; font-size:15px; margin-bottom:16px; letter-spacing:.02em; }
.footer__col ul{ display:grid; gap:10px; }
.footer__col a{ color:#94A3B8; font-size:14px; transition:color var(--transition); }
.footer__col a:hover{ color:var(--accent); }
.footer__social{ display:flex; gap:10px; }
.footer__social a{
  width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.06); color:#fff;
  display:grid; place-items:center; transition:background var(--transition), transform var(--transition);
}
.footer__social a:hover{ background:var(--primary); transform:translateY(-3px); }
.footer__contact i{ color:var(--accent); margin-right:8px; }
.newsletter{ display:flex; gap:8px; }
.newsletter input{ flex:1; padding:11px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.06); color:#fff; font-size:13.5px; }
.newsletter input:focus{ outline:none; border-color:var(--accent); }
.newsletter button{ padding:11px 14px; border-radius:50%; box-shadow:none; }
.footer__bottom{ border-top:1px solid rgba(255,255,255,.08); padding:22px 0; }
.footer__bottom-inner{ display:flex; justify-content:space-between; align-items:center; color:#94A3B8; font-size:13px; }
.footer__bottom p{ margin:0; }
@media (max-width:900px){ .footer__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer__grid{ grid-template-columns:1fr; } }

/* ---------- Floating Buttons ---------- */
.float-btn{
  position:fixed; z-index:70; width:56px; height:56px; border-radius:50%; border:0;
  display:grid; place-items:center; color:#fff; font-size:22px;
  box-shadow:0 14px 30px rgba(0,0,0,.2); transition:transform var(--transition), box-shadow var(--transition);
}
.float-btn:hover{ transform:translateY(-4px) scale(1.05); box-shadow:0 20px 40px rgba(0,0,0,.25); }
.float-btn--call{ right:24px; bottom:150px; background:var(--primary); animation:pulse 2.2s infinite; }
.float-btn--wa{ right:24px; bottom:86px; background:#25D366; }
.float-btn--top{ right:24px; bottom:24px; background:var(--secondary); opacity:0; pointer-events:none; }
.float-btn--top.is-visible{ opacity:1; pointer-events:auto; }

@keyframes pulse{
  0%{ box-shadow:0 14px 30px rgba(214,40,40,.35), 0 0 0 0 rgba(214,40,40,.55); }
  70%{ box-shadow:0 14px 30px rgba(214,40,40,.35), 0 0 0 18px rgba(214,40,40,0); }
  100%{ box-shadow:0 14px 30px rgba(214,40,40,.35), 0 0 0 0 rgba(214,40,40,0); }
}
@keyframes fadeIn{ from{ opacity:0 } to{ opacity:1 } }

/* ---------- Mobile Drawer ---------- */
.mobile-drawer{
  position:fixed; inset:0; z-index:100; background:rgba(11,18,32,.55); backdrop-filter:blur(4px);
  display:none;
}
.mobile-drawer.is-open{ display:block; }
.mobile-drawer__inner{
  position:absolute; top:0; right:0; height:100%; width:min(320px, 84vw);
  background:#fff; padding:60px 26px 26px; display:flex; flex-direction:column; gap:6px;
  box-shadow:-20px 0 40px rgba(0,0,0,.2); animation:slideIn .35s ease;
}
@keyframes slideIn{ from{ transform:translateX(100%) } to{ transform:translateX(0) } }
.mobile-drawer__close{
  position:absolute; top:18px; right:18px; width:38px; height:38px; border-radius:10px;
  border:0; background:var(--bg-alt); color:var(--secondary); font-size:22px;
}
.mobile-drawer__link{
  padding:12px 4px; font-size:15px; color:var(--secondary); font-weight:600;
  border-bottom:1px solid var(--border-soft);
}
.mobile-drawer__link:hover{ color:var(--primary); }

/* ---------- Scroll Reveal ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.is-in{ opacity:1; transform:none; }

/* ---------- Utilities ---------- */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation:none !important; transition:none !important; }
}

/* =====================================================
   v1.1 additions — a11y, header dynamics, dropdowns,
   fluid typography, form validation, responsive polish.
   No existing rules changed; these extend / override.
   ===================================================== */

/* ---------- Global overflow safety ---------- */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, canvas, svg { max-width: 100%; height: auto; }
*, *::before, *::after { min-width: 0; }

/* ---------- Screen-reader-only + Skip link ---------- */
.screen-reader-text {
	border: 0; clip: rect(1px,1px,1px,1px); -webkit-clip-path: inset(50%); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}
.skip-link {
	position: absolute; top: -60px; left: 12px; z-index: 200;
	background: var(--primary); color: #fff !important; padding: 10px 18px; border-radius: 8px;
	font-weight: 600; text-decoration: none; transition: top .2s ease;
}
.skip-link:focus { top: 12px; outline: 3px solid var(--accent); outline-offset: 2px; }

/* ---------- Focus-visible (a11y) ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid rgba(255, 183, 3, 0.85);
	outline-offset: 2px;
	border-radius: 6px;
}
.btn:focus-visible { outline-offset: 3px; }

/* ---------- Main landmark ---------- */
.site-main:focus { outline: none; }

/* ---------- Header: brand + actions layout ---------- */
.header__brand { display: flex; align-items: center; }
.header__actions {
	display: flex; align-items: center; gap: 10px;
}
.header__icon-btn {
	width: 40px; height: 40px; border-radius: 12px; border: 0;
	background: var(--bg-alt); color: var(--secondary);
	display: grid; place-items: center; font-size: 15px;
	transition: background var(--transition), color var(--transition), transform var(--transition);
}
.header__icon-btn:hover { background: var(--primary-soft); color: var(--primary); }
.header__icon-btn[aria-expanded="true"] { background: var(--primary); color: #fff; }

/* Custom-logo image styling */
.logo--custom img { height: 90px; width: auto; display: block; }

/* ---------- Nav (list-based) + dropdowns ---------- */
.nav__list {
	list-style: none; margin: 0; padding: 0;
	display: flex; align-items: center; gap: 4px;
}
.nav__list .menu-item { position: relative; }
.nav__list .menu-item.is-active > .nav__link,
.nav__list .nav__link.is-active { color: var(--primary); background: var(--primary-soft); }

.sub-menu {
	position: absolute; top: calc(100% + 8px); left: 0; z-index: 55;
	min-width: 220px; padding: 8px; margin: 0; list-style: none;
	background: #fff; border: 1px solid var(--border-soft); border-radius: 14px;
	box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
}
.sub-menu::before {
	content: ""; position: absolute; top: -6px; left: 20px; width: 12px; height: 12px;
	background: #fff; border-top: 1px solid var(--border-soft); border-left: 1px solid var(--border-soft);
	transform: rotate(45deg);
}
.has-children:hover > .sub-menu,
.has-children:focus-within > .sub-menu,
.has-children.is-open > .sub-menu {
	opacity: 1; visibility: visible; transform: translateY(0);
}
.sub-menu__link {
	display: block; padding: 10px 12px; border-radius: 8px;
	font-size: 14px; font-weight: 500; color: var(--secondary);
	transition: background var(--transition), color var(--transition);
}
.sub-menu__link:hover, .sub-menu__link:focus-visible,
.sub-menu__link.is-active { background: var(--primary-soft); color: var(--primary); }
.sub-menu__caret { font-size: 10px; margin-left: 6px; transition: transform .3s ease; }
.has-children.is-open > .nav__link .sub-menu__caret { transform: rotate(180deg); }

/* ---------- Search bar (slides down under header) ---------- */
.header__search {
	position: absolute; left: 0; right: 0; top: 100%;
	background: #fff; border-top: 1px solid var(--border-soft);
	box-shadow: 0 12px 24px rgba(15,23,42,.06);
	max-height: 0; overflow: hidden; transition: max-height .35s ease;
}
.header__search.is-open { max-height: 140px; }
.header__search-form {
	display: flex; align-items: center; gap: 10px; padding: 16px 0;
}
.header__search-form input[type="search"] {
	flex: 1; padding: 12px 16px; border-radius: 999px;
	border: 1.5px solid var(--border); font: inherit; font-size: 15px;
	background: var(--bg-alt);
}
.header__search-form input[type="search"]:focus { border-color: var(--primary); background: #fff; }
.header__search-close {
	width: 40px; height: 40px; border-radius: 50%; border: 0;
	background: var(--bg-alt); color: var(--secondary); font-size: 20px;
	transition: background var(--transition);
}
.header__search-close:hover { background: var(--primary-soft); color: var(--primary); }

/* ---------- Hamburger animation (three bars → X) ---------- */
.menu-toggle {
	display: none; width: 40px; height: 40px; border-radius: 10px; border: 0;
	background: var(--bg-alt); position: relative; padding: 0;
	transition: background var(--transition);
}
.menu-toggle:hover { background: var(--primary-soft); }
.menu-toggle__bar {
	position: absolute; left: 9px; width: 22px; height: 2px;
	background: var(--secondary); border-radius: 2px;
	transition: transform .35s ease, opacity .25s ease, top .35s ease;
}
.menu-toggle__bar:nth-child(1) { top: 13px; }
.menu-toggle__bar:nth-child(2) { top: 19px; }
.menu-toggle__bar:nth-child(3) { top: 25px; }
.menu-toggle.is-open .menu-toggle__bar:nth-child(1) { top: 19px; transform: rotate(45deg); }
.menu-toggle.is-open .menu-toggle__bar:nth-child(2) { opacity: 0; }
.menu-toggle.is-open .menu-toggle__bar:nth-child(3) { top: 19px; transform: rotate(-45deg); }
@media (max-width: 960px) { .menu-toggle { display: inline-block; } }

/* ---------- Transparent header (front page hero overlay) ---------- */
.has-transparent-header .header {
	background: transparent; border-bottom-color: transparent;
	position: absolute; left: 0; right: 0; top: var(--topbar-h); z-index: 60;
	backdrop-filter: none;
}
.has-transparent-header .header .logo__text strong,
.has-transparent-header .header .nav__link,
.has-transparent-header .header .header__icon-btn { color: #fff; }
.has-transparent-header .header .header__icon-btn { background: rgba(255,255,255,.12); }
.has-transparent-header .header .nav__link:hover { background: rgba(255,255,255,.12); color: #fff; }
.has-transparent-header .hero { padding-top: calc(var(--header-h) + 20px); }
.has-transparent-header .header.is-scrolled {
	background: rgba(255,255,255,.96); position: sticky; top: 0;
	border-bottom-color: var(--border-soft); backdrop-filter: saturate(180%) blur(16px);
}
.has-transparent-header .header.is-scrolled .logo__text strong,
.has-transparent-header .header.is-scrolled .nav__link,
.has-transparent-header .header.is-scrolled .header__icon-btn { color: var(--secondary); }
.has-transparent-header .header.is-scrolled .header__icon-btn { background: var(--bg-alt); }

/* Non-sticky variant */
body:not(.has-sticky-header) .header { position: relative; top: auto; }

/* ---------- Mobile drawer (upgraded) ---------- */
.mobile-drawer__head {
	display: flex; align-items: center; justify-content: space-between;
	padding-bottom: 18px; margin-bottom: 12px; border-bottom: 1px solid var(--border-soft);
}
.mobile-drawer__list, .mobile-drawer__submenu {
	list-style: none; margin: 0; padding: 0;
}
.mobile-drawer__item {
	position: relative; border-bottom: 1px solid var(--border-soft);
}
.mobile-drawer__item .mobile-drawer__link {
	display: block; padding: 14px 4px; font-size: 15px; font-weight: 600;
	color: var(--secondary); transition: color var(--transition);
}
.mobile-drawer__item .mobile-drawer__link:hover,
.mobile-drawer__item .mobile-drawer__link.is-active { color: var(--primary); }
.mobile-drawer__toggle {
	position: absolute; right: 0; top: 8px; width: 40px; height: 40px;
	border: 0; background: transparent; color: var(--secondary); font-size: 14px;
	transition: transform .3s ease, color var(--transition);
}
.mobile-drawer__item.is-open > .mobile-drawer__toggle { transform: rotate(180deg); color: var(--primary); }
.mobile-drawer__submenu {
	max-height: 0; overflow: hidden; transition: max-height .35s ease; padding-left: 14px;
}
.mobile-drawer__item.is-open > .mobile-drawer__submenu { max-height: 600px; }
.mobile-drawer__submenu .mobile-drawer__link { padding: 12px 4px; font-weight: 500; font-size: 14px; }
.mobile-drawer__cta { margin-top: 22px; display: grid; gap: 10px; }
.mobile-drawer__social {
	margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border-soft);
	display: flex; gap: 10px;
}
.mobile-drawer__social a {
	width: 36px; height: 36px; border-radius: 10px;
	background: var(--primary-soft); color: var(--primary);
	display: grid; place-items: center; transition: background var(--transition), color var(--transition);
}
.mobile-drawer__social a:hover { background: var(--primary); color: #fff; }

/* Lock body scroll when drawer is open */
body.no-scroll { overflow: hidden; }

/* ---------- Forms — validation states ---------- */
.field input[aria-invalid="true"],
.field select[aria-invalid="true"],
.field textarea[aria-invalid="true"] {
	border-color: var(--primary); box-shadow: 0 0 0 4px rgba(214,40,40,.12);
}
.field .field__error { color: var(--primary); font-size: 12.5px; margin-top: 4px; display: none; }
.field.has-error .field__error { display: block; }
.field .required-star { color: var(--primary); }

/* ---------- Fluid typography (clamp) ---------- */
h1 { font-size: clamp(28px, 4vw + 8px, 52px); }
h2 { font-size: clamp(24px, 2.4vw + 10px, 40px); }
h3 { font-size: clamp(18px, 1vw + 12px, 22px); }
h4 { font-size: clamp(15px, .4vw + 12px, 17px); }
p  { font-size: clamp(14px, .3vw + 12px, 16px); }

/* ---------- Buttons — equal height, disabled state ---------- */
.btn { min-height: 44px; line-height: 1.2; text-align: center; }
.btn:disabled, .btn.is-disabled {
	opacity: .55; cursor: not-allowed; pointer-events: none;
	box-shadow: none; transform: none;
}
.btn:active { transform: translateY(0) scale(0.98); }

/* ---------- Newsletter — align input/button flex ---------- */
.newsletter { flex-wrap: wrap; }
.newsletter input { min-width: 0; }

/* ---------- Fine-tune responsive breakpoints ---------- */

/* 1400+ — comfortable large-desktop spacing already ok */

/* 1200 — reduce container padding gently */
@media (max-width: 1200px) {
	:root { --container: 1120px; }
	.hero__title { font-size: clamp(30px, 4vw, 52px); }
}

/* 992 — 3-col grids stay comfortable */
@media (max-width: 992px) {
	.hero__content { gap: 40px; }
	.about__grid, .why__grid, .whyus__grid, .contact__grid { gap: 40px; }
}

/* 820 — start collapsing header nav */
@media (max-width: 820px) {
	.header__inner { min-height: 66px; }
	.services__grid { grid-template-columns: repeat(2,1fr); }
	.news__grid { grid-template-columns: repeat(2,1fr); }
	.team__grid { grid-template-columns: repeat(2,1fr); }
	.finalcta { padding: 80px 20px; }
	.hero__form-card, .quote-form--card { padding: 24px; }
}

/* 768 — tablet portrait */
@media (max-width: 768px) {
	.container { padding: 0 20px; }
	.section-head { margin-bottom: 40px; }
	.facts, .trust, .about, .why, .services, .how, .whyus, .testimonials, .contact, .news, .gallery, .team { padding: 72px 0; }
	.about__grid { grid-template-columns: 1fr; }
	.timeline::before { left: 22px; }
}

/* 576 */
@media (max-width: 576px) {
	:root { --header-h: 62px; --topbar-h: 34px; }
	.topbar { font-size: 12.5px; }
	.topbar__badge { font-size: 12px; }
	.topbar__right { gap: 12px; }
	.hero__content { padding: 60px 20px 50px; }
	.hero__title { font-size: clamp(26px, 8vw, 40px); line-height: 1.1; }
	.hero__sub  { font-size: 15px; }
	.hero__desc { font-size: 14px; }
	.hero__actions { gap: 10px; }
	.hero__actions .btn { flex: 1 1 100%; }
	.hero__trust { gap: 14px; font-size: 12.5px; }
	.hero__form-card { padding: 22px; }
	.services__grid, .news__grid, .team__grid, .why__list, .facts__grid { grid-template-columns: 1fr; }
	.facts__grid { gap: 16px; }
	.fact { padding: 22px; }
	.fact__num { font-size: 36px; }
	.grid-2 { grid-template-columns: 1fr; }
	.finalcta h2 { font-size: 26px; }
	.finalcta__actions { flex-direction: column; align-items: stretch; }
	.finalcta__actions .btn { width: 100%; }
	.float-btn { width: 50px; height: 50px; font-size: 20px; }
	.float-btn--call { bottom: 132px; }
	.float-btn--wa   { bottom: 76px; }
	.float-btn--top  { bottom: 20px; }
}

/* 480 — very small phones */
@media (max-width: 480px) {
	.section-title { font-size: clamp(22px, 6vw, 30px); }
	.timeline__item { grid-template-columns: 40px 1fr; gap: 10px; }
	.timeline__dot { width: 40px; height: 40px; font-size: 16px; }
	.timeline__card { padding: 16px 18px; }
	.testi-card { padding: 22px; }
	.contact__list li { padding: 12px 14px; }
	.contact__icn { width: 38px; height: 38px; font-size: 14px; flex: 0 0 38px; }
}

/* 360 */
@media (max-width: 360px) {
	.container { padding: 0 16px; }
	.btn { padding: 10px 16px; font-size: 13.5px; }
	.btn--lg { padding: 12px 18px; font-size: 14px; }
	.logo__text strong { font-size: 16px; }
	.logo__text em { font-size: 10px; letter-spacing: .2em; }
	.hero__form-title { font-size: 18px; }
}

/* ---------- Print-friendly ---------- */
@media print {
	.header, .footer, .float-btn, .topbar, .mobile-drawer, .lightbox { display: none !important; }
	body { color: #000; }
	a { text-decoration: underline; color: #000; }
}
