/* Isimiri mobile + creative polish
   Adapted from the v2 direction while keeping the working WordPress/static structure. */

html,
body{
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body{
  background:
    linear-gradient(180deg, #f3f7ff 0, #fff 540px),
    radial-gradient(80% 40% at 100% 12%, rgba(35,196,122,.08), transparent 70%);
}

body::before{
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(10,35,71,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10,35,71,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, #000 0, transparent 68%);
  -webkit-mask-image: linear-gradient(180deg, #000 0, transparent 68%);
}

.site-header,
.hero,
.section,
.page-banner,
.site-footer{
  position: relative;
  z-index: 1;
}

*,
*::before,
*::after{
  min-width: 0;
}

img,
svg,
video{
  max-width: 100%;
}

.container,
.header-inner,
.page-banner-inner{
  width: min(var(--container), calc(100% - (var(--pad-x) * 2)));
}

.page-scenery{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.page-scenery .line-field{
  position: absolute;
  inset: -10%;
  opacity: .34;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 120'%3E%3Cg fill='none' stroke='%231f54d6' stroke-width='.65' stroke-opacity='.22'%3E%3Cpath d='M-20 28 Q 40 0 100 28 T 220 28 T 340 28'/%3E%3Cpath d='M-20 68 Q 40 40 100 68 T 220 68 T 340 68'/%3E%3Cpath d='M-20 108 Q 40 80 100 108 T 220 108 T 340 108'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 480px 240px;
}

.float-deco{
  position: absolute;
  width: var(--s, 90px);
  height: var(--s, 90px);
  color: var(--c, #1aa466);
  opacity: var(--o, .24);
  filter: drop-shadow(0 12px 24px rgba(10,35,71,.12));
  animation: deco-drift var(--dur, 9s) ease-in-out infinite;
}

.float-deco svg{
  width: 100%;
  height: 100%;
  display: block;
}

.float-deco.leaf-a{ top: 18%; right: -18px; --s: 128px; --c: #1aa466; --dur: 8s; }
.float-deco.leaf-b{ top: 58%; left: -24px; --s: 102px; --c: #23c47a; --o: .18; --dur: 11s; animation-delay: -2s; }
.float-deco.fish-a{ top: 36%; right: 8%; --s: 82px; --c: #0e87b8; --o: .18; --dur: 10s; animation-delay: -4s; }
.float-deco.drop-a{ top: 74%; right: 16%; --s: 74px; --c: #4a7af0; --o: .18; --dur: 7s; animation-delay: -1s; }

@keyframes deco-drift{
  0%, 100%{ transform: translate3d(0,0,0) rotate(-4deg); }
  50%{ transform: translate3d(10px,-18px,0) rotate(7deg); }
}

@keyframes marquee-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

.creative-marquee{
  overflow: hidden;
  background: var(--navy);
  color: #fff;
  padding: 18px 0;
}

.creative-marquee .track{
  display: flex;
  gap: 42px;
  width: max-content;
  animation: marquee-scroll 38s linear infinite;
}

.creative-marquee span{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
  font-family: var(--serif);
  font-size: clamp(20px, 3vw, 36px);
  font-style: italic;
}

.creative-marquee i{
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--green-bright);
}

.section[data-theme="farm"],
.page-farms .page-banner{
  background:
    linear-gradient(180deg, rgba(228,248,238,.72), rgba(255,255,255,0) 82%),
    #fff;
}

.section[data-theme="water"],
.page-fountain .page-banner{
  background:
    linear-gradient(180deg, rgba(217,238,248,.78), rgba(255,255,255,0) 82%),
    #fff;
}

.section[data-theme="tech"],
.page-technologies .page-banner{
  background:
    linear-gradient(180deg, rgba(234,241,255,.82), rgba(255,255,255,0) 82%),
    #fff;
}

.section[data-theme]::before,
.page-banner::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .52;
  background-image: radial-gradient(rgba(31,84,214,.11) 1px, transparent 1px);
  background-size: 30px 30px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 20%, #000 35%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 20%, #000 35%, transparent 78%);
}

.page-banner{
  overflow: hidden;
}

.page-banner .banner-art{
  position: absolute;
  right: clamp(16px, 6vw, 88px);
  top: 20%;
  width: clamp(92px, 18vw, 180px);
  height: clamp(92px, 18vw, 180px);
  color: rgba(26,164,102,.25);
  animation: deco-drift 9s ease-in-out infinite;
}

.page-fountain .page-banner .banner-art{ color: rgba(14,135,184,.28); }
.page-technologies .page-banner .banner-art{ color: rgba(31,84,214,.25); }

.page-banner .banner-art svg{
  width: 100%;
  height: 100%;
}

.brand-mark{
  filter: drop-shadow(0 8px 18px rgba(31,84,214,.16));
}

.site-header{
  backdrop-filter: blur(16px);
}

.mobile-menu{
  position: fixed;
  inset: 72px 0 0 0;
  z-index: 55;
  border: 1px solid rgba(227,233,242,.9);
  border-radius: 0 0 28px 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,253,.98)),
    radial-gradient(70% 70% at 100% 0, rgba(35,196,122,.14), transparent 70%);
  box-shadow: 0 24px 70px -30px rgba(10,35,71,.42);
  padding-top: 92px;
}

.mobile-menu::before{
  content: "Explore Isimiri";
  display: block;
  margin: 0 24px 16px;
  font-family: var(--serif);
  font-size: 30px;
  font-style: italic;
  color: var(--navy);
}

.mobile-menu nav a{
  border-radius: 16px;
  padding: 15px 18px;
  margin-inline: 14px;
  background: rgba(255,255,255,.72);
}

.mobile-menu nav a.active{
  background: var(--royal-tint);
}

.mobile-menu .mm-cta{
  padding: 18px 18px 10px;
}

.mobile-menu .mm-cta .btn{
  flex: 1 1 140px;
  justify-content: center;
}

.mobile-menu .mm-contact{
  margin: 8px 22px 24px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(10,35,71,.04);
}

.hero{
  overflow: hidden;
}

.hero-slide{
  width: 100%;
}

.hero-grid,
.split-band,
.biz-row,
.section-head,
.people-grid,
.contact-grid,
.cta-band-inner,
.footer-grid{
  min-width: 0;
}

.hero-controls{
  pointer-events: none;
}

.hero-dots,
.hero-nav{
  pointer-events: auto;
}

.collage .stat{
  z-index: 4;
}

.stats-strip{
  max-width: 100%;
}

.partners-network,
.clients-grid,
.icon-grid,
.roadmap,
.svc-list{
  max-width: 100%;
}

.biz-row .biz-num,
.svc-num,
.rm-node .ph{
  pointer-events: none;
}

.biz-row .biz-visual,
.impact-visual,
.people-visual,
.collage{
  isolation: isolate;
}

.contact-info,
.cta-band{
  max-width: 100%;
}

body.enhanced-images img{
  filter: saturate(1.03) contrast(1.02);
}

@media (prefers-reduced-motion: reduce){
  .float-deco,
  .creative-marquee .track,
  .page-banner .banner-art{
    animation: none !important;
  }
}

@media (max-width: 980px){
  body{
    background: linear-gradient(180deg, #f3f7ff 0, #fff 420px);
  }

  .section{
    padding: clamp(54px, 14vw, 84px) 0;
    overflow: hidden;
  }

  .page-banner{
    padding: 78px 0 44px;
  }

  .page-banner h1{
    max-width: 12ch;
  }

  .page-banner p{
    max-width: 34ch;
  }

  .page-banner .banner-art{
    right: -24px;
    top: 18px;
    width: 124px;
    height: 124px;
    opacity: .7;
  }

  .section-head{
    gap: 14px;
    margin-bottom: 34px;
  }

  .hero-grid{
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 22px;
    padding: 26px 0 96px;
  }

  .hero-text{
    width: 100%;
    max-width: 36rem;
  }

  .hero-text .eyebrow{
    margin-bottom: 12px;
    max-width: 100%;
  }

  .hero-text h1{
    font-size: clamp(30px, 8.4vw, 42px);
    line-height: .98;
    letter-spacing: -.045em;
    max-width: 11ch;
  }

  .hero-text p{
    font-size: 14.5px;
    line-height: 1.62;
    max-width: 34ch;
  }

  .hero-cta{
    gap: 10px;
  }

  .hero-cta .btn{
    min-height: 46px;
    padding-inline: 18px;
  }

  .hero-meta{
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
    margin-top: 22px;
  }

  .hero-meta .m{
    padding: 12px 10px;
    border: 1px solid var(--line-2);
    border-radius: 16px;
    background: rgba(255,255,255,.78);
  }

  .hero-meta .num{
    font-size: 25px;
  }

  .hero-meta .lbl{
    font-size: 9px;
    letter-spacing: .08em;
  }

  .hero-visual{
    order: initial;
    height: clamp(300px, 78vw, 410px);
    margin-inline: auto;
    width: min(100%, 430px);
  }

  .hv-img{
    box-shadow: 0 18px 42px -22px rgba(10,35,71,.36);
  }

  .hv-1 .a{ width: 56%; height: 55%; top: 6%; left: 2%; }
  .hv-1 .b{ width: 45%; height: 35%; bottom: 8%; right: 0; }
  .hv-1 .c{ width: 35%; height: 32%; bottom: 10%; left: 3%; }
  .hv-1 .d{ width: 36%; height: 28%; top: 4%; right: 2%; }
  .hv-2 .a{ width: 86%; height: 58%; top: 4%; left: 7%; }
  .hv-2 .b{ width: 46%; height: 30%; bottom: 8%; left: 4%; }
  .hv-2 .c{ width: 46%; height: 30%; bottom: 8%; right: 4%; }
  .hv-3 .a{ width: 64%; height: 72%; top: 2%; right: 2%; }
  .hv-3 .b{ width: 42%; height: 36%; top: 10%; left: 2%; }
  .hv-3 .c{ width: 42%; height: 30%; bottom: 10%; left: 4%; }

  .hv-tag{
    max-width: 168px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 7px 11px;
    font-size: 10.5px;
  }

  .hv-tag.t1{ top: 8%; right: 18%; }
  .hv-tag.t2{ bottom: 20%; right: 0; }

  .hero-controls{
    bottom: 28px;
    align-items: center;
    padding-inline: var(--pad-x);
  }

  .hero-dots button{
    width: 20px;
  }

  .hero-dots button.active{
    width: 38px;
  }

  .hero-nav button{
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,.92);
  }

  .split-band{
    gap: 30px;
  }

  .split-band .collage{
    order: initial;
  }

  .collage{
    width: min(100%, 380px);
    aspect-ratio: 1 / .86;
  }

  .collage .stat{
    top: auto;
    right: 10px;
    bottom: 10px;
    padding: 14px 16px;
    transform: none;
  }

  .collage .stat .n{
    font-size: 26px;
  }

  .biz-row,
  .biz-row.reverse{
    grid-template-columns: minmax(0,1fr);
    gap: 22px;
    padding-block: 22px;
  }

  .biz-row .biz-visual{
    order: initial;
    max-width: min(100%, 390px);
    margin-inline: auto;
  }

  .biz-row .biz-copy{
    padding-inline: 0;
  }

  .biz-row .biz-copy h3{
    font-size: clamp(26px, 8vw, 34px);
    line-height: 1.04;
    max-width: 13ch;
  }

  .biz-row .biz-copy p,
  .biz-row .biz-copy .biz-pts{
    max-width: 34ch;
  }

  .biz-row .biz-num{
    font-size: 82px;
    top: 6px;
    left: 4px;
    opacity: .42;
  }

  .biz-row .biz-copy .tag{
    position: relative;
    z-index: 3;
    max-width: 100%;
    white-space: normal;
  }

  .stats-strip{
    border-radius: 24px;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
  }

  .stats-strip .stat-cell{
    min-height: 122px;
    padding: 22px 18px;
  }

  .stats-strip .stat-cell .n{
    font-size: 38px;
  }

  .people-grid,
  .impact-grid,
  .contact-grid,
  .cta-band-inner{
    gap: 28px;
  }

  .partners-network{
    grid-template-columns: 1fr;
  }

  .partner-node,
  .client-card,
  .commitment-card,
  .il,
  .rm-node{
    width: 100%;
  }

  .cta-band{
    width: 100%;
    border-radius: 28px;
    padding: 34px 22px;
  }

  .cta-band h2{
    font-size: clamp(30px, 9vw, 42px);
  }

  .cta-band .side{
    grid-template-columns: 1fr;
  }

  .contact-info .ci-row,
  .cta-band .side .row{
    word-break: normal;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 640px){
  :root{
    --pad-x: 16px;
  }

  body::before,
  .page-scenery .line-field{
    opacity: .22;
  }

  .float-deco{
    opacity: .14;
  }

  .site-header{
    top: 0;
  }

  .brand-text .name{
    font-size: 13px;
  }

  .brand-text .sub{
    font-size: 8px;
  }

  .header-inner{
    min-height: 66px;
  }

  .wa-btn,
  .hamburger{
    width: 42px;
    height: 42px;
  }

  .section{
    padding: 52px 0;
  }

  .hero{
    min-height: auto;
  }

  .hero-grid{
    padding-top: 22px;
    padding-bottom: 86px;
  }

  .hero-text h1{
    font-size: clamp(31px, 10vw, 38px);
  }

  .hero-text p{
    max-width: 31ch;
  }

  .hero-cta{
    display: grid;
    grid-template-columns: 1fr;
    max-width: 245px;
  }

  .hero-cta .btn{
    justify-content: center;
  }

  .hero-meta{
    grid-template-columns: 1fr;
    max-width: 245px;
  }

  .hero-meta .m{
    display: grid;
    grid-template-columns: 64px 1fr;
    align-items: center;
    text-align: left;
  }

  .hero-visual{
    height: 300px;
  }

  .hero-controls{
    bottom: 22px;
  }

  .hero-nav{
    gap: 6px;
  }

  .split-band .copy h2,
  .section-head h2,
  .h-1{
    font-size: clamp(30px, 9vw, 42px);
    line-height: 1.03;
  }

  .split-band .copy p,
  .lead,
  .page-banner p{
    font-size: 14.5px;
    line-height: 1.68;
  }

  .collage{
    width: 100%;
    max-width: 340px;
  }

  .collage .stat{
    position: relative;
    right: auto;
    bottom: auto;
    display: inline-flex;
    margin-top: 12px;
    width: auto;
  }

  .collage .ring{
    display: none;
  }

  .biz-row .biz-copy h3{
    max-width: 12ch;
  }

  .biz-row .biz-num{
    font-size: 68px;
  }

  .stats-strip{
    grid-template-columns: 1fr;
  }

  .stats-strip .stat-cell{
    min-height: 102px;
    border-right: 0;
  }

  .clients-grid{
    grid-template-columns: 1fr;
  }

  .roadmap{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .page-banner h1{
    font-size: clamp(34px, 11vw, 46px);
    max-width: 11ch;
  }

  .page-banner .banner-art{
    opacity: .45;
    right: -42px;
  }

  .creative-marquee{
    padding: 14px 0;
  }

  .creative-marquee .track{
    gap: 28px;
  }

  .creative-marquee span{
    font-size: 20px;
  }

  [data-reveal]{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .svc-band,
  .svc-band.flip{
    overflow: hidden;
  }

  .svc-band .svc-img,
  .impact-visual{
    min-height: 0;
  }

  .contact-info{
    gap: 12px;
  }

  .footer-grid{
    gap: 28px;
  }
}

/* Explicit correction pass */
.brand-mark-img{
  width: clamp(148px, 18vw, 210px);
  height: 54px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  flex: 0 0 auto;
}

.brand-mark-img img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  display: block;
  mix-blend-mode: multiply;
}

.brand .brand-text,
.f-brand .brand-text{
  display: none;
}

.header-contact-btn{
  min-height: 44px;
  padding: 0 20px;
}

.hero{
  min-height: clamp(520px, 72vh, 680px);
  background: #eef5ff;
}

.hero-slide{
  position: relative;
  min-height: clamp(520px, 72vh, 680px);
  overflow: hidden;
  border-bottom: 1px solid var(--line-2);
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(243,247,255,.97) 0%, rgba(243,247,255,.86) 45%, rgba(243,247,255,.42) 100%),
    var(--hero-bg, url("https://images.unsplash.com/photo-1500595046743-cd271d694d30?w=1600&auto=format&fit=crop&q=80")) center / cover no-repeat;
}

.hero-slide::before{
  content: none !important;
}

.hero-slide::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 82% 28%, rgba(35,196,122,.28), transparent 25%),
    radial-gradient(circle at 74% 70%, rgba(31,84,214,.20), transparent 22%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 220'%3E%3Cg fill='none' stroke='%231f54d6' stroke-width='1' stroke-opacity='.22'%3E%3Cpath d='M-20 58 Q 80 5 180 58 T 420 58'/%3E%3Cpath d='M-20 130 Q 80 76 180 130 T 420 130'/%3E%3C/g%3E%3Cg fill='none' stroke='%231aa466' stroke-width='5' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='.23'%3E%3Cpath d='M330 56c12-45 45-57 72-55 0 29-16 62-62 75'/%3E%3Cpath d='M338 69c17-21 33-37 57-58'/%3E%3C/g%3E%3C/svg%3E") right center / 48% auto no-repeat;
}

.hero-slide[data-slide="0"]{ --hero-bg: url("https://images.unsplash.com/photo-1568602471122-7832951cc4c5?w=1600&auto=format&fit=crop&q=80"); }
.hero-slide[data-slide="0"]{ --hero-bg: url("https://images.unsplash.com/photo-1500595046743-cd271d694d30?w=1600&auto=format&fit=crop&q=80"); }
.hero-slide[data-slide="1"]{ --hero-bg: url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?w=1600&auto=format&fit=crop&q=80"); }
.hero-slide[data-slide="2"]{ --hero-bg: url("https://images.unsplash.com/photo-1548839140-29a749e1cf4d?w=1600&auto=format&fit=crop&q=80"); }

.hero-slide .hero-grid{
  grid-template-columns: minmax(0, .68fr) minmax(0, .32fr);
  min-height: inherit;
  padding: clamp(48px, 6vw, 72px) 0 clamp(80px, 8vw, 112px);
}

.hero-text{
  max-width: 680px;
  position: relative;
  z-index: 2;
  padding: clamp(28px, 4vw, 54px) 0;
}

.hero-visual,
.hero-meta{
  display: none !important;
}

.hero-controls{
  bottom: 28px;
  align-items: center;
}

.hero-nav{
  display: contents;
}

.hero-nav button{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(31,84,214,.16);
}

#hero-prev{ left: max(16px, calc((100vw - var(--container)) / 2 + 16px)); }
#hero-next{ right: max(16px, calc((100vw - var(--container)) / 2 + 16px)); }

.hero-dots{
  margin-inline: auto;
}

.cta-band .side{
  display: none !important;
}

.cta-band-inner{
  grid-template-columns: 1fr;
}

.cta-band .actions{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  justify-content: start;
  align-items: center;
}

.stats-strip{
  grid-template-columns: repeat(2, minmax(0,1fr));
}

.stats-strip .stat-cell:nth-child(2){
  border-right: none;
}

.clients-grid{
  grid-template-columns: repeat(2, minmax(0,1fr));
}

.client-cell{
  border-radius: 28px;
  text-align: center;
  align-items: center;
}

.client-cell .img{
  width: min(100%, 136px);
  aspect-ratio: 1;
  border-radius: 50%;
}

@media (max-width: 980px){
  .header-cta .header-contact-btn{
    display: inline-flex;
  }

  .header-contact-btn{
    min-height: 38px;
    padding: 0 13px;
    font-size: 12px;
    box-shadow: 0 10px 22px -14px rgba(31,84,214,.55);
  }

  .header-contact-btn .btn-icon{
    display: none;
  }

  .brand-mark-img{
    width: 138px;
    height: 44px;
  }

  .hero,
  .hero-slide{
    min-height: 560px;
  }

  .hero-slide::before{
    content: none !important;
  }

  .hero-slide{
    background:
      linear-gradient(180deg, rgba(243,247,255,.98) 0%, rgba(243,247,255,.92) 47%, rgba(243,247,255,.58) 100%),
      var(--hero-bg) center bottom / cover no-repeat;
  }

  .hero-slide::after{
    background:
      radial-gradient(circle at 90% 18%, rgba(35,196,122,.26), transparent 24%),
      radial-gradient(circle at 20% 86%, rgba(31,84,214,.18), transparent 22%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 220'%3E%3Cg fill='none' stroke='%231f54d6' stroke-width='1' stroke-opacity='.20'%3E%3Cpath d='M-20 58 Q 55 10 130 58 T 280 58'/%3E%3Cpath d='M-20 130 Q 55 82 130 130 T 280 130'/%3E%3C/g%3E%3Cg fill='none' stroke='%231aa466' stroke-width='5' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='.20'%3E%3Cpath d='M190 56c10-34 37-46 58-44 0 24-14 50-50 60'/%3E%3Cpath d='M198 66c13-16 26-30 45-47'/%3E%3C/g%3E%3C/svg%3E") right top / 70% auto no-repeat;
  }

  .hero-slide .hero-grid{
    grid-template-columns: 1fr;
    min-height: inherit;
    padding: 34px 0 74px;
    align-content: center;
  }

  .hero-text{
    max-width: 100%;
    padding: 28px 0 16px;
  }

  .hero-text h1{
    max-width: 14ch;
    font-size: clamp(32px, 9.4vw, 42px);
    line-height: 1;
  }

  .hero-text p{
    max-width: 35ch;
  }

  .hero-cta{
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
    max-width: 100%;
  }

  .hero-cta .btn{
    min-height: 40px;
    padding: 0 11px;
    font-size: 12px;
    line-height: 1.15;
    justify-content: center;
    white-space: normal;
  }

  .hero-cta .btn-icon{
    width: 13px;
    height: 13px;
  }

  .hero-nav button{
    top: auto;
    bottom: -8px;
    width: 38px;
    height: 38px;
    transform: none;
  }

  #hero-prev{ left: 16px; }
  #hero-next{ right: 16px; }

  .hero-dots{
    margin: 0 auto;
  }

  .section-head h2,
  .split-band .copy h2,
  .h-1,
  .page-banner h1{
    max-width: 15ch;
  }

  .section-head .lead,
  .page-banner p,
  .split-band .copy p{
    max-width: 39ch;
  }

  .stats-strip{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    border-radius: 24px;
  }

  .stats-strip .stat-cell{
    min-height: 112px;
    padding: 18px 14px;
  }

  .stats-strip .stat-cell .n{
    font-size: 31px;
  }

  .stats-strip .stat-cell .l{
    font-size: 10px;
    letter-spacing: .08em;
  }

  .clients-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px;
  }

  .client-cell{
    padding: 15px 10px;
  }

  .client-cell .img{
    width: 104px;
  }

  .client-cell h4{
    font-size: 13.5px;
  }

  .client-cell p{
    font-size: 11.5px;
  }

  .cta-band{
    padding: 30px 20px;
  }

  .cta-band .actions{
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
  }

  .cta-band .actions .btn,
  .btn{
    min-height: 40px;
    padding: 0 13px;
    font-size: 12px;
    justify-content: center;
  }

  .mobile-menu{
    inset: 66px 8px auto 8px;
    max-height: min(76vh, 610px);
    border-radius: 0 0 22px 22px;
    padding: 20px 14px 24px;
  }

  .mobile-menu::before{
    margin: 0 14px 12px;
    font-size: 24px;
  }

  .mobile-menu nav a{
    margin-inline: 0;
    padding: 11px 14px;
    font-size: 17px;
    border-radius: 13px;
  }

  .mobile-menu .mm-cta{
    padding: 14px 0 4px;
  }

  .mobile-menu .mm-contact{
    margin: 8px 0 0;
    padding: 12px;
    font-size: 12px;
  }

  .split-band.text-left{
    grid-template-columns: 1fr;
  }

  .split-band.text-left .copy{
    order: 2;
  }

  .split-band.text-left .collage{
    order: 1;
  }

  .impact-list[style*="repeat(3"]{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .impact-list[style*="repeat(3"] .il{
    padding: 15px 12px;
    gap: 10px;
  }

  .impact-list[style*="repeat(3"] .il:nth-child(3){
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px){
  .brand-mark-img{
    width: 126px;
    height: 40px;
  }

  .header-contact-btn{
    min-width: 82px;
    padding-inline: 10px;
  }

  .hero,
  .hero-slide{
    min-height: 510px;
  }

  .hero-slide .hero-grid{
    padding: 28px 0 68px;
  }

  .hero-text h1{
    max-width: 13ch;
  }

  .hero-text p{
    font-size: 13.5px;
    max-width: 34ch;
  }

  .hero-cta{
    max-width: none;
  }

  .hero-cta .btn{
    min-height: 38px;
    padding: 0 8px;
    font-size: 11.5px;
  }

  .stats-strip{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .clients-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .client-cell .img{
    width: 88px;
  }

  .client-cell h4{
    font-size: 12px;
  }

  .client-cell p{
    display: none;
  }

  .impact-list[style*="repeat(3"]{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .impact-list[style*="repeat(3"] .il{
    align-items: flex-start;
  }

  .impact-list[style*="repeat(3"] .il .ic{
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .impact-list[style*="repeat(3"] .il .t{
    font-size: 13px;
  }

  .impact-list[style*="repeat(3"] .il .d{
    font-size: 11.5px;
  }
}
