:root{
  --brand-navy:#1B3D60;
  --brand-teal:#3EA7AA;
  --brand-bg:#F6F8F9;
}

body{
  background: var(--brand-bg);
}

.btn-brand{
  background: var(--brand-teal);
  border-color: var(--brand-teal);
  color:#fff;
}
.btn-brand:hover{ filter: brightness(0.95); }

.text-brand{ color: var(--brand-navy); }
.border-soft{ border:1px solid rgba(27,61,96,.10); }
.card-soft{ border-radius: 18px; }
.shadow-soft{ box-shadow: 0 10px 30px rgba(0,0,0,.06); }

.navbar-brand img{ height: 34px; }
.hero{
  background: linear-gradient(180deg, rgba(62,167,170,.10), rgba(27,61,96,.04));
}

.accordion-item{
  border-radius: 14px;
  overflow: hidden;
  background:#fff;
}

.accordion-button{
  padding: 1rem 1.1rem;
  font-weight: 600;
}

.accordion-button:not(.collapsed){
  color: var(--brand-navy);
  background: rgba(62,167,170,.08);
  box-shadow: none;
}

.accordion-button:focus{
  box-shadow: none;
}

.step-number{
  width: 56px;
  height: 56px;
  border-radius: 50%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(62,167,170,.12);
  color: var(--brand-navy);
  font-size: 22px;
  font-weight: 700;
}

.section-head{
  text-align: center;
  margin-bottom: 1.5rem;
}

.section-kicker{
  display: inline-block;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .8rem;
  color: rgba(27,61,96,.75);
  background: rgba(62,167,170,.10);
  padding: .35rem .6rem;
  border-radius: 999px;
  border: 1px solid rgba(27,61,96,.10);
}

.section-title{
  margin-top: .75rem;
  margin-bottom: .5rem;
}

.section-subtitle{
  color: rgba(0,0,0,.55);
  max-width: 760px;
  margin: 0 auto;
}

.icon-badge{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(62,167,170,.12);
  color: var(--brand-navy);
  font-size: 20px;
}

.feature-card{
  background:#fff;
  border: 1px solid rgba(27,61,96,.10);
  border-radius: 18px;
  padding: 1.25rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  height: 100%;
}

.checklist{
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.checklist li{
  display: flex;
  gap: .6rem;
  padding: .45rem 0;
  color: rgba(0,0,0,.75);
}
.checklist i{
  color: var(--brand-teal);
  margin-top: .1rem;
}


.who-card{
  background:#fff;
  border: 2px solid rgba(62,167,170,.45);
  border-radius: 24px;
  padding: 2.8rem 3rem 2.5rem;
  box-shadow: 0 25px 50px rgba(0,0,0,.10);
  text-align: center;
  position: relative;
}


.who-card-badge{
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px;
  background: transparent;
  z-index: 2;
}

/* сама плашка */
.who-card-badge span{
  display: inline-block;
  background: #EAF7F7;
  border: 1px solid rgba(62,167,170,.55);
  color: var(--brand-navy);
  padding: .45rem 1.1rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: .85rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow:
    0 6px 14px rgba(62,167,170,.25),
    inset 0 0 0 1px rgba(255,255,255,.6);
}


.who-subtitle{
  color: rgba(0,0,0,.55);
  margin-bottom: 1.5rem;
}

.who-divider{
  height: 1px;
  background: rgba(27,61,96,.15);
  margin: 1.5rem 0;
}

.who-list{
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 620px;
  text-align: left;
}

.who-list li{
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .6rem 0;
  font-size: 1.05rem;
}

.who-check{
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #3EA7AA;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  flex:0 0 22px;
}

.who-actions{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
}

.hero{
  background: linear-gradient(180deg, rgba(62,167,170,.10), rgba(27,61,96,.04));
}

.hero-pill{
  display:inline-block;
  padding:.4rem .9rem;
  border-radius:999px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(27,61,96,.10);
  font-weight: 700;
  color: rgba(27,61,96,.85);
}

.hero-lead{
  color: rgba(0,0,0,.65);
}

.hero-point{
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(27,61,96,.10);
  border-radius: 14px;
  padding: .75rem .85rem;
  display:flex;
  align-items:center;
  gap:.6rem;
  color: rgba(0,0,0,.75);
  font-weight: 600;
}

.hero-point i{
  color: var(--brand-teal);
  font-size: 18px;
}

.hero-form-card{
  background:#fff;
  border-radius: 18px;
  border: 1px solid rgba(27,61,96,.10);
  box-shadow: 0 20px 40px rgba(0,0,0,.08);
}

