:root{
  --blue:#0b69d1;
  --blue-2:#0c86ef;
  --navy:#063566;
  --navy-2:#041f3f;
  --green:#0aa44f;
  --green-2:#0c8a45;
  --yellow:#f2b21b;
  --red:#ee3344;
  --ink:#0d2d55;
  --muted:#61718a;
  --line:#dce9f5;
  --bg:#f7fbff;
  --shadow:0 18px 55px rgba(19,68,117,.12);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.5}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
svg{width:1.1em;height:1.1em;vertical-align:-.1em}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(8,53,102,.08)}
.top-stripe{height:5px;width:100%;background:linear-gradient(90deg,#009e49 0%,#009e49 33.3%,#fdd100 33.3%,#fdd100 66.6%,#e31b23 66.6%,#e31b23 100%)}
.nav-shell{min-height:96px;padding:10px 0;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}
.brand{display:flex;align-items:center;overflow:visible}
.brand img{height:76px;width:auto;max-width:180px;object-fit:contain;background:transparent;mix-blend-mode:multiply}
.main-nav{display:flex;justify-content:center;gap:20px;font-size:14px;font-weight:700;color:#19385e}
.main-nav a{padding:32px 0 28px;border-bottom:3px solid transparent;transition:.2s;white-space:nowrap}
.main-nav a:hover{color:var(--blue);border-color:var(--blue)}
.header-actions{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 20px;font-weight:800;border:1px solid transparent;transition:.2s;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-whatsapp{background:linear-gradient(135deg,#0bad55,#078b44);color:#fff;box-shadow:0 8px 22px rgba(9,160,76,.22)}
.btn-whatsapp svg{width:20px;height:20px}
.btn-instagram{
  background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  color:#fff;
  box-shadow:0 6px 18px rgba(220,39,67,.22);
}
.btn-instagram svg{width:18px;height:18px}
.btn-outline{border-color:#9bc6f0;color:var(--blue);background:#fff}
.header-cta,.header-cta-ig{padding:11px 17px;font-size:13.5px;line-height:1;font-weight:700}
.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:12px;width:44px;height:44px;color:var(--navy)}

.hero-banner{padding:14px 0 10px;background:linear-gradient(180deg,#f0f7fd 0%,#f9fcff 100%);position:relative}
.banner-container{max-width:1120px;position:relative}
.banner-slider{position:relative;width:100%;border-radius:24px;overflow:hidden;box-shadow:0 14px 40px rgba(7,49,94,.12);border:1px solid rgba(13,83,161,.08);background:#fff}
.banner-slide{display:none;opacity:0;transition:opacity .6s ease-in-out;width:100%}
.banner-slide.active{display:block;opacity:1}
.hero-banner-link{display:block;width:100%;line-height:0;text-decoration:none;cursor:pointer}
.hero-banner-link picture{display:block;width:100%}
.hero-banner-img{width:100%;height:auto;display:block;image-rendering:-webkit-optimize-contrast}

.banner-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}
.banner-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:rgba(255,255,255,.5);cursor:pointer;padding:0;transition:.25s;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.banner-dot.active{background:#fff;width:28px;border-radius:999px}
.banner-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);color:var(--navy);border:1px solid rgba(0,0,0,.08);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:24px;line-height:1;cursor:pointer;z-index:10;transition:.2s;backdrop-filter:blur(4px);opacity:0;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.banner-container:hover .banner-arrow{opacity:1}
.banner-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.08);color:var(--blue)}
.banner-arrow.prev{left:22px}
.banner-arrow.next{right:22px}

.section{padding:48px 0}
.section-heading{margin-bottom:22px}
.section-heading h2{font-size:clamp(30px,2.8vw,42px);letter-spacing:-.035em;margin:0;color:var(--navy);line-height:1.08}
.section-heading p:not(.kicker){max-width:700px;color:var(--muted);margin:10px 0 0}
.compact{max-width:450px;margin-bottom:0}
.row-heading{display:flex;align-items:end;justify-content:space-between;gap:22px}
.text-link{font-weight:800;color:var(--blue);white-space:nowrap}

.benefits-bar{padding:10px 0 4px;background:transparent;position:relative;z-index:5}
.benefits-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1120px;margin-inline:auto}
.benefit-item{background:#fff;border:1px solid #dce9f5;border-radius:20px;padding:14px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 24px rgba(10,55,100,.06);transition:all .25s ease}
.benefit-item:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(10,55,100,.12);border-color:#b5d4f2}
.benefit-icon-box{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;flex-shrink:0;box-shadow:0 6px 14px rgba(0,0,0,.08)}
.benefit-icon-box img{width:30px;height:30px;object-fit:contain;filter:brightness(0) invert(1)}
.benefit-icon-box.bg-red{background:linear-gradient(135deg,#e31b23,#b80f16)}
.benefit-icon-box.bg-blue{background:linear-gradient(135deg,#0c86ef,#0859a8)}
.benefit-icon-box.bg-green{background:linear-gradient(135deg,#0aa44f,#077839)}
.benefit-icon-box.bg-yellow{background:linear-gradient(135deg,#f2b21b,#d49305)}
.benefit-item span{font-size:14.5px;font-weight:800;color:var(--navy);line-height:1.25;letter-spacing:-.01em}

.services{background:#fff;padding-top:20px}
.services-header{
  text-align:center;
  max-width:760px;
  margin:0 auto 28px;
}
.services-header .kicker{
  justify-content:center;
}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-card{background:#fff;border:1px solid #e3edf7;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(17,67,111,.08);transition:.25s;position:relative}
.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(17,67,111,.13)}
.service-card>img{width:100%;aspect-ratio:1.42/1;object-fit:cover;object-position:center 45%}
.service-body{padding:20px}
.service-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:currentColor;color:#fff;margin-top:-44px;position:relative;border:4px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.service-icon svg{width:22px;height:22px;color:#fff}
.service-body h3{font-size:20px;font-weight:800;margin:12px 0 8px;line-height:1.2;color:var(--navy);letter-spacing:-.02em}
.service-body p{font-size:14px;color:#4a617a;line-height:1.5;min-height:76px;margin:0 0 12px}
.service-body a{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:800;font-size:14px;padding:4px 0;transition:.2s}
.service-body a:hover{color:var(--navy);transform:translateX(3px)}
.service-card .service-icon.blue{background:var(--blue)}
.service-card .service-icon.green{background:var(--green)}
.service-card .service-icon.yellow{background:var(--yellow)}
.service-card .service-icon.red{background:var(--red)}

.process{background:#f6fbff;padding:38px 0 42px}
.process-header{text-align:center;max-width:700px;margin:0 auto 38px}
.process-header .kicker{justify-content:center}
.process-header h2{font-size:clamp(32px,3.2vw,44px);color:var(--navy);letter-spacing:-.03em;margin:0 0 10px;line-height:1.15}
.process-header p{color:var(--muted);font-size:16px;margin:0;line-height:1.5}

.process-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:8px}
.process-track{position:absolute;top:23px;left:12%;right:12%;height:3px;background:linear-gradient(90deg,#0b69d1 0%,#0aa44f 45%,#f2b21b 80%,#0aa44f 100%);z-index:1;border-radius:999px;opacity:.55}

.process-step{position:relative;display:flex;flex-direction:column;align-items:center;z-index:2}
.step-badge{width:46px;height:46px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 6px 18px rgba(11,105,209,.18);display:grid;place-items:center;margin-bottom:16px;transition:.3s ease}
.step-num{font-size:15px;font-weight:900;color:var(--navy)}
.process-step:hover .step-badge{transform:scale(1.12);background:var(--blue);border-color:#fff}
.process-step:hover .step-badge .step-num{color:#fff}

.step-card{background:#fff;border:1px solid #e1ecf7;border-radius:20px;padding:22px 18px 24px;text-align:center;width:100%;box-shadow:0 8px 24px rgba(10,55,100,.06);transition:all .25s ease;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}
.process-step:hover .step-card{transform:translateY(-5px);box-shadow:0 14px 34px rgba(10,55,100,.12);border-color:#b8daf7}

.step-card h3{margin:0 0 10px;font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.015em}
.step-card p{margin:0;font-size:13.5px;color:#4c627c;line-height:1.55}

.coverage-section-wrapper{
  padding:0;
  background:transparent;
}
.coverage-desktop-only{
  display:block;
  padding:20px 0 25px;
}
.coverage-banner-wrap{
  width:100%;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 14px 40px rgba(7,49,94,.12);
  border:1px solid rgba(13,83,161,.08);
  background:#093863;
  line-height:0;
}
.coverage-banner-img{
  width:100%;
  height:auto;
  display:block;
  image-rendering:-webkit-optimize-contrast;
}
.coverage-mobile-only{
  display:none;
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:50px 0;
}
.coverage-bg{
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,rgba(4,33,64,.92) 0%,rgba(6,53,102,.78) 45%,rgba(6,53,102,.35) 75%,rgba(4,33,64,.55) 100%),url('assets/garopaba-bg.jpg');
  background-size:cover;
  background-position:center 60%;
  background-repeat:no-repeat;
}
.coverage-content{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  align-items:center;
}
.coverage-kicker{
  color:#b6dcff;
  font-size:13.5px;
  font-weight:700;
  margin-bottom:8px;
}
.coverage-title{
  font-size:clamp(30px,3.8vw,48px);
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.03em;
  margin:0 0 12px;
  color:#fff;
}
.highlight-cyan{
  color:#5de4f9;
}
.coverage-desc{
  max-width:520px;
  font-size:14.5px;
  line-height:1.5;
  color:#e2f1ff;
  margin:0 0 20px;
}
.coverage-types{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  align-items:flex-start;
  margin-top:14px;
}
.cov-type-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:8px;
}
.cov-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  border:1.5px solid rgba(255,255,255,.28);
  display:grid;
  place-items:center;
  transition:all .25s ease;
}
.cov-icon svg{
  width:20px;
  height:20px;
  color:#5de4f9;
}
.cov-type-item span:last-child{
  font-size:11.5px;
  font-weight:700;
  color:#fff;
  line-height:1.2;
}
.coverage-side{
  background:#ffffff;
  color:var(--navy);
  padding:20px 18px 18px;
  border-radius:22px;
  box-shadow:0 18px 50px rgba(0,0,0,.25);
  position:relative;
}
.coverage-side-header{
  margin-bottom:14px;
  display:flex;
  justify-content:center;
}
.pin-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#eef6fe;
  color:#0e68d1;
  font-weight:900;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:.05em;
  border-radius:999px;
  padding:6px 14px;
  border:1px solid #d4e8fa;
}
.pin-pill svg{width:14px;height:14px;color:#0e68d1}
.coverage-list{
  list-style:none;
  padding:0;
  margin:0 0 14px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}
.coverage-list li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 12px;
  background:#f4f9fd;
  border:1px solid #e1effa;
  border-radius:12px;
}
.coverage-list li.loc-wide{
  grid-column:1 / -1;
}
.loc-left{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
  font-weight:800;
  color:#0c3664;
}
.chevron{
  width:13px;
  height:13px;
  color:#7395b7;
  flex-shrink:0;
}
.region-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex-shrink:0;
}
.region-dot.green{background:#0aa44f}
.region-dot.yellow{background:#f2b21b}
.region-dot.red{background:#ee3344}
.region-dot.blue{background:#0b69d1}
.coverage-expand{
  background:#f4faf7;
  border:1px solid #d3eee0;
  border-radius:12px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
}
.expand-icon{
  color:#0aa44f;
  flex-shrink:0;
  display:grid;
  place-items:center;
}
.expand-icon svg{width:18px;height:18px}
.coverage-expand p{
  margin:0;
  font-size:11.5px;
  line-height:1.35;
  color:#315646;
  font-weight:500;
}

.results{background:#f8fbfe;padding:70px 0}
.portfolio-header{
  text-align:center;
  max-width:760px;
  margin:0 auto 28px;
}
.portfolio-header .kicker{
  justify-content:center;
}
.portfolio-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:34px;
}
.filter-btn{
  background:#fff;
  color:var(--navy);
  border:1px solid #d9e7f4;
  padding:10px 20px;
  border-radius:999px;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  transition:all .2s ease;
  box-shadow:0 4px 12px rgba(10,55,100,.04);
}
.filter-btn:hover{
  border-color:var(--blue);
  color:var(--blue);
  transform:translateY(-1px);
}
.filter-btn.active{
  background:var(--blue);
  color:#fff;
  border-color:var(--blue);
  box-shadow:0 8px 20px rgba(11,105,209,.25);
}
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.portfolio-card{
  background:#fff;
  border:1px solid #e2edf7;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(10,55,100,.06);
  transition:all .3s ease;
  display:flex;
  flex-direction:column;
}
.portfolio-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 45px rgba(10,55,100,.12);
  border-color:#b5d4f2;
}
.portfolio-thumb{
  position:relative;
  width:100%;
  aspect-ratio:1.35/1;
  overflow:hidden;
  background:#eaf2fa;
}
.portfolio-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.portfolio-card:hover .portfolio-thumb img{
  transform:scale(1.04);
}
.thumb-badge{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  display:flex;
  justify-content:space-between;
  pointer-events:none;
}
.thumb-badge.full{
  justify-content:flex-end;
}
.badge-tag{
  padding:5px 11px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  backdrop-filter:blur(8px);
}
.badge-tag.before{
  background:rgba(238,51,68,.9);
  color:#fff;
  box-shadow:0 4px 12px rgba(238,51,68,.3);
}
.badge-tag.after{
  background:rgba(10,164,79,.95);
  color:#fff;
  box-shadow:0 4px 12px rgba(10,164,79,.3);
}
.badge-tag.live{
  background:rgba(11,105,209,.92);
  color:#fff;
  box-shadow:0 4px 12px rgba(11,105,209,.3);
}
.portfolio-info{
  padding:20px;
  display:flex;
  flex-direction:column;
  flex-grow:1;
}
.portfolio-tag{
  font-size:11px;
  font-weight:800;
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
.portfolio-info h3{
  margin:0 0 8px;
  font-size:17.5px;
  font-weight:800;
  color:var(--navy);
  line-height:1.25;
}
.portfolio-info p{
  margin:0;
  font-size:13.5px;
  color:var(--muted);
  line-height:1.5;
}
.portfolio-cta-box{
  margin-top:36px;
  background:#fff;
  border:1px solid #dceaf7;
  border-radius:20px;
  padding:24px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  box-shadow:0 10px 30px rgba(10,55,100,.05);
}
.portfolio-cta-box h4{
  margin:0 0 6px;
  font-size:18px;
  color:var(--navy);
  font-weight:800;
}
.portfolio-cta-box p{
  margin:0;
  color:var(--muted);
  font-size:14px;
}

.faq{background:#f5faff}
.faq-grid{display:grid;grid-template-columns:400px 1fr;gap:34px;align-items:stretch}
.faq-visual{position:relative;border-radius:24px;overflow:hidden;background:#dff0ff;min-height:520px}
.faq-visual img{width:100%;height:100%;object-fit:cover;object-position:center 36%;filter:saturate(.95)}
.faq-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,38,75,.9) 100%)}
.faq-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;color:#fff}
.faq-copy .kicker{color:#b9e0ff}.faq-copy h2{font-size:32px;line-height:1.05;margin:0 0 8px}.faq-copy p{margin:0;color:#e6f4ff}
.accordion{display:flex;flex-direction:column;gap:12px}
.accordion article{background:#fff;border:1px solid #dceaf6;border-radius:16px;overflow:hidden}
.accordion button{width:100%;background:#fff;border:0;text-align:left;padding:19px 20px;display:flex;justify-content:space-between;align-items:center;color:var(--ink);font-weight:800;cursor:pointer}
.accordion button b{font-size:22px;color:var(--blue);transition:.2s}
.accordion article>div{max-height:0;overflow:hidden;transition:max-height .3s ease}
.accordion article>div p{padding:0 20px 18px;margin:0;color:var(--muted);font-size:14px}
.accordion article.open>div{max-height:150px}
.accordion article.open button b{transform:rotate(45deg)}

.cta-band{padding:0 0 34px;background:#f5faff}
.cta-shell{background:linear-gradient(110deg,#075ab5 0%,#0c83df 64%,#0ba34f 120%);min-height:210px;border-radius:26px;display:grid;grid-template-columns:240px 1fr auto;gap:28px;align-items:center;padding:0 36px 0 0;overflow:hidden;box-shadow:var(--shadow)}
.cta-mascot{height:210px;overflow:hidden}
.cta-mascot img{width:100%;height:100%;object-fit:cover;object-position:center 44%}
.cta-copy{color:#fff;padding:24px 0}
.cta-copy h2{font-size:32px;line-height:1.15;margin:0 0 6px}
.cta-copy p{margin:0;color:#e6f4ff;font-size:16px}
.cta-copy .kicker{margin-bottom:8px}
.cta-actions{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center}
.btn.big{padding:16px 28px;min-width:auto;text-align:center;font-size:16px;line-height:1.2}
.cta-mini{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;color:#eaf7ff;font-size:11px;font-weight:700}

.footer{background:linear-gradient(180deg,#063566,#03264b);color:#d8e9f8;padding:54px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:32px;align-items:start}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.footer-logo img{height:72px;width:auto;max-width:140px;object-fit:contain;border-radius:14px;background:#fff;padding:6px;box-shadow:0 6px 18px rgba(0,0,0,.25);margin-bottom:14px}
.footer h3{color:#fff;font-size:15px;margin:0 0 14px}
.footer a,.footer span{display:flex;align-items:center;gap:7px;font-size:13px;color:#d0e3f3;margin:8px 0}
.footer p{font-size:13px;color:#d0e3f3;max-width:270px;margin:0 0 12px;line-height:1.55}
.socials{display:flex;gap:10px;margin-top:16px}
.social-ig{
  display:inline-flex!important;
  align-items:center;
  gap:9px;
  background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  color:#fff!important;
  padding:8px 16px;
  border-radius:999px;
  font-weight:700;
  font-size:13px;
  box-shadow:0 4px 15px rgba(220,39,67,.25);
  transition:all .25s ease;
  width:fit-content;
}
.social-ig svg{width:17px;height:17px;color:#fff}
.social-ig:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(220,39,67,.35);
  filter:brightness(1.05);
}
.footer-wpp{background:#0b9f4c!important;color:#fff!important;border-radius:999px;padding:10px 12px;width:max-content;font-weight:800}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:34px;padding-top:16px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#9fc1dc}

.floating-wpp{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#0aa34f;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.24);z-index:99}.floating-wpp svg{width:30px;height:30px}

@media(max-width:1120px){
  .main-nav{gap:14px;font-size:13px}
  .header-actions{gap:6px}
  .header-cta,.header-cta-ig{padding:9px 12px;font-size:12.5px}
}
@media(max-width:1050px){
  .nav-shell{grid-template-columns:auto 1fr auto}.main-nav{gap:14px}.header-actions{display:none}
  .benefits-row{grid-template-columns:repeat(2,1fr);gap:16px}
  .process-shell{grid-template-columns:1fr}.compact{max-width:700px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .process-timeline{grid-template-columns:repeat(2,1fr);gap:28px 20px}
  .process-track{display:none}
  .footer-grid{grid-template-columns:2fr repeat(2,1fr)}
}
@media(max-width:760px){
  .container{width:min(100% - 26px,1180px)}
  .nav-shell{min-height:76px;grid-template-columns:1fr auto}.brand{height:auto}.brand img{height:58px;width:auto}.menu-toggle{display:grid;place-items:center}.main-nav{position:absolute;top:76px;left:13px;right:13px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:16px;flex-direction:column;gap:0;display:none}.main-nav.open{display:flex}.main-nav a{padding:12px 6px;border-bottom:1px solid #eef4f8}
  .hero-banner{padding:12px 0}
  .banner-slider{border-radius:18px}
  .banner-arrow{display:none}
  .benefits-bar{padding:12px 0 24px}
  .benefits-row{grid-template-columns:repeat(2,1fr);gap:12px}
  .benefit-item{padding:12px 14px;border-radius:16px;gap:12px}
  .benefit-icon-box{width:46px;height:46px;border-radius:12px}
  .benefit-icon-box img{width:26px;height:26px}
  .benefit-item span{font-size:13.5px}
  .section{padding:52px 0}.section-heading h2{font-size:34px}.row-heading{align-items:flex-start;flex-direction:column}
  .services .section-heading{text-align:center;margin-bottom:34px}
  .services .section-heading .kicker{justify-content:center}
  .services .section-heading h2{font-size:30px;line-height:1.15;max-width:440px;margin-inline:auto}
  .service-grid{grid-template-columns:1fr;gap:24px;max-width:460px;margin-inline:auto}
  .service-card{text-align:center;border-radius:22px}
  .service-icon{margin-inline:auto}
  .service-body{padding:20px 18px 24px}
  .service-body h3{font-size:22px;margin:12px 0 8px}
  .service-body p{min-height:0;font-size:15px;color:#3e5774;line-height:1.6;margin-bottom:18px}
  .service-body a{justify-content:center;background:#eef6fc;color:var(--blue);padding:11px 18px;border-radius:999px;font-size:14px;width:100%;box-sizing:border-box}
  .process-timeline{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:22px;
    max-width:440px;
    margin-inline:auto;
    padding-left:56px;
  }
  .process-track{
    display:block;
    position:absolute;
    left:21px;
    top:22px;
    bottom:22px;
    width:3px;
    height:auto;
    background:linear-gradient(180deg,#0b69d1 0%,#0aa44f 40%,#f2b21b 75%,#0aa44f 100%);
    z-index:1;
    border-radius:999px;
    opacity:.7;
  }
  .process-step{
    position:relative;
    display:block;
    z-index:2;
    width:100%;
  }
  .step-badge{
    position:absolute;
    left:-56px;
    top:50%;
    transform:translateY(-50%);
    margin-bottom:0;
    margin-left:0;
    width:44px;
    height:44px;
    background:#fff;
    border:3px solid var(--blue);
    flex-shrink:0;
    box-shadow:0 4px 14px rgba(11,105,209,.25);
  }
  .step-card{
    min-height:0;
    padding:18px 20px;
    text-align:left;
    align-items:flex-start;
    border-radius:18px;
    border:1px solid #dbe8f5;
  }
  .step-card h3{
    font-size:18px;
    margin-bottom:6px;
  }
  .step-card p{
    font-size:13.5px;
    line-height:1.5;
  }
  .portfolio-grid{grid-template-columns:1fr;gap:20px}
  .portfolio-filters{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:6px 4px 12px;
    margin:0 0 20px;
    width:100%;
    box-sizing:border-box;
    flex-wrap:nowrap;
    justify-content:flex-start;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .portfolio-filters::-webkit-scrollbar{display:none}
  .filter-btn{
    white-space:nowrap;
    padding:8px 16px;
    font-size:13px;
    flex-shrink:0;
    touch-action:manipulation;
  }
  .portfolio-cta-box{flex-direction:column;text-align:center;padding:16px;gap:14px}
  .portfolio-cta-box .btn{width:100%}
  .coverage-desktop-only{display:none}
  .coverage-mobile-only{display:block;padding:42px 0}
  .faq-grid{grid-template-columns:1fr}.faq-visual{min-height:380px}
  .cta-shell{grid-template-columns:1fr;padding:0 18px 22px;gap:10px}.cta-mascot{height:240px;margin:0 -18px}.cta-copy h2{font-size:28px}.cta-actions{align-items:stretch}.cta-mini{justify-content:flex-start}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}
}
@media(max-width:460px){
  .benefits-row{grid-template-columns:1fr;gap:10px}
  .benefit-item{padding:14px 16px}
  .footer-grid{grid-template-columns:1fr}
}
