.partner-page{
  --p:var(--color-primary);
  --pt:var(--color-font);
  color:var(--pt);
  padding-bottom:55px
}

.partner-container{
  width:min(1120px,calc(100% - 40px));
  margin:auto
}

.partner-container--wide{
  width:min(1280px,calc(100% - 40px))
}

.partner-hero{
  position:relative;
  overflow:hidden;
  text-align:center;
  padding:95px 0 85px;
  background:radial-gradient(circle at 80% 10%,#3fc0bf77,transparent 25%),linear-gradient(130deg,#0a2530,#146276 55%,#15919e);
  color:#fff
}

.partner-hero:before{
  content:'';
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(4,25,34,.78) 0%,rgba(5,35,45,.58) 48%,rgba(5,35,45,.38) 100%),linear-gradient(0deg,rgba(3,22,30,.35),transparent 55%);
  pointer-events:none
}

.partner-hero__art{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:.72;
  pointer-events:none
}

.partner-hero__inner{
  position:relative;
  z-index:2;
  max-width:850px
}

.partner-kicker,.partner-heading>span{
  display:block;
  color:var(--p);
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase
}

.partner-hero .partner-kicker,.partner-banner .partner-kicker{
  color:#aef6ee
}

.partner-hero h1{
  font-size:clamp(39px,6vw,66px);
  letter-spacing:-.05em;
  line-height:1.03;
  margin:18px 0
}

.partner-hero p{
  font-size:18px;
  line-height:1.6;
  max-width:670px;
  margin:auto;
  color:#ffffffdf
}

.partner-actions{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:33px
}

.partner-btn{
  appearance:none;
  border:1px solid transparent;
  cursor:pointer;
  border-radius:11px;
  min-height:48px;
  padding:12px 21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:700 15px inherit;
  text-decoration:none;
  transition:.2s
}

.partner-btn:hover{
  transform:translateY(-2px)
}

.partner-btn--primary{
  background:var(--p);
  color:#fff;
  box-shadow:0 8px 22px #167c8a44
}

.partner-btn--light{
  background:#fff;
  color:#126476
}

.partner-btn--outline{
  border-color:currentColor;
  background:transparent;
  color:var(--p)
}

.partner-hero .partner-btn--outline{
  color:#fff
}

.partner-hero__facts{
  margin-top:39px;
  font-size:13px;
  font-weight:700
}

.partner-hero__facts i{
  font-style:normal;
  color:#aef6ee;
  margin:0 10px
}

.partner-section{
  padding:83px 0
}

.partner-heading{
  max-width:680px;
  text-align:center;
  margin:0 auto 38px
}

.partner-heading h2,.partner-sim h2,.partner-banner h2{
  font-size:clamp(29px,4vw,43px);
  line-height:1.12;
  letter-spacing:-.035em;
  margin:11px 0 14px
}

.partner-heading p,.partner-sim p,.partner-banner p{
  line-height:1.62;
  margin:0;
  color:var(--color-font-light,var(--pt))
}

.partner-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px
}

.partner-card{
  min-height:340px;
  padding:30px;
  border:1px solid color-mix(in srgb,var(--pt) 12%,transparent);
  border-radius:18px;
  background:var(--color-block,var(--color-bg));
  box-shadow:0 12px 30px #0b333e0d;
  display:flex;
  flex-direction:column;
  align-items:flex-start
}

.partner-card--tint{
  background:linear-gradient(135deg,color-mix(in srgb,var(--p) 10%,var(--color-bg)),var(--color-bg))
}

.partner-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--p) 15%,transparent);
  color:var(--p);
  font-size:13px
}

.partner-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}

.partner-card h3{
  font-size:19px;
  margin:18px 0 10px
}

.partner-card p{
  font-size:14px;
  line-height:1.55;
  margin:0 0 16px;
  color:var(--color-font-light,var(--pt))
}

.partner-card ul{
  list-style:none;
  padding:0;
  margin:0 0 23px;
  color:var(--color-font-light,var(--pt));
  font-size:13px;
  line-height:1.45
}

.partner-card li{
  position:relative;
  padding-left:17px;
  margin:7px 0
}

.partner-card li:before{
  content:'✓';
  position:absolute;
  left:0;
  color:var(--p);
  font-weight:800
}

.partner-card__cta{
  margin-top:auto;
  width:100%;
  min-height:43px;
  padding:10px 13px;
  border:1px solid color-mix(in srgb,var(--p) 55%,transparent);
  border-radius:9px;
  background:transparent;
  cursor:pointer;
  color:var(--p);
  font:700 13px inherit;
  text-decoration:none;
  text-align:left;
  transition:background .2s,color .2s,transform .2s
}

.partner-card__cta:hover{
  background:var(--p);
  color:#fff;
  transform:translateY(-1px)
}

.partner-card__cta span{
  float:right;
  font-size:17px;
  line-height:15px
}

.partner-section--soft{
  background:color-mix(in srgb,var(--p) 7%,transparent)
}

.partner-sim{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:65px;
  align-items:center
}

.partner-sim p{
  margin:0 0 14px
}

.partner-sim ul{
  list-style:none;
  padding:0;
  margin:27px 0
}

.partner-sim li{
  margin:11px 0;
  font-size:14px
}

.partner-sim li:before{
  content:'✓';
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--p);
  color:#fff;
  font-size:11px;
  margin-right:10px
}

.partner-rack{
  position:relative;
  height:330px;
  border-radius:23px;
  overflow:hidden;
  background:radial-gradient(circle at 72% 20%,#3186d5 0%,transparent 34%),linear-gradient(135deg,#071d42,#0d4f9d 58%,#1470c5);
  box-shadow:0 18px 40px #061f583d
}

.partner-rack>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:10px 20px 3px;
  filter:hue-rotate(24deg) saturate(1.22) brightness(1.04)
}

.partner-media{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px
}

.partner-media article{
  display:flex;
  flex-direction:column;
  padding:34px;
  border:1px solid color-mix(in srgb,var(--pt) 12%,transparent);
  border-radius:20px;
  background:var(--color-block,var(--color-bg))
}

.partner-media__accent{
  background:linear-gradient(135deg,color-mix(in srgb,var(--p) 9%,var(--color-bg)),var(--color-bg))!important;
  border-color:color-mix(in srgb,var(--p) 55%,transparent)!important
}

.partner-media article>b{
  color:var(--p)
}

.partner-media h3{
  font-size:25px;
  margin:12px 0
}

.partner-media p{
  line-height:1.55;
  margin:0;
  color:var(--color-font-light,var(--pt))
}

.partner-media ul{
  padding-left:18px;
  margin:23px 0
}

.partner-media li{
  font-size:14px;
  line-height:1.5;
  margin:9px 0
}

.partner-media .partner-btn{
  align-self:flex-start;
  margin-top:auto
}

.partner-banner{
  position:relative;
  overflow:hidden;
  padding:53px 0;
  background:radial-gradient(circle at 84% 25%,#2b8be5 0%,transparent 28%),linear-gradient(110deg,#071d42,#0c438c 58%,#116fc4);
  color:#fff
}

.partner-banner__art{
  position:absolute;
  right:max(1%,calc((100% - 1320px)/2));
  bottom:-70px;
  width:min(48vw,650px);
  opacity:.62;
  filter:hue-rotate(24deg) saturate(1.22) brightness(1.08);
  pointer-events:none
}

.partner-banner>.partner-container{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px
}

.partner-banner p{
  max-width:650px;
  color:#ffffffdb
}

.partner-banner h2{
  margin-top:10px
}

.partner-banner .partner-btn{
  white-space:nowrap
}

.partner-form-section{
  padding-top:84px
}

.partner-form{
  max-width:800px;
  margin:auto;
  padding:28px;
  border:1px solid color-mix(in srgb,var(--pt) 12%,transparent);
  border-radius:20px;
  background:var(--color-block,var(--color-bg));
  box-shadow:0 14px 36px #0d37400f
}

.partner-form__notice{
  max-width:800px;
  margin:0 auto 16px;
  padding:13px 16px;
  border-radius:10px;
  text-align:center;
  font-size:14px
}

.partner-form__notice--success{
  background:#e1f7ec;
  color:#16633d
}

.partner-form__notice--error{
  background:#fff0f0;
  color:#9e2b2b
}

.partner-form-success{
  box-sizing:border-box;
  max-width:800px;
  min-height:360px;
  margin:auto;
  padding:62px 28px;
  border:1px solid color-mix(in srgb,var(--p) 16%,transparent);
  border-radius:20px;
  background:var(--color-block,var(--color-bg));
  box-shadow:0 14px 36px #0d37400f;
  text-align:center
}

.partner-form-success__icon{
  display:grid;
  width:72px;
  height:72px;
  margin:0 auto 22px;
  place-items:center;
  border-radius:50%;
  background:#e1f7ec;
  color:#16804a
}

.partner-form-success__icon svg{
  width:35px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2.3
}

.partner-form-success h3{
  margin:0 0 12px;
  font-size:25px
}

.partner-form-success p{
  max-width:500px;
  margin:auto;
  color:var(--color-font-light,var(--pt));
  line-height:1.65
}

.partner-form__grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:19px
}

.partner-form label{
  font-size:13px;
  font-weight:700
}

.partner-form label span{
  display:block;
  margin-bottom:8px
}

.partner-form input,.partner-form select,.partner-form textarea{
  box-sizing:border-box;
  display:block;
  width:100%;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--pt) 18%,transparent);
  border-radius:9px;
  background:transparent;
  color:inherit;
  font:14px inherit;
  outline:0
}

.partner-form input:focus,.partner-form select:focus,.partner-form textarea:focus{
  border-color:var(--p);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 15%,transparent)
}

.partner-form textarea{
  resize:vertical;
  line-height:1.5
}

.partner-form__full{
  grid-column:1/-1
}

.partner-form__optional.is-hidden{
  display:none
}

.partner-field-error{
  display:block;
  margin-top:7px;
  color:#9e2b2b;
  font-size:13px;
  font-weight:500
}

.partner-captcha{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  align-items:center
}

.partner-captcha input{
  width:220px;
  margin-top:10px;
}

.partner-form__actions{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:16px;
  margin-top:25px;
}

.partner-form__actions p{
  max-width:370px;
  margin:0;
  font-size:12px;
  line-height:1.5;
  color:var(--color-font-light,var(--pt));
  text-align:center;
}

.partner-form__actions a{
  color:var(--p)
}

@media(max-width:900px){
  .partner-hero{
    padding:80px 0 74px
  }

  .partner-hero__inner{
    max-width:700px
  }

  .partner-cards{
    grid-template-columns:repeat(2,1fr)
  }

  .partner-card{
    min-height:315px
  }

  .partner-sim{
    gap:35px
  }

  .partner-rack{
    height:290px
  }
}

@media(max-width:720px){
  .partner-container,.partner-container--wide{
    width:min(calc(100% - 32px),620px)
  }

  .partner-sim{
    grid-template-columns:1fr;
  }

  .partner-rack{
    order:-1;
    max-width:520px;
    width:100%;
    margin:0 auto;
  }

  .partner-banner>.partner-container{
    align-items:flex-start;
    flex-direction:column;
  }

  .partner-banner .partner-btn{
    width:100%;
  }
}

@media(max-width:620px){
  .partner-container,.partner-container--wide{
    width:calc(100% - 28px)
  }

  .partner-hero{
    padding:68px 0
  }

  .partner-hero:before{
    background:linear-gradient(90deg,rgba(4,25,34,.8),rgba(5,35,45,.68)),linear-gradient(0deg,rgba(3,22,30,.4),transparent 55%)
  }

  .partner-hero__art,.partner-banner__art{
    opacity:.2
  }

  .partner-hero p{
    font-size:16px
  }

  .partner-section{
    padding:57px 0
  }

  .partner-cards,.partner-media,.partner-form__grid{
    grid-template-columns:1fr
  }

  .partner-card{
    min-height:0;
    padding:25px
  }

  .partner-rack{
    height:250px
  }

  .partner-form-section{
    padding-top:57px
  }

  .partner-form{
    padding:20px
  }

  .partner-form-success{
    min-height:0;
    padding:44px 20px
  }

  .partner-form__actions .partner-btn,.partner-actions .partner-btn{
    width:100%
  }

  .partner-hero__facts{
    line-height:2
  }

  .partner-hero__facts i{
    margin:0 6px
  }
}

@media(max-width:380px){
  .partner-hero h1{
    font-size:36px
  }

  .partner-heading h2,.partner-sim h2,.partner-banner h2{
    font-size:28px
  }

  .partner-form{
    padding:16px
  }

  .partner-captcha .g-recaptcha{
    transform:scale(.89);
    transform-origin:center;
  }

  .partner-captcha{
    min-height:70px
  }
}
