/* ==========================================================================
   Campaign Bridge — main stylesheet
   Font: Open Sans, sans-serif (as required)
   Brand colours: #0E6251 / #0B5345
   ========================================================================== */

:root{
  --brand: #0E6251;
  --brand-dark: #0B5345;
  --brand-deep: #072F27;
  --brand-light: #17836E;
  --gold: #F2B134;
  --gold-dark: #D6961D;
  --cream: #F7F5EF;
  --panel: #F1ECDB;
  --ink: #142420;
  --ink-soft: #4E5D58;
  --line: #E3DDC9;
  --white: #FFFFFF;

  --container: 1180px;
  --radius: 16px;
  --shadow: 0 20px 45px -20px rgba(7,47,39,0.28);
  --transition: 0.25s ease;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  font-family:'Open Sans', sans-serif;
  color: var(--ink);
  background: var(--cream);
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }

.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }
section{ position:relative; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase;
  color: var(--gold-dark); margin-bottom:14px;
}
.eyebrow::before{ content:""; width:8px;height:8px;border-radius:50%; background:var(--gold); display:inline-block; }

h1,h2,h3,h4{ font-family:'Open Sans', sans-serif; font-weight:800; color:var(--brand-deep); line-height:1.2; letter-spacing:-0.2px; }
h2{ font-size:clamp(28px,4vw,40px); }
h3{ font-size:20px; }
p{ color:var(--ink-soft); }

.section-head{ max-width:620px; margin-bottom:52px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 30px; border-radius:10px; font-weight:700; font-size:15px;
  letter-spacing:0.2px; white-space:nowrap;
  transition: transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
}
.btn-primary{ background:var(--gold); color:var(--brand-deep); box-shadow:0 12px 24px -10px rgba(242,177,52,0.55); }
.btn-primary:hover{ background:var(--gold-dark); transform:translateY(-2px); }
.btn-outline{ background:transparent; border:1.5px solid rgba(255,255,255,0.5); color:var(--white); }
.btn-outline:hover{ background:rgba(255,255,255,0.12); }
.btn-dark-outline{ border:1.5px solid var(--brand); color:var(--brand); }
.btn-dark-outline:hover{ background:var(--brand); color:var(--white); }
.btn-block{ width:100%; justify-content:center; }

/* ==========================================================================
   Top utility bar
   ========================================================================== */
.topbar{ background:var(--brand-deep); color:rgba(255,255,255,0.85); font-size:13.5px; }
.topbar .container{ display:flex; align-items:center; justify-content:space-between; padding:9px 24px; gap:16px; }
.topbar-contacts{ display:flex; gap:24px; flex-wrap:wrap; }
.topbar-contacts a{ display:inline-flex; align-items:center; gap:7px; }
.topbar-contacts a:hover{ color:var(--gold); }
.topbar-contacts svg{ width:14px;height:14px; flex-shrink:0; }
.topbar-social{ display:flex; gap:14px; }
.topbar-social a{ width:28px;height:28px;border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.08); transition:background var(--transition); }
.topbar-social a:hover{ background:var(--gold); color:var(--brand-deep); }
.topbar-social svg{ width:14px;height:14px; }

/* ==========================================================================
   Header / Nav
   ========================================================================== */
.site-header{
  position:sticky; top:0; z-index:500;
  background:var(--cream); border-bottom:1px solid var(--line);
  transition: box-shadow var(--transition);
}
.site-header.scrolled{ box-shadow:0 8px 24px -16px rgba(7,47,39,0.35); }
.nav-wrap{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; gap:24px; }
.logo img{ height:38px; width:auto; }
.nav-menu{ display:flex; align-items:center; gap:38px; }
.nav-menu a{ font-weight:700; font-size:15px; color:var(--brand-deep); position:relative; padding:6px 0; }
.nav-menu a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--gold); transition:width var(--transition); }
.nav-menu a:hover::after, .nav-menu a.active::after{ width:100%; }
.nav-menu a.active{ color:var(--brand); }
.nav-cta{ display:flex; align-items:center; gap:18px; }
.nav-cta .btn-primary{ padding:12px 22px; font-size:14px; }
.nav-toggle{ display:none; flex-direction:column; gap:5px; width:30px; padding:6px 0; }
.nav-toggle span{ height:2.5px; width:100%; background:var(--brand-deep); border-radius:2px; transition:var(--transition); }
.nav-toggle.open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{
  padding:84px 0 70px;
  background: radial-gradient(700px 500px at 88% -10%, rgba(14,98,81,0.08), transparent 60%), var(--cream);
  overflow:hidden;
}
.hero .container{ display:grid; grid-template-columns:1.05fr 0.95fr; align-items:center; gap:56px; }
.hero-content h1{ font-size:clamp(34px,4.6vw,53px); margin-bottom:22px; }
.hero-content h1 span{ color:var(--brand); }
.hero-content h1 em{ font-style:normal; color:var(--gold-dark); }
.hero-content p{ font-size:17px; max-width:520px; margin-bottom:34px; }
.hero-actions{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.hero-actions .btn-primary{ padding:16px 32px; }
.play-link{ display:flex; align-items:center; gap:12px; font-weight:700; color:var(--brand-deep); }
.play-link .ring{ width:44px;height:44px;border-radius:50%; border:1.5px solid var(--brand); display:flex; align-items:center; justify-content:center; transition:background var(--transition), color var(--transition); }
.play-link:hover .ring{ background:var(--brand); color:var(--white); }
.hero-trust{ display:flex; gap:34px; margin-top:46px; flex-wrap:wrap; }
.hero-trust .stat b{ display:block; font-size:26px; color:var(--brand-deep); font-weight:800; }
.hero-trust .stat span{ font-size:13px; color:var(--ink-soft); font-weight:600; }
.hero-media{ position:relative; }
.hero-media img{ width:100%; }
.hero-media .float-tag{
  position:absolute; top:14%; left:-6%;
  background:var(--white); border:1px solid var(--line); border-radius:14px;
  padding:12px 16px; box-shadow:var(--shadow); font-size:12.5px; font-weight:700; color:var(--brand-deep);
  display:flex; align-items:center; gap:8px;
  animation: float-y 4s ease-in-out infinite;
}
.hero-media .float-tag svg{ width:16px;height:16px; color:var(--gold-dark); }
@keyframes float-y{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }

/* value strip */
.value-strip{ padding:34px 0 0; }
.value-strip .container{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  background:var(--white); border:1px solid var(--line); border-radius:18px; padding:26px 10px;
  box-shadow: var(--shadow);
}
.value-item{ display:flex; align-items:center; gap:12px; padding:0 18px; border-right:1px solid var(--line); }
.value-item:last-child{ border-right:none; }
.value-item .ic{ width:42px;height:42px; border-radius:10px; background:var(--panel); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.value-item .ic svg{ width:20px;height:20px; color:var(--brand); }
.value-item span{ font-size:13.5px; font-weight:700; color:var(--brand-deep); line-height:1.3; }

/* ==========================================================================
   About
   ========================================================================== */
.about{ padding:100px 0 90px; }
.about .container{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center; }
.about-media{ position:relative; }
.about-media .badge-float{
  position:absolute; bottom:-22px; left:-22px; background:var(--brand); color:var(--white);
  border-radius:14px; padding:18px 22px; box-shadow:var(--shadow); max-width:220px;
}
.about-media .badge-float b{ display:block; font-size:22px; color:var(--gold); }
.about-media .badge-float span{ font-size:12.5px; opacity:0.85; }
.about-text h2{ margin-bottom:20px; }
.about-text > p{ margin-bottom:26px; }
.about-points{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:32px; }
.about-points li{ display:flex; gap:12px; align-items:flex-start; font-weight:700; font-size:14.5px; color:var(--brand-deep); }
.about-points svg{ flex-shrink:0; width:22px;height:22px; color:var(--gold-dark); margin-top:1px; }

/* ==========================================================================
   Animated stats counter section
   ========================================================================== */
.stats{
  background: linear-gradient(135deg, var(--brand-deep), var(--brand));
  padding:70px 0;
  position:relative;
  overflow:hidden;
}
.stats::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(480px 380px at 90% 10%, rgba(242,177,52,0.15), transparent 60%);
}
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; position:relative; z-index:1; }
.stat-box{ text-align:center; color:var(--white); }
.stat-box .num{
  font-size:clamp(32px,4.4vw,46px); font-weight:800; color:var(--white); display:flex; align-items:baseline; justify-content:center; gap:2px;
}
.stat-box .num .suffix{ font-size:0.55em; color:var(--gold); }
.stat-box .label{ font-size:14px; font-weight:600; color:rgba(255,255,255,0.75); margin-top:8px; letter-spacing:0.3px; }
.stat-box .bar{ width:44px; height:3px; background:var(--gold); margin:16px auto 0; border-radius:2px; }

/* ==========================================================================
   Services
   ========================================================================== */
.services{ padding:100px 0; }
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.service-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:36px 30px;
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  position:relative;
}
.service-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.service-card .num{ position:absolute; top:26px; right:28px; font-size:13px; font-weight:800; color:var(--line); }
.service-card .icon{ width:58px;height:58px; border-radius:14px; background:var(--panel); display:flex; align-items:center; justify-content:center; margin-bottom:22px; transition:background var(--transition); }
.service-card:hover .icon{ background:var(--gold); }
.service-card .icon svg{ width:28px;height:28px; color:var(--brand); transition:color var(--transition); }
.service-card:hover .icon svg{ color:var(--brand-deep); }
.service-card h3{ margin-bottom:12px; }
.service-card p{ font-size:14.5px; margin-bottom:18px; }
.service-card .more{ font-size:13.5px; font-weight:800; color:var(--brand); display:inline-flex; align-items:center; gap:6px; letter-spacing:0.3px; text-transform:uppercase; }
.service-card .more svg{ width:14px;height:14px; transition:transform var(--transition); }
.service-card:hover .more svg{ transform:translateX(4px); }

/* ==========================================================================
   Process (bridge crossing steps)
   ========================================================================== */
.process{ background:var(--panel); padding:100px 0; }
.process-track{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; position:relative; }
.process-track::before{ content:""; position:absolute; top:26px; left:5%; right:5%; height:1px; background:var(--line); border-top:2px dashed #cfc6a8; }
.process-step{ position:relative; text-align:left; }
.process-step .step-num{
  width:52px;height:52px;border-radius:50%; background:var(--white); border:2px solid var(--gold);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:17px;
  margin-bottom:22px; position:relative; z-index:2; color:var(--brand-deep);
}
.process-step h4{ color:var(--brand-deep); font-size:16.5px; margin-bottom:8px; font-weight:800; }
.process-step p{ font-size:13.5px; }

/* ==========================================================================
   Testimonials carousel
   ========================================================================== */
.testimonials{ padding:100px 0; overflow:hidden; }
.testimonial-carousel{ position:relative; max-width:760px; margin:0 auto; }
.testimonial-track-wrap{ overflow:hidden; border-radius:var(--radius); }
.testimonial-track{ display:flex; transition: transform 0.5s ease; }
.testimonial-slide{ min-width:100%; padding:4px; }
.testimonial-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:44px 40px; text-align:center; box-shadow:var(--shadow);
}
.testimonial-card .quote-mark{ width:38px;height:38px; color:var(--gold); margin:0 auto 18px; }
.testimonial-card p.quote{ font-size:16.5px; color:var(--ink); font-style:normal; margin-bottom:26px; }
.testimonial-stars{ display:flex; gap:4px; justify-content:center; margin-bottom:16px; }
.testimonial-stars svg{ width:16px;height:16px; color:var(--gold); }
.testimonial-person{ display:flex; align-items:center; justify-content:center; gap:12px; }
.testimonial-avatar{
  width:48px;height:48px;border-radius:50%; background:var(--brand); color:var(--white);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; flex-shrink:0;
}
.testimonial-person .who{ text-align:left; }
.testimonial-person .who b{ display:block; font-size:14.5px; color:var(--brand-deep); }
.testimonial-person .who span{ font-size:13px; color:var(--ink-soft); }

.carousel-controls{ display:flex; align-items:center; justify-content:center; gap:22px; margin-top:32px; }
.carousel-arrow{
  width:44px;height:44px;border-radius:50%; border:1.5px solid var(--line); background:var(--white);
  display:flex; align-items:center; justify-content:center; transition: background var(--transition), border-color var(--transition);
}
.carousel-arrow:hover{ background:var(--brand); border-color:var(--brand); }
.carousel-arrow:hover svg{ color:var(--white); }
.carousel-arrow svg{ width:18px;height:18px; color:var(--brand-deep); }
.carousel-dots{ display:flex; gap:9px; }
.carousel-dots button{ width:9px;height:9px;border-radius:50%; background:var(--line); transition: background var(--transition), transform var(--transition); }
.carousel-dots button.active{ background:var(--gold); transform:scale(1.25); }

/* ==========================================================================
   FAQ accordion
   ========================================================================== */
.faq{ background:var(--panel); padding:100px 0; }
.faq .container{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:60px; align-items:start; }
.faq-side .eyebrow{ }
.faq-side p{ margin-bottom:26px; }
.faq-side .btn{ }
.faq-list{ display:flex; flex-direction:column; gap:14px; }
.faq-item{ background:var(--white); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.faq-question{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 24px; text-align:left; font-weight:700; font-size:15.5px; color:var(--brand-deep);
}
.faq-question .plus{
  width:28px;height:28px;border-radius:50%; background:var(--panel); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; transition: transform var(--transition), background var(--transition);
}
.faq-question .plus svg{ width:14px;height:14px; color:var(--brand); transition:transform var(--transition); }
.faq-item.open .faq-question .plus{ background:var(--gold); }
.faq-item.open .faq-question .plus svg{ transform:rotate(45deg); color:var(--brand-deep); }
.faq-answer{ max-height:0; overflow:hidden; transition: max-height 0.35s ease; }
.faq-answer-inner{ padding:0 24px 22px; font-size:14.5px; color:var(--ink-soft); }

/* ==========================================================================
   CTA banner
   ========================================================================== */
.cta-banner{ background:var(--gold); padding:56px 0; }
.cta-banner .container{ display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.cta-banner h2{ font-size:clamp(24px,3vw,32px); max-width:560px; color:var(--brand-deep); }
.cta-banner .btn-primary{ background:var(--brand-deep); color:var(--white); box-shadow:none; }
.cta-banner .btn-primary:hover{ background:var(--brand); }

/* ==========================================================================
   Contact
   ========================================================================== */
.contact{ padding:100px 0; }
.contact .container{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:0; border-radius:24px; overflow:hidden; box-shadow:var(--shadow); }
.contact-info{ background:var(--brand-deep); color:var(--white); padding:56px 44px; }
.contact-info h2{ color:var(--white); margin-bottom:14px; font-size:28px; }
.contact-info > p{ color:rgba(255,255,255,0.75); margin-bottom:38px; font-size:14.5px; }
.info-item{ display:flex; gap:16px; align-items:flex-start; margin-bottom:28px; }
.info-item .ic{ width:42px;height:42px;border-radius:10px; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.info-item .ic svg{ width:20px;height:20px; color:var(--gold); }
.info-item h4{ color:var(--white); font-size:14.5px; margin-bottom:4px; font-weight:700; }
.info-item p, .info-item a{ font-size:14px; color:rgba(255,255,255,0.78); }
.info-item a:hover{ color:var(--gold); }
.contact-social{ display:flex; gap:12px; margin-top:16px; }
.contact-social a{ width:38px;height:38px;border-radius:50%; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; transition:background var(--transition); }
.contact-social a:hover{ background:var(--gold); }
.contact-social svg{ width:16px;height:16px; color:var(--white); }
.contact-form{ background:var(--white); padding:56px 44px; }
.contact-form h3{ margin-bottom:8px; }
.contact-form > p{ margin-bottom:28px; font-size:14.5px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.form-group{ margin-bottom:18px; }
.form-group.full{ grid-column:1 / -1; }
label{ display:block; font-size:13px; font-weight:700; color:var(--brand-deep); margin-bottom:7px; }
input, select, textarea{
  width:100%; padding:13px 16px; border:1.5px solid var(--line); border-radius:10px;
  font-family:inherit; font-size:14.5px; color:var(--ink); background:var(--cream);
  transition:border-color var(--transition);
}
input:focus, select:focus, textarea:focus{ border-color:var(--brand); outline:none; }
textarea{ resize:vertical; min-height:110px; }
.form-note{ font-size:12.5px; color:var(--ink-soft); margin-top:14px; text-align:center; }

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{ background:var(--brand-deep); color:rgba(255,255,255,0.72); padding-top:80px; }
.footer-grid{ display:grid; grid-template-columns:1.3fr 0.8fr 1fr 1fr; gap:44px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,0.12); }
.footer-brand img{ height:36px; margin-bottom:20px; }
.footer-brand p{ color:rgba(255,255,255,0.6); font-size:14px; margin-bottom:22px; max-width:280px; }
.footer-social{ display:flex; gap:10px; }
.footer-social a{ width:36px;height:36px;border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; transition:background var(--transition); }
.footer-social a:hover{ background:var(--gold); }
.footer-social svg{ width:15px;height:15px; color:var(--white); }
.site-footer h4{ color:var(--white); font-size:15px; margin-bottom:22px; letter-spacing:0.3px; }
.footer-links li{ margin-bottom:12px; font-size:14px; }
.footer-links a:hover{ color:var(--gold); }
.footer-contact li{ display:flex; gap:10px; margin-bottom:16px; font-size:14px; align-items:flex-start; }
.footer-contact svg{ width:16px;height:16px; color:var(--gold); margin-top:3px; flex-shrink:0; }
.footer-bottom{ padding:22px 0 26px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:13.5px; }
.footer-bottom a:hover{ color:var(--gold); }
.footer-bottom-links{ display:flex; gap:22px; }

/* Back to top */
.to-top{
  position:fixed; right:24px; bottom:24px; width:46px;height:46px;border-radius:50%;
  background:var(--brand); color:var(--white); display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(10px);
  transition: all var(--transition); z-index:400;
}
.to-top.visible{ opacity:1; visibility:visible; transform:translateY(0); }
.to-top:hover{ background:var(--gold); color:var(--brand-deep); }
.to-top svg{ width:18px;height:18px; }

/* ==========================================================================
   Scroll-reveal animation
   ========================================================================== */
.reveal{ opacity:0; transform:translateY(26px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.in{ opacity:1; transform:none; }
.reveal-stagger.in > *{ animation: fade-up 0.6s ease forwards; }
@keyframes fade-up{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
.reveal-stagger > *:nth-child(1){ animation-delay:0.05s; }
.reveal-stagger > *:nth-child(2){ animation-delay:0.15s; }
.reveal-stagger > *:nth-child(3){ animation-delay:0.25s; }
.reveal-stagger > *:nth-child(4){ animation-delay:0.35s; }
.reveal-stagger > *:nth-child(5){ animation-delay:0.45s; }
.reveal-stagger > *:nth-child(6){ animation-delay:0.55s; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1080px){
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .process-track{ grid-template-columns:repeat(5,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); row-gap:36px; }
  .value-strip .container{ grid-template-columns:repeat(2,1fr); row-gap:18px; }
  .value-item{ border-right:none; }
}

@media (max-width:900px){
  .hero .container{ grid-template-columns:1fr; }
  .hero-media{ order:-1; max-width:420px; margin:0 auto 20px; }
  .about .container{ grid-template-columns:1fr; }
  .about-media{ max-width:420px; margin:0 auto; }
  .contact .container{ grid-template-columns:1fr; }
  .faq .container{ grid-template-columns:1fr; }
  .process-track{ grid-template-columns:repeat(2,1fr); row-gap:40px; }
  .process-track::before{ display:none; }
}

@media (max-width:760px){
  .nav-menu{
    position:absolute; top:100%; left:0; right:0; background:var(--cream);
    flex-direction:column; align-items:flex-start; padding:20px 24px 26px; gap:16px;
    border-bottom:1px solid var(--line); box-shadow:var(--shadow);
    max-height:0; overflow:hidden; transition:max-height var(--transition), padding var(--transition);
  }
  .nav-menu.open{ max-height:400px; padding:20px 24px 26px; }
  .nav-toggle{ display:flex; }
  .nav-cta .btn-primary span{ display:none; }
  .nav-cta .btn-primary{ padding:12px 16px; }
  .services-grid{ grid-template-columns:1fr; }
  .about-points{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:32px; }
  .cta-banner .container{ flex-direction:column; text-align:center; }
  .form-row{ grid-template-columns:1fr; }
  .topbar-contacts a:nth-child(2){ display:none; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .testimonial-card{ padding:34px 22px; }
}

@media (max-width:480px){
  .hero{ padding:56px 0 50px; }
  .about, .services, .process, .contact, .testimonials, .faq{ padding:64px 0; }
  .contact-info, .contact-form{ padding:40px 26px; }
  .section-head{ margin-bottom:36px; }
  .hero-media .float-tag{ display:none; }
}
