/* CUESTA client adjustments refined · 2026-10-13 */

.material-symbols-rounded{
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
  line-height:1;
}

/* Header phone icon */
.header-phone,
.mobile-phone{
  overflow:visible!important;
}
.header-phone__icon{
  display:grid!important;
  flex:0 0 34px;
  width:34px!important;
  height:34px!important;
  place-items:center;
  overflow:visible!important;
  border:1px solid var(--cu-line);
  border-radius:50%;
  background:#fff;
  color:#3f514b;
  font-size:18px!important;
  line-height:1!important;
}
.mobile-phone__icon{
  display:grid!important;
  flex:0 0 28px;
  width:28px!important;
  height:28px!important;
  place-items:center;
  overflow:visible!important;
  border-radius:50%;
  background:#eef6f3;
  color:var(--cu-teal-dark);
  font-size:17px!important;
  line-height:1!important;
}
.header-phone svg,
.mobile-phone svg{display:none!important}

/* Shared feature sections */
.service-feature{
  margin:76px 0 28px;
  overflow:hidden;
  border:1px solid rgba(37,59,53,.08);
  border-radius:26px;
  background:#f7f6f1;
}
.service-feature__intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,.88fr);
  gap:28px;
  align-items:stretch;
  padding:32px 32px 0;
}
.service-feature__intro-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 0 18px;
}
.service-feature__intro-copy h2{
  margin:0 0 14px!important;
  max-width:680px;
  color:#20332e;
  font-size:clamp(34px,3.8vw,50px)!important;
  line-height:1.02!important;
  letter-spacing:-.05em!important;
}
.service-feature__intro-copy p{
  max-width:700px;
  margin:0!important;
  color:#5d6c67;
  font-size:15px!important;
  line-height:1.62!important;
}
.service-feature__intro-media{
  min-height:255px;
  overflow:hidden;
  border-radius:20px;
  background:#dfe9e4;
}
.service-feature__intro-media img{
  width:100%;
  height:100%;
  min-height:255px;
  object-fit:cover;
}
.service-feature__body{
  padding:28px 32px 34px;
}
.service-feature__body--compact{
  padding-top:14px;
}

/* Traffic services */
.vehicle-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.vehicle-service-card{
  display:flex;
  flex-direction:column;
  min-height:220px;
  padding:22px;
  border:1px solid rgba(37,59,53,.08);
  border-radius:18px;
  background:#fff;
}
.vehicle-service-card>span{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  margin-bottom:16px;
  border-radius:13px;
  background:#e9f4f0;
  color:#2d806e;
  font-size:22px!important;
}
.vehicle-service-card h3{
  min-height:44px;
  margin:0 0 9px!important;
  color:#263835;
  font-size:20px!important;
  line-height:1.13!important;
}
.vehicle-service-card p{
  margin:0!important;
  color:#65736e;
  font-size:13.5px!important;
  line-height:1.5!important;
}
.vehicle-service-card small{
  display:block;
  margin-top:auto;
  padding-top:14px;
  color:#2e7565;
  font-size:11.5px;
  line-height:1.4;
  font-weight:700;
}

.registration-flow{
  margin-top:18px;
  padding:24px 0 0;
  border-top:1px solid rgba(37,59,53,.10);
}
.registration-flow__head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.registration-flow__head>span{
  color:#2d806e;
  font-size:22px!important;
}
.registration-flow__head h3{
  margin:0!important;
  color:#263835;
  font-size:20px!important;
  line-height:1.18!important;
}
.registration-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.registration-steps article{
  min-height:148px;
  padding:18px;
  border:1px solid rgba(37,59,53,.07);
  border-radius:16px;
  background:rgba(255,255,255,.72);
}
.registration-steps article>span{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  margin-bottom:13px;
  border-radius:11px;
  background:#eef6f3;
  color:#2f806e;
  font-size:20px!important;
}
.registration-steps strong{
  display:block;
  min-height:36px;
  color:#273934;
  font:800 14px/1.25 "Manrope",sans-serif;
}
.registration-steps p{
  margin:7px 0 0!important;
  color:#6c7975;
  font-size:12.5px!important;
  line-height:1.45!important;
}

/* VMP */
.vmp-feature{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  gap:0;
  margin-top:16px;
  overflow:hidden;
  border:1px solid rgba(37,59,53,.08);
  border-radius:18px;
  background:#fff;
}
.vmp-feature__media{
  min-height:235px;
}
.vmp-feature__media img{
  width:100%;
  height:100%;
  min-height:235px;
  object-fit:cover;
}
.vmp-feature__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 30px;
}
.vmp-feature__copy>span{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  margin-bottom:12px;
  border-radius:13px;
  background:#eaf4f1;
  color:#2d806e;
  font-size:22px!important;
}
.vmp-feature h3{
  margin:0 0 9px!important;
  color:#253733;
  font-size:25px!important;
  line-height:1.08!important;
}
.vmp-feature p{
  margin:0!important;
  color:#63716c;
  font-size:14px!important;
  line-height:1.55!important;
}

/* Rural */
.service-feature--rural{
  background:#f7f4ea;
}
.rural-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.rural-cards article{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:15px;
  min-height:150px;
  padding:22px;
  border:1px solid rgba(71,91,56,.09);
  border-radius:17px;
  background:rgba(255,255,255,.75);
}
.rural-cards article>span{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:13px;
  background:#edf2e7;
  color:#5f7957;
  font-size:24px!important;
}
.rural-cards h3{
  margin:0 0 8px!important;
  color:#263835;
  font-size:20px!important;
  line-height:1.18!important;
}
.rural-cards p{
  margin:0!important;
  color:#65736e;
  font-size:13.5px!important;
  line-height:1.5!important;
}

/* Inheritance abroad */
.inheritance-abroad{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  gap:0;
  margin:68px 0 24px;
  overflow:hidden;
  border:1px solid rgba(37,59,53,.08);
  border-radius:24px;
  background:linear-gradient(135deg,#eef5f1 0%,#f8f4eb 100%);
}
.inheritance-abroad__image{
  min-height:330px;
}
.inheritance-abroad__image img{
  width:100%;
  height:100%;
  min-height:330px;
  object-fit:cover;
}
.inheritance-abroad__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 38px;
}
.inheritance-abroad__globe{
  display:grid!important;
  width:44px;
  height:44px;
  place-items:center;
  margin-bottom:14px;
  border-radius:14px;
  background:#fff;
  color:#2d806e;
  font-size:24px!important;
  box-shadow:0 8px 20px rgba(32,51,46,.06);
}
.inheritance-abroad h2{
  max-width:740px;
  margin:0 0 12px!important;
  color:#263835;
  font-size:clamp(30px,3.3vw,44px)!important;
  line-height:1.06!important;
}
.inheritance-abroad p{
  max-width:740px;
  margin:0!important;
  color:#5d6d67;
  font-size:15px!important;
  line-height:1.62!important;
}

/* About */
.about-story{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:34px;
  width:min(100%,960px);
  margin:66px auto 24px;
  align-items:center;
}
.about-story__visual{
  min-height:360px;
}
.about-story__office{
  width:100%;
  height:360px;
  object-fit:cover;
  border-radius:18px;
}
.about-story__copy{
  padding:6px 0 6px 8px;
}
.about-story__portrait-inline{
  display:block;
  width:112px;
  height:112px;
  margin:0 0 30px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:#dbe4de;
  box-shadow:0 10px 28px rgba(32,51,46,.10);
}
.about-story__portrait-inline img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 18%;
}
.about-story__copy h2{
  margin:0 0 8px!important;
  color:#243632;
  font-size:clamp(23px,2.4vw,31px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
.about-story__roles{
  display:grid;
  gap:3px;
  max-width:480px;
}
.about-story__roles span{
  color:#31514a;
  font:750 13.5px/1.4 "Manrope",sans-serif;
}
.about-story__roles em{
  max-width:410px;
  color:#5e6f69;
  font:italic 400 13px/1.45 "DM Sans",sans-serif;
}
.about-story__copy>p{
  max-width:520px;
  margin:15px 0 13px!important;
  color:#60706a;
  font-size:13.5px!important;
  line-height:1.58!important;
}
.about-story__copy .text-link{
  font-size:12px;
}

/* Professional ecosystem */
.about-network{
  width:min(100%,960px);
  margin:28px auto 34px;
  padding:28px;
  border:1px solid rgba(37,59,53,.08);
  border-radius:22px;
  background:#fff;
}
.about-network__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,.58fr);
  gap:18px 34px;
  align-items:end;
  margin-bottom:20px;
}
.about-network__head h2{
  margin:0!important;
  color:#243632;
  font-size:clamp(27px,2.9vw,38px)!important;
  line-height:1.05!important;
}
.about-network__head p{
  margin:0!important;
  color:#65736e;
  font-size:13px!important;
  line-height:1.52!important;
}
.about-network__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.about-network__grid>a{
  display:grid;
  grid-template-rows:58px auto auto;
  min-height:164px;
  padding:18px;
  border:1px solid rgba(37,59,53,.08);
  border-radius:16px;
  background:#f6f6f1;
  color:#263835!important;
  text-decoration:none;
}
.about-network__logo{
  display:flex;
  align-items:center;
  min-height:50px;
}
.about-network__logo img{
  display:block;
  width:auto;
  object-fit:contain;
  filter:brightness(0) saturate(100%);
  opacity:.78;
}
.about-network__logo--ga img{
  height:40px;
  max-height:40px;
  max-width:44px;
}
.about-network__logo--gs img{
  height:28px;
  max-height:28px;
  max-width:94px;
}
.about-network__logo--e2k img{
  height:19px;
  max-height:19px;
  max-width:62px;
}
.about-network__grid strong{
  font:800 14.5px/1.25 "Manrope",sans-serif;
}
.about-network__grid small{
  margin-top:5px;
  color:#697773;
  font-size:10.8px;
  line-height:1.36;
}

/* Footer affiliation balance */
.footer-affiliation--gs img{
  height:28px!important;
  max-height:28px!important;
  width:auto!important;
  max-width:90px!important;
}
.footer-affiliation--e2k img{
  height:19px!important;
  max-height:19px!important;
  width:auto!important;
  max-width:62px!important;
}
.footer-affiliation--ga img{
  height:38px!important;
  max-height:38px!important;
}
.footer-affiliations{align-items:stretch!important}
.footer-affiliation{flex:1 1 0}

@media(max-width:900px){
  .service-feature__intro{
    grid-template-columns:1fr;
  }
  .service-feature__intro-media{
    min-height:220px;
  }
  .vehicle-service-grid{
    grid-template-columns:1fr;
  }
  .vehicle-service-card{
    min-height:0;
  }
  .registration-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .vmp-feature{
    grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr);
  }
  .rural-cards{
    grid-template-columns:1fr;
  }
  .inheritance-abroad{
    grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr);
  }
  .about-story{
    grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);
  }
  .about-network__head{
    grid-template-columns:1fr;
  }
  .about-network__grid{
    grid-template-columns:1fr;
  }
  .about-network__grid>a{
    grid-template-columns:100px minmax(0,1fr);
    grid-template-rows:auto auto;
    min-height:0;
    align-items:center;
  }
  .about-network__logo{grid-row:1 / 3}
}

@media(max-width:720px){
  .service-feature{
    margin-top:50px;
    border-radius:21px;
  }
  .service-feature__intro{
    padding:22px 17px 0;
    gap:18px;
  }
  .service-feature__intro-media{
    min-height:210px;
  }
  .service-feature__body{
    padding:20px 17px 24px;
  }
  .vehicle-service-grid{
    grid-template-columns:1fr;
  }
  .registration-steps{
    grid-template-columns:1fr;
  }
  .registration-steps article{
    min-height:0;
  }
  .vmp-feature{
    grid-template-columns:1fr;
  }
  .vmp-feature__media,
  .vmp-feature__media img{
    min-height:220px;
  }
  .inheritance-abroad{
    grid-template-columns:1fr;
  }
  .inheritance-abroad__image,
  .inheritance-abroad__image img{
    min-height:230px;
  }
  .inheritance-abroad__copy{
    padding:24px 20px 26px;
  }
  .about-story{
    position:relative;
    grid-template-columns:1fr;
    width:100%;
    gap:0;
  }
  .about-story__visual{
    min-height:300px;
  }
  .about-story__office{
    height:300px;
  }
  .about-story__copy{
    padding:0 4px 0;
  }
  .about-story__portrait-inline{
    position:relative;
    z-index:2;
    width:104px;
    height:104px;
    margin:-54px 18px 30px auto;
    border-width:2px;
  }
  .about-network{
    width:100%;
    padding:21px;
  }
  .about-network__grid>a{
    grid-template-columns:86px minmax(0,1fr);
    padding:15px;
  }
  .footer-affiliation{flex:1 1 100%}
}

/* Final alignment pass requested by client */
.service-feature__intro{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  padding:32px 32px 0!important;
}
.service-feature__intro-copy,
.service-feature__intro-media{
  min-width:0;
}
.service-feature__intro-copy{
  padding:18px 22px 18px 0!important;
}
.service-feature__intro-media{
  min-height:270px!important;
}
.service-feature__intro-copy p{
  font-size:15.5px!important;
}
.service-feature__saving{
  margin-top:14px!important;
  padding:12px 14px;
  border-left:3px solid #6ec0af;
  border-radius:0 12px 12px 0;
  background:rgba(110,192,175,.10);
  color:#31594f!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:650;
}

.vehicle-service-card p{
  font-size:14.5px!important;
  line-height:1.52!important;
}
.vehicle-service-card small{
  font-size:12.25px!important;
  line-height:1.45!important;
}

.registration-flow{
  margin-top:24px!important;
  padding-top:26px!important;
}
.registration-steps article{
  background:#263835!important;
  border-color:#263835!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(24,40,36,.08);
}
.registration-steps article>span{
  background:rgba(255,255,255,.10)!important;
  color:#9ed9ca!important;
}
.registration-steps strong{
  color:#fff!important;
}
.registration-steps p{
  color:#d3dfdb!important;
  font-size:12.75px!important;
}
.vmp-feature{
  margin-top:34px!important;
}

.service-feature--rural{
  background:#143f35!important;
  border-color:rgba(255,255,255,.08)!important;
}
.service-feature--rural .service-feature__intro-copy h2{
  color:#fff!important;
}
.service-feature--rural .service-feature__intro-copy p{
  color:#d8e5df!important;
}
.service-feature--rural .service-feature__intro-media{
  background:#234f44!important;
}
.service-feature--rural .service-feature__body{
  padding-top:20px!important;
}
.rural-cards{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.rural-cards article{
  display:flex!important;
  flex-direction:column!important;
  min-height:220px!important;
  padding:22px!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.rural-cards article>span{
  margin-bottom:16px;
  background:rgba(255,255,255,.10)!important;
  color:#b9ddca!important;
}
.rural-cards h3{
  min-height:46px;
  color:#fff!important;
  font-size:20px!important;
}
.rural-cards p{
  color:#d5e1dc!important;
  font-size:14px!important;
  line-height:1.52!important;
}

@media(max-width:900px){
  .service-feature__intro{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .service-feature__intro-copy{
    padding-right:0!important;
  }
  .rural-cards{
    grid-template-columns:1fr!important;
  }
  .rural-cards article{
    min-height:0!important;
  }
}

@media(max-width:720px){
  .service-feature__intro{
    padding:22px 17px 0!important;
  }
  .service-feature__intro-media{
    min-height:210px!important;
  }
  .vmp-feature{
    margin-top:28px!important;
  }
}

/* Final service-section system: aligned grid items + dark Traffic */
.service-feature__intro{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  padding:32px 32px 0!important;
  align-items:stretch!important;
}
.service-feature__intro-copy{
  min-height:270px;
  padding:22px!important;
  border-radius:18px;
  background:rgba(255,255,255,.74);
}
.service-feature__intro-media{
  min-height:270px!important;
  border-radius:18px!important;
}
.service-feature__intro-media img{
  min-height:270px!important;
}
.service-feature__saving{
  margin:12px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#687570!important;
  font-size:11.75px!important;
  line-height:1.45!important;
  font-weight:500!important;
}

/* Traffic: whole section dark, with a neutral charcoal distinct from Rural green */
.service-feature--traffic{
  background:#2d3835!important;
  border-color:rgba(255,255,255,.08)!important;
}
.service-feature--traffic .service-feature__intro-copy{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.08);
}
.service-feature--traffic .service-feature__intro-copy h2{
  color:#fff!important;
}
.service-feature--traffic .service-feature__intro-copy>p:not(.service-feature__saving){
  color:#d5dfdb!important;
}
.service-feature--traffic .service-feature__saving{
  color:#aebcb7!important;
}
.service-feature--traffic .vehicle-service-card{
  background:rgba(255,255,255,.065)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.service-feature--traffic .vehicle-service-card>span{
  background:rgba(255,255,255,.09)!important;
  color:#9ed9ca!important;
}
.service-feature--traffic .vehicle-service-card h3{
  color:#fff!important;
}
.service-feature--traffic .vehicle-service-card p{
  color:#d5dfdb!important;
  font-size:14.5px!important;
}
.service-feature--traffic .vehicle-service-card small{
  display:none!important;
}
.service-feature--traffic .registration-flow{
  border-top-color:rgba(255,255,255,.12)!important;
}
.service-feature--traffic .registration-flow__head>span{
  color:#9ed9ca!important;
}
.service-feature--traffic .registration-flow__head h3{
  color:#fff!important;
}
.service-feature--traffic .registration-steps article{
  background:#182824!important;
  border-color:rgba(255,255,255,.08)!important;
}
.service-feature--traffic .vmp-feature{
  background:#24302d!important;
  border-color:rgba(255,255,255,.10)!important;
}
.service-feature--traffic .vmp-feature__copy>span{
  background:rgba(255,255,255,.09)!important;
  color:#9ed9ca!important;
}
.service-feature--traffic .vmp-feature h3{
  color:#fff!important;
}
.service-feature--traffic .vmp-feature p{
  color:#d5dfdb!important;
}

/* Rural: same grid system, green identity */
.service-feature--rural .service-feature__intro-copy{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.08);
}
.service-feature--rural .service-feature__intro-copy h2{
  color:#fff!important;
}
.service-feature--rural .service-feature__intro-copy p{
  color:#d8e5df!important;
}

/* Align upper content with the content inside the first card below */
.service-feature__body{
  padding:10px 32px 34px!important;
}
.vehicle-service-grid,
.rural-cards{
  gap:10px!important;
}

/* International cases: same heading rhythm as the other service pages */
.service-cases--international .service-cases__head p{
  display:none!important;
}

@media(max-width:900px){
  .service-feature__intro{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .service-feature__intro-copy{
    min-height:0;
  }
}

@media(max-width:720px){
  .service-feature__intro{
    padding:18px 17px 0!important;
  }
  .service-feature__intro-copy{
    padding:18px!important;
  }
  .service-feature__intro-media,
  .service-feature__intro-media img{
    min-height:210px!important;
  }
  .service-feature__body{
    padding:10px 17px 24px!important;
  }
}

/* Refinement pass · 2026-10-13 */
.service-feature__intro{
  gap:18px!important;
  padding:44px 44px 0!important;
}
.service-feature__body{
  padding:20px 44px 44px!important;
}
.service-feature__intro-copy{
  padding:22px!important;
}
.service-feature__intro-media{
  border-radius:18px!important;
}
.service-feature__intro-copy,
.service-feature__intro-media{
  min-height:286px!important;
}
.service-feature__intro-media img{
  min-height:286px!important;
}

.vehicle-service-grid,
.rural-cards{
  gap:18px!important;
}
.vehicle-service-card,
.rural-cards article{
  min-height:222px!important;
  padding:22px!important;
}
.vehicle-service-card p,
.rural-cards p{
  font-size:15px!important;
  line-height:1.52!important;
}

/* Lower service cards stay light on both dark parent sections */
.service-feature--traffic .vehicle-service-card,
.service-feature--rural .rural-cards article{
  background:#f7f6f1!important;
  border-color:rgba(255,255,255,.08)!important;
}
.service-feature--traffic .vehicle-service-card>span,
.service-feature--rural .rural-cards article>span{
  background:#e8f1ed!important;
  color:#315e53!important;
}
.service-feature--traffic .vehicle-service-card h3,
.service-feature--rural .rural-cards h3{
  color:#263835!important;
}
.service-feature--traffic .vehicle-service-card p,
.service-feature--rural .rural-cards p{
  color:#5f6e69!important;
}

/* Registration steps use the same dark tone as the Traffic intro tile */
.service-feature--traffic .registration-steps article{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.09)!important;
  box-shadow:none!important;
}
.service-feature--traffic .registration-steps article>span{
  background:rgba(255,255,255,.09)!important;
  color:#9ed9ca!important;
}
.service-feature--traffic .registration-steps strong{
  color:#fff!important;
}
.service-feature--traffic .registration-steps p{
  color:#d5dfdb!important;
}

/* More breathing room before VMP and a shorter reading measure on desktop */
.vmp-feature{
  margin-top:46px!important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
}
.vmp-feature__copy{
  max-width:440px;
  width:100%;
  justify-self:start;
}

/* International: match the heading hierarchy used by other service pages */
.service-cases--international .service-cases__head h2{
  margin:8px 0 0!important;
  font-size:clamp(32px,3.5vw,48px)!important;
  line-height:1.1!important;
  letter-spacing:-.045em!important;
}

@media(max-width:900px){
  .service-feature__intro{
    padding:30px 30px 0!important;
  }
  .service-feature__body{
    padding:18px 30px 34px!important;
  }
  .vehicle-service-grid,
  .rural-cards{
    gap:12px!important;
  }
  .vmp-feature{
    grid-template-columns:1fr!important;
  }
  .vmp-feature__copy{
    max-width:none;
  }
}

@media(max-width:720px){
  .service-feature__intro{
    padding:18px 17px 0!important;
    gap:12px!important;
  }
  .service-feature__body{
    padding:12px 17px 24px!important;
  }
  .service-feature__intro-copy{
    padding:18px!important;
  }
  .service-feature__intro-copy,
  .service-feature__intro-media,
  .service-feature__intro-media img{
    min-height:0!important;
  }
  .vehicle-service-card,
  .rural-cards article{
    min-height:0!important;
  }
  .vmp-feature{
    margin-top:30px!important;
  }
  .service-cases--international .service-cases__head h2{
    font-size:34px!important;
  }
}

/* Light visual system for Traffic and Rural */
.service-feature--traffic{
  background:#f1f5f3!important;
  border-color:rgba(46,59,58,.08)!important;
}
.service-feature--rural{
  background:#f2eee5!important;
  border-color:rgba(46,59,58,.08)!important;
}

.service-feature--traffic .service-feature__intro-copy,
.service-feature--rural .service-feature__intro-copy{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(46,59,58,.08)!important;
}
.service-feature--traffic .service-feature__intro-copy h2,
.service-feature--rural .service-feature__intro-copy h2{
  color:#263835!important;
}
.service-feature--traffic .service-feature__intro-copy>p,
.service-feature--rural .service-feature__intro-copy>p{
  color:#5f6e69!important;
}
.service-feature--traffic .service-feature__saving{
  color:#71807b!important;
}

/* Same light-card treatment and spacing for the three services in each section */
.service-feature--traffic .vehicle-service-card,
.service-feature--rural .rural-cards article{
  min-height:222px!important;
  padding:22px!important;
  background:#fff!important;
  border:1px solid rgba(46,59,58,.08)!important;
  box-shadow:0 10px 24px rgba(37,59,53,.035);
}
.service-feature--traffic .vehicle-service-card>span,
.service-feature--rural .rural-cards article>span{
  display:grid!important;
  width:42px!important;
  height:42px!important;
  place-items:center!important;
  margin:0 0 16px!important;
  border-radius:13px!important;
  background:#e8f1ed!important;
  color:#315e53!important;
  font-size:22px!important;
}
.service-feature--traffic .vehicle-service-card h3,
.service-feature--rural .rural-cards h3{
  min-height:44px!important;
  margin:0 0 9px!important;
  color:#263835!important;
  font-size:20px!important;
  line-height:1.13!important;
}
.service-feature--traffic .vehicle-service-card p,
.service-feature--rural .rural-cards p{
  margin:0!important;
  color:#5f6e69!important;
  font-size:15px!important;
  line-height:1.52!important;
}
.service-feature--rural .rural-cards article{
  display:flex!important;
  flex-direction:column!important;
}
.service-feature--rural .rural-cards article>div{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}

/* Sequential registration: stronger spacing and arrows on desktop */
.registration-steps{
  gap:28px!important;
}
.service-feature--traffic .registration-flow{
  border-top-color:rgba(46,59,58,.10)!important;
}
.service-feature--traffic .registration-flow__head>span{
  color:#315e53!important;
}
.service-feature--traffic .registration-flow__head h3{
  color:#263835!important;
}
.service-feature--traffic .registration-steps article{
  position:relative;
  background:#2d3835!important;
  border-color:#2d3835!important;
  box-shadow:0 10px 22px rgba(37,59,53,.08)!important;
}
.service-feature--traffic .registration-steps article>span{
  background:rgba(255,255,255,.09)!important;
  color:#9ed9ca!important;
}
.service-feature--traffic .registration-steps strong{
  color:#fff!important;
}
.service-feature--traffic .registration-steps p{
  color:#d5dfdb!important;
}
@media(min-width:901px){
  .service-feature--traffic .registration-steps article:not(:last-child)::after{
    content:"→";
    position:absolute;
    top:50%;
    right:-22px;
    transform:translate(50%,-50%);
    display:grid;
    width:24px;
    height:24px;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:#315e53;
    font:800 14px/1 "Manrope",sans-serif;
    box-shadow:0 3px 10px rgba(37,59,53,.10);
    z-index:3;
  }
}

/* VMP: balanced 50/50 on desktop, shorter text measure */
.vmp-feature{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  background:#fff!important;
  border-color:rgba(46,59,58,.08)!important;
}
.vmp-feature__media,
.vmp-feature__media img{
  min-height:220px!important;
  max-height:260px!important;
}
.vmp-feature__copy{
  max-width:420px!important;
  padding:24px 28px!important;
}
.service-feature--traffic .vmp-feature__copy>span{
  background:#e8f1ed!important;
  color:#315e53!important;
}
.service-feature--traffic .vmp-feature h3{
  color:#263835!important;
}
.service-feature--traffic .vmp-feature p{
  color:#5f6e69!important;
}

@media(max-width:900px){
  .registration-steps{
    gap:12px!important;
  }
}
@media(max-width:720px){
  .vmp-feature{
    grid-template-columns:1fr!important;
  }
  .vmp-feature__media,
  .vmp-feature__media img{
    max-height:none!important;
  }
}

/* Final contrast and registration-flow fix */
.service-feature--traffic .service-feature__intro-copy>p:not(.service-feature__saving){
  color:#40514b!important;
  font-size:15.5px!important;
}
.service-feature--traffic .service-feature__saving{
  color:#7a8782!important;
  font-size:11.5px!important;
  line-height:1.45!important;
  font-weight:500!important;
}

/* Registration steps: light, distinct from the main service cards */
.service-feature--traffic .registration-steps article{
  background:#e7efeb!important;
  border:1px solid rgba(46,59,58,.10)!important;
  box-shadow:none!important;
  color:#263835!important;
}
.service-feature--traffic .registration-steps article>span{
  background:#d8e7e1!important;
  color:#315e53!important;
}
.service-feature--traffic .registration-steps strong{
  color:#263835!important;
}
.service-feature--traffic .registration-steps p{
  color:#5f6e69!important;
}

/* Arrows sit exactly in the centre of the desktop gap */
@media(min-width:901px){
  .service-feature--traffic .registration-steps article:not(:last-child)::after{
    right:-26px!important;
    transform:translateY(-50%)!important;
    width:24px!important;
    height:24px!important;
    background:#263835!important;
    color:#fff!important;
    box-shadow:0 3px 10px rgba(37,59,53,.12)!important;
  }
}

/* Final published polish · spacing, tonal cards and lighter chronology */
.service-feature{
  padding:18px!important;
}
.service-feature--traffic{
  background:#dfe9e5!important;
}
.service-feature--rural{
  background:#eee7d9!important;
}
.service-feature__intro{
  padding:28px!important;
  gap:20px!important;
}
.service-feature__body{
  padding:6px 28px 30px!important;
}
.service-feature__intro-copy{
  padding:24px!important;
}
.service-feature--traffic .service-feature__intro-copy,
.service-feature--rural .service-feature__intro-copy{
  background:rgba(255,255,255,.48)!important;
  border-color:rgba(46,59,58,.07)!important;
}
.service-feature--traffic .service-feature__intro-copy>p:not(.service-feature__saving){
  color:#3f514b!important;
}
.service-feature--traffic .service-feature__saving{
  margin-top:22px!important;
  color:#86918d!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:500!important;
}

/* Service cards inherit a hint of their parent section instead of pure white */
.service-feature--traffic .vehicle-service-card{
  background:#edf3f0!important;
}
.service-feature--rural .rural-cards article{
  background:#f5efe5!important;
}
.service-feature--traffic .vehicle-service-card,
.service-feature--rural .rural-cards article{
  border-color:rgba(46,59,58,.08)!important;
  box-shadow:0 10px 24px rgba(37,59,53,.03)!important;
}

/* Registration flow: soft traffic tint, clearly different from the three main services */
.service-feature--traffic .registration-steps{
  gap:32px!important;
}
.service-feature--traffic .registration-steps article{
  background:#cfded8!important;
  border-color:rgba(49,94,83,.12)!important;
  color:#263835!important;
}
.service-feature--traffic .registration-steps article>span{
  background:#bfd2ca!important;
  color:#315e53!important;
}
.service-feature--traffic .registration-steps strong{
  color:#263835!important;
}
.service-feature--traffic .registration-steps p{
  color:#53645f!important;
}

/* Simple arrows only, centred in the gap */
@media(min-width:901px){
  .service-feature--traffic .registration-steps article:not(:last-child)::after{
    content:"→"!important;
    top:50%!important;
    right:-22px!important;
    transform:translate(50%,-50%)!important;
    width:auto!important;
    height:auto!important;
    display:block!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    color:#5f6e69!important;
    font:700 20px/1 "Manrope",sans-serif!important;
  }
}

/* VMP returns to a fully light treatment */
.service-feature--traffic .vmp-feature{
  background:#edf3f0!important;
  border-color:rgba(46,59,58,.08)!important;
}
.service-feature--traffic .vmp-feature__copy>span{
  background:#d8e7e1!important;
  color:#315e53!important;
}
.service-feature--traffic .vmp-feature h3{
  color:#263835!important;
}
.service-feature--traffic .vmp-feature p{
  color:#53645f!important;
}

/* Slightly more internal breathing room on both desktop sections */
.vehicle-service-grid,
.rural-cards{
  gap:20px!important;
}
.vehicle-service-card,
.rural-cards article{
  padding:24px!important;
}

@media(max-width:900px){
  .service-feature{
    padding:14px!important;
  }
  .service-feature__intro{
    padding:22px!important;
  }
  .service-feature__body{
    padding:4px 22px 24px!important;
  }
  .service-feature--traffic .registration-steps{
    gap:14px!important;
  }
}
@media(max-width:720px){
  .service-feature{
    padding:10px!important;
  }
  .service-feature__intro{
    padding:14px!important;
  }
  .service-feature__body{
    padding:4px 14px 18px!important;
  }
}

/* Micro-polish · icon contrast, arrows and interior spacing */
.service-feature{
  padding:22px!important;
}
.service-feature__intro{
  padding:30px!important;
  gap:22px!important;
}
.service-feature__body{
  padding:8px 30px 34px!important;
}
.service-feature__intro-copy{
  padding:30px!important;
}

/* Main service cards: more breathing room */
.service-feature--traffic .vehicle-service-card,
.service-feature--rural .rural-cards article{
  padding:30px!important;
}

/* Traffic icons: same clear contrast language as VMP */
.service-feature--traffic .vehicle-service-card>span{
  background:#d8e7e1!important;
  color:#315e53!important;
}

/* Rural icons: warm beige, not traffic green */
.service-feature--rural .rural-cards article>span{
  background:#e8ddca!important;
  color:#7b694f!important;
}

/* Registration steps: lighter tonal green and roomier internals */
.service-feature--traffic .registration-steps article{
  padding:24px!important;
  background:#dbe7e2!important;
  border-color:rgba(49,94,83,.10)!important;
}
.service-feature--traffic .registration-steps article>span{
  background:#c9dad3!important;
  color:#315e53!important;
}

/* Desktop step separators: mint triangles, centred in the 32px gap */
@media(min-width:901px){
  .service-feature--traffic .registration-steps article:not(:last-child)::after{
    content:""!important;
    position:absolute!important;
    top:50%!important;
    right:-25px!important;
    transform:translateY(-50%)!important;
    width:0!important;
    height:0!important;
    border-top:9px solid transparent!important;
    border-bottom:9px solid transparent!important;
    border-left:14px solid #c9dad3!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
}

/* VMP: more separation from image on desktop */
@media(min-width:901px){
  .vmp-feature__copy{
    padding:30px 34px 30px 42px!important;
  }
}

@media(max-width:900px){
  .service-feature{
    padding:16px!important;
  }
  .service-feature__intro{
    padding:24px!important;
  }
  .service-feature__body{
    padding:6px 24px 28px!important;
  }
  .service-feature--traffic .vehicle-service-card,
  .service-feature--rural .rural-cards article{
    padding:26px!important;
  }
  .service-feature--traffic .registration-steps article{
    padding:22px!important;
  }
}
@media(max-width:720px){
  .service-feature{
    padding:11px!important;
  }
  .service-feature__intro{
    padding:15px!important;
  }
  .service-feature__intro-copy{
    padding:20px!important;
  }
  .service-feature__body{
    padding:5px 15px 20px!important;
  }
  .service-feature--traffic .vehicle-service-card,
  .service-feature--rural .rural-cards article{
    padding:22px!important;
  }
}

/* VMP image inset: visible rounded corners on all four sides */
.service-feature--traffic .vmp-feature__media{
  padding:16px!important;
  min-height:0!important;
  max-height:none!important;
}
.service-feature--traffic .vmp-feature__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:220px!important;
  max-height:240px!important;
  object-fit:cover!important;
  border-radius:14px!important;
}
@media(max-width:720px){
  .service-feature--traffic .vmp-feature__media{
    padding:12px!important;
  }
  .service-feature--traffic .vmp-feature__media img{
    max-height:none!important;
  }
}

/* Responsive image wrappers */
.service-feature__intro-media picture,
.vmp-feature__media picture{
  display:block;
  width:100%;
  height:100%;
}

/* Mobile readability pass */
@media(max-width:720px){
  .service-feature__intro-copy>p:not(.service-feature__saving){
    font-size:17px!important;
    line-height:1.58!important;
  }
  .service-feature__saving{
    margin-top:24px!important;
    font-size:14.5px!important;
    line-height:1.52!important;
  }

  .service-feature--traffic .vehicle-service-card h3,
  .service-feature--rural .rural-cards h3{
    font-size:23px!important;
    line-height:1.15!important;
    min-height:0!important;
  }
  .service-feature--traffic .vehicle-service-card p,
  .service-feature--rural .rural-cards p{
    font-size:16.5px!important;
    line-height:1.58!important;
  }

  .registration-flow__head h3{
    font-size:22px!important;
    line-height:1.2!important;
  }
  .registration-steps strong{
    min-height:0!important;
    font-size:16px!important;
    line-height:1.3!important;
  }
  .registration-steps p{
    font-size:15.5px!important;
    line-height:1.55!important;
  }

  .vmp-feature h3{
    font-size:28px!important;
    line-height:1.08!important;
  }
  .vmp-feature p{
    font-size:16.5px!important;
    line-height:1.58!important;
  }
}
