:root{
  --navy:    #07283A;
  --navy-2:  #0D3A52;
  --navy-3:  #134A66;
  --cyan:    #00A3C7;
  --cyan-2:  #0089A8;
  --sky:     #7ED1E6;
  --coral:   #D65D57;
  --coral-2: #EE8B86;
  --mist:    #EAF4F8;
  --line:    #D9E6EC;
  --ink:     #0B1B24;
  --ink-2:   #4C5D68;
  --white:   #FFFFFF;

  --ff-head: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  --ff-body: "Outfit", ui-sans-serif, system-ui, sans-serif;

  --wrap: 1260px;
  --gut: 24px;
  --ease: cubic-bezier(.2,.8,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--ff-body); font-size:16px; line-height:1.65;
  color:var(--ink-2); background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; padding:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,p,blockquote,figure{ margin:0; }
h1,h2,h3{ font-family:var(--ff-head); color:var(--ink); letter-spacing:-.02em; }
:focus-visible{ outline:2px solid var(--cyan); outline-offset:3px; }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.skip{ position:absolute; left:-9999px; top:0; z-index:300; padding:10px 16px; background:var(--coral); color:#fff; }
.skip:focus{ left:0; }

.wrap{ width:100%; max-width:calc(var(--wrap) + var(--gut) * 2); margin-inline:auto; padding-inline:var(--gut); }
.sec{ padding:120px 0; }

.eyebrow{
  display:inline-block;
  font-family:var(--ff-body); font-size:.82rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--navy);
}
.eyebrow--light{ color:var(--sky); }
.title{
  margin-top:10px;
  font-size:clamp(1.9rem, 3.3vw, 2.9rem); font-weight:600; line-height:1.2;
}
.title--light{ color:#fff; }
.lead{ margin-top:18px; font-size:1rem; }
.center-head{ text-align:center; max-width:720px; margin:0 auto 64px; }
.split-head{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:24px; margin-bottom:56px;
}
.note{ margin-top:22px; font-size:.82rem; color:var(--ink-2); }

.btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:0 30px;
  border-radius:6px; border:1px solid transparent;
  font-family:var(--ff-body); font-size:.95rem; font-weight:500; line-height:18px;
  white-space:nowrap;
  transition:background-color .3s, color .3s, border-color .3s;
}
.btn.is-split::before{
  content:attr(data-text);
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  transition:transform .3s cubic-bezier(.75,0,.125,1), opacity .3s;
}
.btn__l{
  display:inline-block; white-space:pre;
  opacity:0; transform:translate3d(0,-10px,0);
  transition:transform .3s cubic-bezier(.75,0,.125,1), opacity .3s;
  transition-delay:calc(var(--i) * .03s);
}
.btn.is-split:hover::before, .btn.is-split:focus-visible::before{ opacity:0; transform:translate3d(0,100%,0); }
.btn.is-split:hover .btn__l, .btn.is-split:focus-visible .btn__l{ opacity:1; transform:none; }
.btn.is-leaving::before{ animation:btnLabelIn .4s cubic-bezier(.75,0,.125,1) .2s both; }
.btn.is-leaving .btn__l{ animation:btnLetterOut .28s cubic-bezier(.75,0,.125,1) both; animation-delay:calc(var(--i) * var(--step, .015s)); }
@keyframes btnLabelIn{
  from{ opacity:0; transform:translate3d(0,-100%,0); }
  to{ opacity:1; transform:none; }
}
@keyframes btnLetterOut{
  from{ opacity:1; transform:none; }
  to{ opacity:0; transform:translate3d(0,10px,0); }
}

.btn--white{ background:#fff; color:var(--navy); }
.btn--dark{ background:var(--navy); color:#fff; }
.btn--coral{ background:var(--coral); color:#fff; }
.btn--line{ border-color:rgba(255,255,255,.7); color:#fff; }
.btn--outline{ border-color:var(--navy); color:var(--navy); }
.btn--block{ display:flex; width:100%; }

.topbar{ background:var(--navy); color:rgba(255,255,255,.88); font-size:.88rem; }
.topbar__in{ display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; }
.topbar__info, .topbar__end{ display:flex; align-items:center; gap:18px; }
.topbar__info li{ display:flex; align-items:center; gap:8px; }
.topbar__info svg{ width:15px; height:15px; color:#fff; }
.topbar__dot{ width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.3); }
.topbar__links{ display:flex; gap:24px; font-weight:500; color:#fff; }
.topbar__links a:hover, .topbar__info a:hover{ color:var(--sky); }
.topbar__follow{ color:#fff; font-weight:500; }
.topbar__rule{ width:34px; height:1px; background:rgba(255,255,255,.3); }
.social{ display:flex; gap:14px; }
.social a{ width:18px; height:18px; color:#fff; transition:color .2s; }
.social a:hover{ color:var(--coral-2); }
.social svg{ width:100%; height:100%; }

.head{
  position:sticky; top:0; z-index:100;
  background:var(--navy-2);
  border-top:1px solid rgba(255,255,255,.06);
  transition:box-shadow .3s;
}
.head.is-stuck{ box-shadow:0 10px 30px -12px rgba(0,0,0,.45); }
.head__in{ display:flex; align-items:center; gap:40px; min-height:74px; }
.head__logo{ flex:none; }
.head__logo img{ width:270px; height:auto; }
.menu{ flex:1 1 auto; }
.menu > ul{ display:flex; gap:30px; }
.menu > ul > li{ position:relative; }
.menu > ul > li > a{
  display:flex; align-items:center; gap:5px;
  padding:25px 0;
  font-size:1rem; font-weight:500; color:rgba(255,255,255,.9);
  transition:color .2s;
}
.menu > ul > li > a svg{ width:12px; height:12px; }
.menu > ul > li > a:hover, .menu a.is-current{ color:#fff; }
.menu > ul > li > a::after{
  content:""; position:absolute; left:0; right:0; bottom:19px;
  height:2px; border-radius:2px; background:var(--coral);
  transform:scaleX(0); transform-origin:center;
  transition:transform .4s cubic-bezier(.65,0,.35,1);
}
.menu > ul > li > a:hover::after, .menu > ul > li > a:focus-visible::after,
.menu > ul > li:hover > a::after, .menu a.is-current::after{ transform:scaleX(1); }

.sub{
  position:absolute; top:100%; left:-18px; min-width:240px;
  padding:10px 0;
  background:#fff; border-radius:6px;
  box-shadow:0 20px 40px -18px rgba(7,40,58,.45);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .25s, transform .25s, visibility .25s;
}
.has-sub:hover .sub, .has-sub:focus-within .sub{ opacity:1; visibility:visible; transform:none; }
.sub a{ display:block; padding:9px 20px; font-size:.94rem; color:var(--ink); }
.sub a:hover{ color:var(--cyan-2); background:var(--mist); }
/* Current page inside a dropdown. Must come after `.menu a.is-current`, which
   would otherwise make it white on the white panel. */
.sub a.is-current{ color:var(--cyan-2); background:var(--mist); box-shadow:inset 3px 0 0 var(--coral); font-weight:600; }

.head__end{ display:flex; align-items:center; gap:30px; }
.head__call{ display:flex; align-items:center; gap:14px; color:#fff; font-weight:500; white-space:nowrap; }
.head__call-ico{
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:50%; background:rgba(255,255,255,.1);
}
.head__call-ico svg{ width:16px; height:16px; }
.head__cta{ min-width:148px; }

.burger{ display:none; width:44px; height:44px; flex-direction:column; justify-content:center; align-items:center; gap:5px; }
.burger span{ width:24px; height:2px; background:#fff; border-radius:2px; }

.drawer{
  position:fixed; inset:0; z-index:200; overflow:hidden;
  visibility:hidden;
  transition:visibility 0s linear .6s;}
.drawer.is-open{ visibility:visible; transition-delay:0s; }
.drawer::before{
  content:""; position:absolute; inset:0;
  background:rgba(4,20,30,.62);
  opacity:0; transition:opacity .5s cubic-bezier(.65,0,.35,1);
}
.drawer.is-open::before{ opacity:1; }
.drawer__panel{
  position:absolute; top:0; right:0; bottom:0; width:min(360px, 88vw);
  padding:24px; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  background:var(--navy); color:#fff;
  transform:translate3d(100%,0,0);
  transition:transform .6s cubic-bezier(.77,0,.175,1);
  display:flex; flex-direction:column; gap:26px;
}
.drawer.is-open .drawer__panel{ transform:none; }
.drawer__menu > li, .drawer__panel > .btn, .drawer__meta{
  opacity:0; transform:translate3d(24px,0,0);
  transition:opacity .3s ease, transform .3s ease;
}
.drawer.is-open .drawer__menu > li, .drawer.is-open .drawer__panel > .btn, .drawer.is-open .drawer__meta{
  opacity:1; transform:none;
  transition:opacity .5s ease, transform .6s cubic-bezier(.22,1,.36,1);
  transition-delay:calc(.2s + var(--d, 0) * .05s);
}
.drawer__top{ display:flex; align-items:center; justify-content:space-between; }
.drawer__close{ width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); }
.drawer__close svg{ width:18px; height:18px; }
.drawer__menu a{ display:block; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.1); font-family:var(--ff-head); font-size:1.15rem; }
.drawer__menu a.is-current{ color:var(--sky); }
/* Items with a submenu: link + chevron toggle, nested list opens below. */
.drawer__row{ display:flex; align-items:center; gap:10px; border-bottom:1px solid rgba(255,255,255,.1); }
.drawer__row > a{ flex:1 1 auto; border-bottom:0; }
.drawer__toggle{
  flex:none; width:40px; height:40px; display:grid; place-items:center; border-radius:50%;
  background:rgba(255,255,255,.06); transition:background .25s;
}
.drawer__toggle:hover{ background:rgba(255,255,255,.14); }
.drawer__toggle::before{
  content:""; width:8px; height:8px; margin-top:-4px;
  border-right:2px solid #fff; border-bottom:2px solid #fff;
  transform:rotate(45deg); transition:transform .35s var(--ease), margin .35s var(--ease);
}
.drawer__group.is-open .drawer__toggle{ background:var(--coral); }
.drawer__group.is-open .drawer__toggle::before{ transform:rotate(225deg); margin-top:4px; }
.drawer__sub{ display:grid; grid-template-rows:0fr; visibility:hidden; transition:grid-template-rows .4s var(--ease), visibility 0s .4s; }
.drawer__group.is-open .drawer__sub{ grid-template-rows:1fr; visibility:visible; transition:grid-template-rows .4s var(--ease), visibility 0s; }
.drawer__sub > ul{ min-height:0; overflow:hidden; }
.drawer__sub > ul > li:first-child{ padding-top:8px; }
.drawer__sub > ul > li:last-child{ padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.1); }
.drawer__sub a{
  position:relative; padding:9px 0 9px 22px; border-bottom:0;
  font-family:var(--ff-body); font-size:1rem; color:rgba(255,255,255,.8);
}
.drawer__sub a::before{ content:""; position:absolute; left:4px; top:50%; width:8px; height:1.5px; background:rgba(126,209,230,.6); }
.drawer__sub a:hover{ color:#fff; }
.drawer__sub a.is-current{ color:var(--sky); font-weight:600; }
.drawer__sub a.is-current::before{ background:var(--coral); width:10px; }
.drawer__meta{ font-size:.9rem; color:rgba(255,255,255,.7); }
.drawer__meta a{ color:#fff; }

.hero{
  display:grid; grid-template-columns:44.2% 55.8%;
  min-height:640px;
  background:var(--navy);
}
.hero__copy{ display:flex; align-items:center; justify-content:flex-end; }
.hero__copy-in{
  width:100%; max-width:calc(var(--wrap) * .442 + var(--gut));
  padding:90px 48px 90px var(--gut);
  margin-left:auto;
}
.hero__title{
  font-size:clamp(2.6rem, 4.6vw, 4.6rem); font-weight:600; line-height:1.1; letter-spacing:-.02em;
  color:#fff;
}
.hero__title span{ color:var(--sky); }
.hero__rule{ display:block; height:1px; margin:44px 0 48px; background:rgba(255,255,255,.18); }
.hero__sub{ max-width:470px; font-size:1.05rem; line-height:1.75; color:rgba(255,255,255,.92); }
.hero__cta{ margin-top:36px; display:flex; flex-wrap:wrap; align-items:center; gap:14px 56px; }
.hero__link{ font-weight:600; color:#fff; border-bottom:1px solid transparent; transition:border-color .2s, color .2s; }
.hero__link:hover{ color:var(--coral-2); border-color:currentColor; }
.hero__media{ position:relative; overflow:hidden; }
.hero__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__media::after{
  content:""; position:absolute; inset:auto 0 0 0; height:40%;
  background:linear-gradient(180deg, transparent, rgba(7,40,58,.35));
}

.about__head{ max-width:700px; margin:0 0 50px auto; margin-right:calc(var(--wrap) * .1); }
.about__grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)) minmax(0,1.05fr);
  gap:20px; align-items:start;
}
.aud{ position:relative; aspect-ratio:34/38; overflow:hidden; background:var(--navy); }
.aud > img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.aud:hover > img{ transform:scale(1.05); }
.aud__box{
  position:absolute; left:8px; right:8px; bottom:8px;
  padding:30px 22px 26px;
  background:var(--navy); color:#fff; text-align:center;
  display:flex; flex-direction:column; align-items:center;
  transition:background .35s;
}
.aud:hover .aud__box{ background:var(--navy-2); }
.aud__ico{ width:46px; height:46px; color:#fff; }
.aud__ico svg{ width:100%; height:100%; }
.aud__box h3{ margin-top:18px; font-size:1.3rem; font-weight:600; color:#fff; }
.aud__box p, .aud__link{
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .45s var(--ease), opacity .35s, margin .35s;
}
.aud__box p{ font-size:.92rem; line-height:1.6; color:rgba(255,255,255,.85); }
.aud__link{ font-weight:600; color:var(--sky); border-bottom:1px solid currentColor; }
.aud:hover .aud__box p, .aud:focus-within .aud__box p{ max-height:90px; opacity:1; margin-top:10px; }
.aud:hover .aud__link, .aud:focus-within .aud__link{ max-height:30px; opacity:1; margin-top:12px; }
@media (hover:none){
  .aud__box p, .aud__link{ max-height:none; opacity:1; }
  .aud__box p{ margin-top:10px; } .aud__link{ margin-top:12px; }
}

.about__side{ padding-left:10px; }
.years{
  position:relative; flex:none;
  width:200px; height:200px; border-radius:50%;
  border:1px solid var(--line);
}
.years strong{
  position:absolute; left:0; right:0; top:50%; transform:translateY(-54%);
  text-align:center;
  font-family:var(--ff-head); font-size:120px; font-weight:600; line-height:1;
  letter-spacing:-.04em; color:var(--ink);
}
.years i{
  position:absolute; left:140px; top:34px;
  width:26px; height:26px; border-radius:50%;
  background:var(--coral); color:#fff; border:2px solid #fff;
  display:grid; place-items:center;
  font-style:normal; font-size:16px; font-weight:600; line-height:1;
}
.years span{
  position:absolute; left:62px; top:124px;
  padding:3px 10px; border-radius:5px;
  background:var(--navy); color:#fff;
  font-size:14px; font-weight:500; line-height:18px; white-space:nowrap;
}
.about__side p{ margin:26px 0 26px; font-size:1.05rem; line-height:1.75; }

.impact{
  display:grid; grid-template-columns:49% 51%;
  align-items:center;
  padding-bottom:0;
}
.impact__media{ position:relative; align-self:stretch; min-height:600px; }
.impact__media > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.impact__card{
  position:absolute; right:0; bottom:0; width:min(500px, 66%);
  display:flex; align-items:center; gap:22px;
  padding:32px 32px;
  background:var(--navy); color:#fff;
  overflow:hidden;
}
.impact__card strong{ flex:1 1 auto; font-family:var(--ff-head); font-size:1.35rem; font-weight:600; line-height:1.35; }
.impact__arrow{ width:26px; height:26px; flex:none; transition:transform .3s var(--ease), color .3s; }
.impact__card:hover .impact__arrow{ transform:rotate(45deg); color:var(--coral-2); }
.impact__rings{ position:absolute; right:-40px; top:-60px; width:130px; height:130px; border-radius:50%; border:1px solid rgba(255,255,255,.12); pointer-events:none; }
.impact__rings::after{ content:""; position:absolute; left:-20px; top:130px; width:130px; height:130px; border-radius:50%; border:1px solid rgba(255,255,255,.12); }
.avatars{ display:flex; flex:none; }
.avatars img{ width:52px; height:52px; border-radius:50%; object-fit:cover; border:2px solid #fff; }
.avatars img + img{ margin-left:-14px; }

.impact__copy{ padding:90px var(--gut) 90px 110px; max-width:calc(var(--wrap) * .51 + var(--gut)); }
.impact__copy .title{ margin-top:0; max-width:430px; }
.impact__copy .lead{ margin:34px 0 20px; max-width:440px; }
.stat{
  display:grid; grid-template-columns:150px minmax(0,1fr); gap:0 20px; align-items:center;
  padding:26px 0;
  border-bottom:1px solid var(--line);
  max-width:440px;
}
.stat strong{ font-family:var(--ff-head); font-size:3.3rem; font-weight:500; line-height:1; color:var(--ink); }
.stat sup{ font-size:1.4rem; color:var(--coral); margin-left:2px; }
.stat p{ font-size:.94rem; line-height:1.55; }

.services{
  position:relative; overflow:hidden;
  margin-top:0;
  padding:120px 0 0;
  background:var(--mist);
}
.services__grid-bg{
  position:absolute; left:0; top:0; width:180px; height:60%;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:58px 58px; opacity:.8;
}
.services__word{
  position:absolute; left:-20px; bottom:-40px;
  font-family:var(--ff-head); font-size:clamp(7rem, 19vw, 17rem); font-weight:600; line-height:1;
  color:rgba(7,40,58,.05); pointer-events:none; white-space:nowrap;
}
.services__head{ position:relative; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.services__head .title{ max-width:560px; }
.services__badge{ position:relative; display:flex; align-items:center; justify-content:flex-end; min-width:340px; min-height:180px; }
.services__big{
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  font-family:var(--ff-head); font-size:12rem; font-weight:700; line-height:1;
  color:rgba(0,163,199,.1);
}
.services__badge strong{ position:relative; margin-right:110px; font-family:var(--ff-head); font-size:1.35rem; font-weight:600; color:var(--ink); }

.services__body{
  position:relative;
  max-width:calc(var(--wrap) + var(--gut) * 2);
  margin:66px auto 0;
  padding:0 var(--gut) 120px calc(var(--gut) + 90px);
}
.svc-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:2px;
  background:var(--mist);
  position:relative; z-index:1;
  max-width:880px;
}
.svc{
  position:relative;
  padding:34px 32px 34px;
  background:#fff;
  transition:background .35s var(--ease);
}
.svc:hover{ background:var(--navy); }
.svc__ico{ display:block; width:46px; height:46px; color:var(--navy); transition:color .35s; }
.svc__ico svg{ width:100%; height:100%; }
.svc:hover .svc__ico{ color:#fff; }
.svc h3{ margin-top:44px; font-size:1.25rem; font-weight:500; transition:color .35s; }
.svc p{ margin-top:8px; font-size:.95rem; line-height:1.6; transition:color .35s; }
.svc:hover h3{ color:#fff; }
.svc:hover p{ color:rgba(255,255,255,.8); }
.svc__go{
  margin-top:18px; width:34px; height:34px; display:grid; place-items:center;
  border-radius:50%; background:var(--navy); color:#fff;
  transition:background .3s, transform .3s;
}
.svc__go svg{ width:14px; height:14px; }
.svc:hover .svc__go{ background:var(--coral); transform:rotate(45deg); }
.services__photo{
  position:absolute; z-index:0; right:0; bottom:0;
  width:calc(50vw - 60px); height:62%;
  margin-right:calc((100% - 100vw) / 2);
}
.services__photo img{ width:100%; height:100%; object-fit:cover; }

.process{ overflow:hidden; }
.steps{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  max-width:1164px; margin:0 auto;
}
.step{ display:flex; flex-direction:column; align-items:center; text-align:center; padding-top:23px; }
.step__pic{ position:relative; width:200px; height:200px; }
.step__pic img{ width:100%; height:100%; border-radius:50%; object-fit:cover; }
.step__pic::after{
  content:""; position:absolute; left:50%; top:50%;
  width:0; height:0; border-radius:50%;
  transform:translate(-50%,-50%);
  background:rgba(7,40,58,.85);
  transition:width .5s, height .5s;
}
.step:hover .step__pic::after{ width:100%; height:100%; }
.step__hover{
  position:absolute; z-index:1; left:50%; top:50%;
  width:0; height:0; overflow:hidden; border-radius:50%;
  transform:translate(-50%,-50%);
  background:#fff; color:var(--navy);
  display:grid; place-items:center;
  transition:width .5s, height .5s;
}
.step__hover svg{ width:46px; height:46px; flex:none; }
.step:hover .step__hover{ width:100px; height:100px; }
.step__tick{
  position:absolute; z-index:2; left:4px; top:-23px;
  width:65px; height:65px; display:grid; place-items:center;
  border-radius:50%; background:var(--navy); color:#fff; border:4px solid #fff;
}
.step:nth-child(2) .step__tick{ background:var(--cyan-2); }
.step:nth-child(3) .step__tick{ background:var(--coral); }
.step__tick svg{ width:26px; height:26px; }

.step__line{ position:relative; display:block; align-self:stretch; height:1px; margin:70px 0 60px; background:rgba(7,40,58,.1); }
.step__line::before{
  content:""; position:absolute; left:50%; top:50%; width:40px; height:40px;
  transform:translate(-50%,-50%); border-radius:50%;
  background:#fff; border:1px solid rgba(7,40,58,.1);
}
.step__line::after{
  content:""; position:absolute; left:50%; top:50%; width:10px; height:10px;
  transform:translate(-50%,-50%); border-radius:50%; background:var(--navy);
  transition:background .3s, transform .3s;
}
.step:hover .step__line::after{ background:var(--coral); transform:translate(-50%,-50%) scale(1.3); }
.step h3{ font-size:24px; font-weight:600; line-height:30px; }
.step p{ margin-top:10px; max-width:300px; font-size:16px; line-height:1.6; }

.why{ padding:120px 0 0; }
.why__box{
  position:relative;
  max-width:calc(var(--wrap) + 200px); margin:0 auto;
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,.9fr);
  gap:40px; align-items:center;
  padding:48px 26px 48px 0;
  background:var(--navy);
}
.why__pic{ position:relative; align-self:end; margin:-110px 0 -48px 50px; }
.why__pic img{ position:relative; z-index:1; width:100%; height:560px; object-fit:cover; object-position:center top; clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%); border-radius:200px 200px 0 0; }
.why__blob{ position:absolute; left:20%; right:-10%; top:22%; bottom:0; border-radius:50%; background:var(--navy-3); }
.why__copy p{ margin:28px 0 34px; font-size:1.06rem; line-height:1.75; color:rgba(255,255,255,.92); }
.why__copy .btn{ min-width:170px; }

.why__slider{ padding:46px 40px 36px; background:var(--navy-2); border-radius:10px; }
.why__viewport{ height:392px; overflow:hidden; }
.why__track{ transition:transform .6s var(--ease); }
.why__track li{ height:196px; padding:6px 0 24px; border-bottom:1px solid rgba(255,255,255,.1); }
.why__track li + li{ padding-top:28px; }
.why__track span{ font-family:var(--ff-head); font-size:.95rem; font-weight:600; color:var(--coral-2); }
.why__track h3{ margin-top:22px; font-size:1.3rem; font-weight:600; color:#fff; }
.why__track p{ margin-top:10px; font-size:.93rem; line-height:1.6; color:rgba(255,255,255,.8); }
.why__arrows{ display:flex; gap:26px; margin-top:26px; }
.why__arrows button{ width:44px; height:22px; color:#fff; transition:color .2s, transform .2s; }
.why__arrows button:hover{ color:var(--coral-2); }
.why__arrows svg{ width:100%; height:100%; }

.domains{
  max-width:calc(var(--wrap) + 200px); margin:0 auto;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; align-items:center;
  padding:110px max(var(--gut), 100px);
  background:var(--mist);
}
.domains .title{ margin:0 0 48px; max-width:470px; }
.acc__item{ background:#fff; border-bottom:1px solid var(--line); }
.acc__q{
  width:100%; display:flex; align-items:center; gap:16px;
  padding:22px 30px; text-align:left;
  font-family:var(--ff-head); font-size:1.25rem; font-weight:500; color:var(--ink);
}
.acc__ico{ width:34px; height:34px; flex:none; color:var(--navy); }
.acc__ico svg{ width:100%; height:100%; }
.acc__item.is-open .acc__ico{ color:var(--coral); }
.acc__chev{ width:14px; height:8px; margin-left:auto; flex:none; transition:transform .3s; }
.acc__item.is-open .acc__chev{ transform:rotate(180deg); }
.acc__a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s var(--ease); }
.acc__a > div{ overflow:hidden; }
.is-open > .acc__a{ grid-template-rows:1fr; }
.acc__a p{ padding:0 30px 26px 80px; font-size:.95rem; line-height:1.65; color:var(--ink); }

.collage{ position:relative; height:560px; }
.collage img{ position:absolute; object-fit:cover; }
.collage__ring{ position:absolute; left:14%; top:22%; width:78%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(7,40,58,.12); background:rgba(255,255,255,.5); }
.collage__a{ left:0; top:10%; width:48%; height:44%; }
.collage__b{ right:0; top:0; width:46%; height:50%; }
.collage__c{ left:36%; bottom:0; width:46%; height:44%; }
.collage__logo{
  position:absolute; left:8%; bottom:-6px; z-index:1;
  width:46%; padding:26px 22px; background:var(--navy);
}
.collage__logo img{ position:static; width:100%; height:auto; }

.roster{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:0;
  border-top:1px solid var(--line);
}
.roster li{ border-bottom:1px solid var(--line); }
.roster a{
  display:grid; grid-template-columns:34px minmax(0,1fr) 20px; align-items:center; gap:44px;
  padding:34px 48px;
  transition:background .3s;
}
.roster a:hover{ background:var(--mist); }
.roster__n{
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:50%; border:1px solid var(--line);
  font-size:.78rem; color:var(--ink-2);
  transition:background .3s, color .3s, border-color .3s;
}
.roster a:hover .roster__n{ background:var(--coral); border-color:var(--coral); color:#fff; }
.roster__who strong{ display:block; font-family:var(--ff-head); font-size:1.55rem; font-weight:500; color:var(--ink); line-height:1.25; }
.roster__who em{ display:block; margin-top:4px; font-style:normal; font-size:.94rem; }
.roster__go{ width:18px; height:18px; color:var(--ink-2); transition:transform .3s, color .3s; }
.roster a:hover .roster__go{ transform:rotate(45deg); color:var(--coral); }

.pricing{ padding-top:40px; }
.bill{ margin-top:30px; display:inline-flex; align-items:center; gap:16px; font-family:var(--ff-head); font-size:1.15rem; font-weight:500; color:var(--ink-2); }
.bill span.is-on{ color:var(--ink); }
.bill em{ font-style:normal; font-size:.78rem; font-weight:600; color:var(--coral); }
.bill button{ width:40px; height:20px; border-radius:20px; background:var(--navy); position:relative; }
.bill button i{ position:absolute; left:3px; top:3px; width:14px; height:14px; border-radius:50%; background:#fff; transition:transform .3s var(--ease); }
.bill button[aria-checked="true"] i{ transform:translateX(20px); }

.plans{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px; max-width:1080px; margin:0 auto; }
.plan{
  position:relative;
  padding:44px 40px 40px;
  background:#fff; border:1px solid #EEF2F4;
  box-shadow:0 30px 60px -40px rgba(7,40,58,.25);
  display:flex; flex-direction:column;
}
.plan__ico{ width:46px; height:46px; color:var(--navy); }
.plan__ico svg{ width:100%; height:100%; }
.plan h3{ margin-top:34px; font-size:1.4rem; font-weight:500; }
.plan__for{ margin-top:4px; font-size:.95rem; }
.plan__price{ margin-top:22px; padding-bottom:26px; border-bottom:1px solid var(--line); display:flex; align-items:baseline; color:var(--ink); }
.plan__price sup{ font-size:1rem; font-weight:600; align-self:flex-end; margin-bottom:10px; margin-right:4px; }
.plan__price b{ font-family:var(--ff-head); font-size:4.2rem; font-weight:600; line-height:1; letter-spacing:-.03em; }
.plan__price span{ margin-left:4px; font-size:1.05rem; font-weight:600; color:var(--ink-2); }
.plan__price--text b{ font-size:3.4rem; }
.plan ul{ margin:26px 0 40px; display:grid; gap:14px; flex:1 1 auto; align-content:start; }
.plan li{ position:relative; padding-left:26px; font-size:.98rem; }
.plan li::before{
  content:""; position:absolute; left:2px; top:.35em;
  width:12px; height:7px; border-left:2px solid var(--cyan-2); border-bottom:2px solid var(--cyan-2);
  transform:rotate(-45deg);
}
.plan--hot{ background:var(--navy); border-color:var(--navy); }
.plan--hot .plan__ico, .plan--hot h3, .plan--hot .plan__price{ color:#fff; }
.plan--hot .plan__for, .plan--hot li{ color:#fff; font-weight:500; }
.plan--hot .plan__price span{ color:rgba(255,255,255,.8); }
.plan--hot .plan__price{ border-color:rgba(255,255,255,.15); }
.plan--hot li::before{ border-color:var(--coral-2); }
.plan__tag{
  position:absolute; top:12px; right:12px;
  padding:4px 10px; background:var(--coral); color:#fff;
  font-size:.78rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
}

.remote{ position:relative; overflow:hidden; background:var(--navy); }
.remote__bg{ position:absolute; left:0; top:0; width:62%; height:100%; object-fit:cover; }
.remote::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(7,40,58,.1) 0%, rgba(7,40,58,.55) 35%, var(--navy) 60%);
}
.remote__in{ position:relative; z-index:2; display:flex; justify-content:flex-end; }
.remote__copy{ width:min(460px, 100%); padding:100px 0; }
.remote__copy .title{ margin-top:0; }
.remote__copy > p{ margin:24px 0 26px; color:rgba(255,255,255,.92); }
.remote__row{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:30px; }
.checks{ display:grid; gap:12px; padding-top:4px; }
.checks li{ position:relative; padding-left:24px; color:#fff; font-size:.95rem; }
.checks li::before{
  content:""; position:absolute; left:1px; top:.38em;
  width:11px; height:6px; border-left:2px solid var(--sky); border-bottom:2px solid var(--sky);
  transform:rotate(-45deg);
}
.remote__award{
  flex:none; width:140px; padding:20px 12px;
  display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;
  background:var(--navy-2); border:1px solid rgba(255,255,255,.15);
  color:#fff;
}
.remote__award svg{ width:46px; height:46px; }
.remote__award strong{ font-family:var(--ff-head); font-size:.95rem; line-height:1.25; }

.testi__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:stretch; }
.testi__card{
  position:relative;
  display:flex; flex-direction:column; justify-content:center;
  padding:48px 56px;
  background:var(--mist);
  cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none;
}
.testi__card.is-dragging{ cursor:grabbing; }
.testi__card.is-dragging .testi__slides{ transition:none; }
.testi__slides{ transition:transform .4s var(--ease); }
.testi__card img{ -webkit-user-drag:none; pointer-events:none; }
.testi__slides{ display:grid; }
.testi__slides blockquote{
  grid-area:1/1; opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .5s, transform .5s var(--ease), visibility .5s;
}
.testi__slides blockquote.is-on{ opacity:1; visibility:visible; transform:none; }
.stars{ color:var(--coral); letter-spacing:4px; font-size:1rem; }
.testi__card h3{ margin-top:12px; padding-bottom:26px; border-bottom:1px solid var(--line); font-size:1.55rem; font-weight:500; line-height:1.3; }
.testi__card blockquote > p{ margin-top:28px; font-size:1.18rem; line-height:1.7; color:var(--ink); }
.testi__card footer{ margin-top:30px; display:flex; align-items:center; gap:18px; }
.testi__card footer img{ width:44px; height:44px; border-radius:50%; object-fit:cover; }
.testi__card footer strong{ display:block; font-family:var(--ff-head); font-size:1.05rem; font-weight:500; color:var(--ink); }
.testi__card footer em{ display:block; font-style:normal; font-size:.84rem; }
.testi__dots{ position:absolute; left:0; bottom:-34px; display:flex; gap:6px; }
.testi__dots button{ width:9px; height:9px; border-radius:50%; border:1px solid var(--navy); transition:background .2s; }
.testi__dots button.is-on{ background:var(--navy); }

.testi__media{ position:relative; min-height:520px; }
.testi__media > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.testi__float{
  position:absolute; right:20px; top:88px;
  width:300px; padding:35px 40px;
  background:#fff; border-radius:10px;
  box-shadow:10px 4px 60px rgba(161,161,161,.25);
}
.testi__float a{ font-family:var(--ff-head); font-size:18px; font-weight:600; line-height:23px; color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.testi__float .avatars{ margin-top:16px; }
.testi__float .avatars img{ width:50px; height:50px; }
.testi__float .avatars img + img{ margin-left:-12px; }
.testi__float hr{ border:0; border-top:1px solid var(--line); margin:40px 0 32px; }
.testi__float strong{ font-family:var(--ff-head); font-size:45px; font-weight:700; line-height:55px; color:var(--ink); }
.testi__float sup{ font-size:.75em; color:var(--coral); }
.testi__float p{ font-size:18px; line-height:28.8px; }

.faq{ padding-top:80px; }
.faq__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:100px; align-items:start; }
.faq__side .title{ max-width:420px; }
.faq__side img{ margin-top:40px; width:100%; max-width:430px; height:190px; object-fit:cover; }
.faq__list{ padding:8px; background:var(--mist); display:grid; gap:8px; }
.faq__item{ background:#fff; }
.faq__q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:16px 16px 16px 18px; text-align:left;
  font-family:var(--ff-head); font-size:1.08rem; font-weight:500; color:var(--ink);
}
.faq__q i{
  position:relative; flex:none; width:30px; height:30px;
  border:1px solid var(--line);
  transition:background .3s, border-color .3s;
}
.faq__q i::before, .faq__q i::after{ content:""; position:absolute; left:50%; top:50%; width:10px; height:1.6px; background:var(--ink); transform:translate(-50%,-50%); transition:transform .3s, background .3s; }
.faq__q i::after{ transform:translate(-50%,-50%) rotate(90deg); }
.faq__item.is-open .faq__q i{ background:var(--navy); border-color:var(--navy); }
.faq__item.is-open .faq__q i::before{ background:#fff; }
.faq__item.is-open .faq__q i::after{ transform:translate(-50%,-50%) rotate(0); background:#fff; }
.faq__item .acc__a p{ padding:0 18px 20px; color:var(--ink-2); font-size:.96rem; }

.posts{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.post{ position:relative; overflow:hidden; aspect-ratio:420/502; background:var(--navy); }
.post__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.post:hover .post__img{ transform:scale(1.05); }
.post::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(7,40,58,.1) 0%, var(--navy) 85%);
}
.post__body{
  position:absolute; z-index:2; left:50px; right:50px; bottom:-25px;
  color:#fff;
  transition:bottom .5s var(--ease);
}
.post:hover .post__body, .post:focus-within .post__body{ bottom:35px; }
.post__ico{ display:block; width:50px; height:50px; margin-bottom:20px; color:#fff; }
.post__ico svg{ width:100%; height:100%; }
.post__meta{ display:block; margin-bottom:10px; font-size:.82rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:var(--sky); }
.post h3{ margin-bottom:10px; font-size:24px; font-weight:600; line-height:30px; color:#fff; }
.post h3 a::after{ content:""; position:absolute; inset:0; z-index:3; }
.post p{ margin-bottom:20px; font-size:1rem; line-height:1.6; color:rgba(255,255,255,.9); }
.post__more{
  position:relative; z-index:4;
  display:inline-flex; align-items:center; gap:6px;
  font-weight:500; line-height:20px; color:#fff;
  background:linear-gradient(currentColor, currentColor) no-repeat 0 100% / 0 1px;
  transition:background-size .6s cubic-bezier(.215,.61,.355,1), color .3s;
}
.post__more svg{ width:12px; height:12px; }
.post__more:hover{ background-size:100% 1px; color:var(--coral-2); }
@media (hover:none){ .post__body{ bottom:35px; } }

.partners{ background:var(--mist); padding-top:30px; }
.logos{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  max-width:1060px; margin:0 auto;
  border-top:1px solid var(--line); border-left:1px solid var(--line);
}
.logos span{ display:grid; place-items:center; height:150px; overflow:hidden; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.logos img{ width:78%; max-width:210px; height:auto; transform:scale(1.12); filter:grayscale(1) opacity(.85); transition:filter .3s, transform .4s var(--ease); }
.logos span:hover img{ transform:scale(1.18); }
.logos span:hover img{ filter:none; }

.foot{ background:var(--navy); color:rgba(255,255,255,.82); }
.foot__cta{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding:56px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.foot__cta h2{ font-size:clamp(1.3rem, 2vw, 1.6rem); font-weight:600; color:#fff; }
.foot__cta .btn{ min-width:172px; }
.foot__grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px 20px; padding:40px 0 44px; }
.foot__grid > .foot__col{ grid-column:1; }
.foot__grid > .foot__support{ grid-column:2; grid-row:1 / span 2; }
.foot__brand{ display:none; }
.foot__brand p{ margin:24px 0 20px; color:#fff; }
.news{ display:flex; padding:5px; background:var(--navy-2); border:1px solid rgba(255,255,255,.15); border-radius:6px; max-width:340px; }
.news input{ flex:1 1 auto; min-width:0; padding:0 12px; background:none; border:0; color:#fff; font:inherit; }
.news input::placeholder{ color:rgba(255,255,255,.8); }
.news input:focus{ outline:none; }
.news button{ padding:12px 26px; border-radius:4px; background:var(--navy); color:#fff; font-weight:500; transition:background .2s; }
.news button:hover{ background:var(--coral); }
.foot__col h3{ margin-bottom:22px; font-size:1.3rem; font-weight:500; color:#fff; }
nav.foot__col{ display:flex; flex-wrap:wrap; align-items:center; align-content:flex-start; }
nav.foot__col h3{ flex:0 0 100%; margin-bottom:4px; }
nav.foot__col a:not(:last-child)::after{ content:"|"; margin:0 12px; color:rgba(255,255,255,.35); }
.foot__support{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:24px; align-content:start; }
.foot__support h3, .foot__support .foot__offices{ grid-column:1 / -1; }
.foot__col a{ display:block; padding:4px 0; transition:color .2s, transform .2s; }
.foot__col nav a:hover, nav.foot__col a:hover{ color:var(--sky); }
.foot__info{ display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; }
.foot__info > span{ width:36px; height:36px; flex:none; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; }
.foot__info svg{ width:16px; height:16px; }
.foot__info em{ display:block; font-style:normal; font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.foot__info strong{ display:block; font-family:var(--ff-head); font-size:1.08rem; font-weight:500; color:#fff; }
.foot__info strong a{ display:inline; padding:0; }
.foot__offices{ font-size:.88rem; }
.foot__offices a{ display:inline; color:#fff; }
.foot__bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; padding:24px 0 28px; border-top:1px solid rgba(255,255,255,.12); font-size:.95rem; }
.foot__follow{ display:flex; align-items:center; gap:16px; color:#fff; }

.totop{
  position:fixed; right:22px; bottom:22px; z-index:90;
  width:44px; height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  border-radius:6px; border:1px solid var(--navy); background:#fff; color:var(--navy);
  font-size:.7rem; line-height:1;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .3s, transform .3s, visibility .3s, background .2s, color .2s;
}
.totop svg{ width:14px; height:14px; }
.totop.is-on{ opacity:1; visibility:visible; transform:none; }
.totop:hover{ background:var(--coral); border-color:var(--coral); color:#fff; }

html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-stopped{ overflow:hidden; }

@media (max-width:1440px){
  .head__logo img{ width:245px; }
}

@media (max-width:1280px){
  .head__logo img{ width:230px; }
  .menu > ul{ gap:22px; }
  .head__in{ gap:28px; }
  .head__call span:last-child{ display:none; }
  .why__box{ grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1fr); gap:30px; }
  .impact__copy{ padding-left:70px; }
  .services__body{ padding-left:var(--gut); }
}

@media (max-width:1100px){
  .topbar__links, .topbar__info li:nth-child(2), .topbar__info .topbar__dot{ display:none; }
  .menu{ display:none; }
  .head__logo img{ width:260px; }
  .head__end{ margin-left:auto; gap:18px; }
  .burger{ display:flex; }

  .hero{ grid-template-columns:1fr 1fr; min-height:560px; }
  .hero__copy-in{ padding:70px 36px 70px var(--gut); }

  .about__head{ margin-right:0; }
  .about__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .about__side{ grid-column:1 / -1; display:grid; grid-template-columns:200px 1fr; gap:10px 40px; align-items:center; padding:20px 0 0; }
  .about__side p{ margin:0; }
  .about__side .btn{ grid-column:2; justify-self:start; }

  .impact__copy{ padding:70px var(--gut) 70px 50px; }

  .services__badge{ display:none; }
  .services__body{ margin-top:48px; padding:0 var(--gut) 300px; }
  .svc-grid{ max-width:none; }
  .services__photo{ width:70%; height:360px; margin-right:0; }

  .why__box{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:56px 40px; }
  .why__pic{ display:none; }
  .domains{ grid-template-columns:1fr; padding:80px 40px; }
  .collage{ max-width:620px; width:100%; margin:0 auto; }

  .faq__grid{ gap:50px; }
  .post__body{ left:28px; right:28px; }
  .post h3{ font-size:20px; line-height:26px; }
}

@media (max-width:1024px){
  .foot__support{ grid-template-columns:1fr; }
}

@media (max-width:860px){
  .sec{ padding:88px 0; }
  .topbar{ display:none; }
  .head__cta{ display:none; }

  .hero{ grid-template-columns:1fr; }
  .hero__copy-in{ max-width:none; padding:72px var(--gut) 60px; }
  .hero__media{ height:360px; }
  .hero__rule{ margin:32px 0; }

  .impact{ grid-template-columns:1fr; }
  .impact__media{ min-height:420px; }
  .impact__copy{ padding:60px var(--gut) 20px; max-width:none; }

  .services{ padding-top:88px; }
  .services__body{ padding-bottom:0; }
  .services__photo{ position:relative; width:auto; height:300px; margin:-60px calc(var(--gut) * -1) 0 30%; }

  .steps{ grid-template-columns:1fr; row-gap:64px; max-width:420px; }
  .step__line{ margin:44px 0 40px; }

  .why{ padding-top:88px; }
  .why__box{ grid-template-columns:1fr; padding:48px var(--gut); }

  .roster{ grid-template-columns:1fr; }
  .roster a{ padding:26px 12px; gap:22px; }

  .plans{ grid-template-columns:1fr; max-width:480px; }

  .remote__bg{ width:100%; opacity:.35; }
  .remote::before{ background:linear-gradient(180deg, rgba(7,40,58,.6), var(--navy)); }
  .remote__copy{ padding:80px 0; width:100%; }

  .testi__grid{ grid-template-columns:1fr; gap:20px; }
  .testi__card{ min-height:400px; }
  .testi__dots{ bottom:-30px; }
  .testi__media{ min-height:460px; margin-top:30px; }
  .faq__grid{ grid-template-columns:1fr; }
  .posts{ grid-template-columns:1fr; max-width:480px; margin:0 auto; }
  .post__body{ left:32px; right:32px; }
  .logos{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}

@media (max-width:600px){
  :root{ --gut:18px; }
  .head__in{ min-height:70px; }
  .head__logo img{ width:min(250px, calc(100vw - 110px)); }
  .head__call{ display:none; }
  .hero__title{ font-size:clamp(2.3rem, 11vw, 3rem); }
  .hero__cta{ gap:14px 30px; }

  .about__grid{ grid-template-columns:1fr; }
  .aud{ aspect-ratio:4/4.2; }
  .about__side{ display:block; }
  .about__side p{ margin:24px 0; }

  .impact__card{ width:calc(100% - 24px); padding:22px; gap:14px; }
  .impact__card strong{ font-size:1.1rem; }
  .avatars img{ width:42px; height:42px; }
  .stat{ grid-template-columns:110px 1fr; }
  .stat strong{ font-size:2.6rem; }

  .svc-grid{ grid-template-columns:1fr; }
  .svc h3{ margin-top:26px; }
  .services__photo{ margin-left:18%; height:240px; }

  .step__pic{ width:180px; height:180px; }
  .step h3{ font-size:22px; }

  .why__slider{ padding:32px 24px 28px; }
  .why__viewport{ height:452px; }
  .why__track li{ height:226px; }
  .domains{ padding:64px var(--gut); }
  .acc__q{ padding:18px; font-size:1.08rem; gap:12px; }
  .acc__ico{ width:28px; height:28px; }
  .acc__a p{ padding:0 18px 22px 58px; }
  .collage{ height:400px; }

  .roster__who strong{ font-size:1.25rem; }
  .plan{ padding:36px 26px 30px; }
  .plan__price b{ font-size:3.4rem; }

  .remote__row{ flex-direction:column; }
  .testi__card{ padding:34px 24px 56px; }
  .testi__card blockquote > p{ font-size:1.02rem; }
  .testi__card h3{ font-size:1.3rem; }
  .testi__media{ min-height:420px; }
  .testi__float{ right:14px; top:24px; width:236px; padding:24px 26px; }
  .testi__float a{ font-size:16px; }
  .testi__float .avatars img{ width:42px; height:42px; }
  .testi__float hr{ margin:24px 0 20px; }
  .testi__float strong{ font-size:38px; line-height:46px; }
  .testi__float p{ font-size:15px; line-height:1.5; }

  .faq__q{ font-size:1rem; }
  .logos span{ height:120px; }
  .foot__grid{ grid-template-columns:1fr; gap:32px; }
  .foot__grid > .foot__col, .foot__grid > .foot__support{ grid-column:auto; grid-row:auto; }
  .foot__cta .btn{ width:100%; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ transition-duration:.01ms !important; animation:none !important; }
}
