.index-page #home-patterns-title{
  scroll-margin-top: 112px;
}
.index-page .home-patterns{
  padding: clamp(88px, 11vw, 156px) 0 clamp(96px, 12vw, 168px);
  border-top: 1px solid rgba(255, 255, 255, .06);
  color: var(--white);
  background:
    radial-gradient(circle at 8% 8%, rgba(12, 181, 99, .08), transparent 30%),
    #171617;
}
.index-page .home-patterns__inner{
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
}
.index-page .home-patterns__overview{
  display: grid;
  align-items: start;
  gap: clamp(44px, 7vw, 92px);
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
}
.index-page .home-patterns__copy{
  padding-top: 0;
}
.index-page .home-patterns__eyebrow{
  margin: 0 0 14px;
  color: #078b4b;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.index-page .home-patterns__copy h2{
  max-width: 760px;
  margin: 0;
  font-family: DelaGothicOne, Arial, sans-serif;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.02em;
  text-transform: uppercase;
  text-wrap: balance;
}
.index-page .home-patterns__lead{
  max-width: 720px;
  margin: 26px 0 0;
  color: var(--gray-300);
  font-family: Montserrat, Arial, sans-serif;
  font-size: clamp(16px, 1.45vw, 19px);
  line-height: 1.65;
}
.index-page .home-patterns__facts{
  margin: clamp(38px, 5vw, 58px) 0 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.index-page .home-patterns__facts > div{
  display: grid;
  padding: 19px 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  align-items: baseline;
  gap: 14px 28px;
  grid-template-columns: minmax(150px, .62fr) minmax(0, 1.38fr);
}
.index-page .home-patterns__facts dt,
.index-page .home-patterns__facts dd{
  margin: 0;
  font-family: Montserrat, Arial, sans-serif;
}
.index-page .home-patterns__facts dt{
  color: var(--white);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
}
.index-page .home-patterns__facts dd{
  color: var(--gray-300);
  font-size: 14px;
  line-height: 1.55;
}
.index-page .home-patterns__link{
  display: inline-flex;
  min-height: 52px;
  margin-top: 28px;
  padding: 12px 18px;
  border: 1px solid rgba(7, 139, 75, .42);
  border-radius: 14px;
  box-sizing: border-box;
  align-items: center;
  gap: 12px;
  color: var(--white);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
  background: rgba(12, 181, 99, .07);
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}
.index-page .home-patterns__link span{
  color: #078b4b;
  font-size: 19px;
}
.index-page .home-patterns__link:hover{
  border-color: #078b4b;
  color: var(--white);
  text-decoration: none;
  background: rgba(12, 181, 99, .14);
  transform: translateY(-1px);
}
.index-page .home-patterns__media{
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 26px;
  box-shadow: 0 24px 70px rgba(15, 12, 15, .16);
  background: #d8d7d4;
}
.index-page .home-patterns__media img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1122 / 1402;
  object-fit: cover;
}
.index-page .home-patterns__media figcaption{
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 13px;
  color: #fff;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.5;
  background: rgba(15, 12, 15, .76);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.index-page .home-patterns-form-wrap__intro h3{
  margin: 0;
  font-family: Montserrat, Arial, sans-serif;
  font-size: clamp(26px, 2.4vw, 34px);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -.02em;
}
.index-page .home-patterns-form-wrap{
  display: grid;
  margin-top: clamp(78px, 9vw, 118px);
  padding: clamp(36px, 5vw, 64px);
  border-radius: 26px;
  box-sizing: border-box;
  gap: clamp(36px, 5vw, 72px);
  grid-template-columns: minmax(280px, .75fr) minmax(460px, 1.25fr);
  color: #fff;
  background:
    radial-gradient(circle at 12% 18%, rgba(12, 181, 99, .16), transparent 34%),
    #0f0c0f;
}
.index-page .home-patterns-form-wrap__intro > p:not(.home-patterns__eyebrow){
  margin: 22px 0 0;
  color: var(--gray-300);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}
.index-page .home-patterns-form-wrap__intro .home-patterns-form-wrap__note{
  margin-top: 28px;
  padding: 16px 0 0 18px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  border-left: 2px solid var(--green);
  color: #8f8b8f;
  font-size: 13px;
}
.index-page .home-patterns-form{
  position: relative;
  display: grid;
  min-width: 0;
  gap: 20px;
  font-family: Montserrat, Arial, sans-serif;
}
.index-page .home-patterns-form__trap{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.index-page .home-patterns-form__grid{
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.index-page .home-patterns-field{
  min-width: 0;
}
.index-page .home-patterns-field--wide{
  grid-column: 1 / -1;
}
.index-page .home-patterns-field > label:not(.home-patterns-policy){
  display: block;
  margin: 0 0 8px;
  color: #d7d5d7;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
.index-page .home-patterns-field > label span{
  color: var(--green);
}
.index-page .home-patterns-field input[type='text'],
.index-page .home-patterns-field input[type='tel'],
.index-page .home-patterns-field input[type='email'],
.index-page .home-patterns-field textarea{
  width: 100%;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  box-sizing: border-box;
  color: #fff;
  font: inherit;
  font-size: 16px;
  background: #242124;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.index-page .home-patterns-field input[type='text'],
.index-page .home-patterns-field input[type='tel'],
.index-page .home-patterns-field input[type='email']{
  height: 54px;
  padding: 0 16px;
}
.index-page .home-patterns-field textarea{
  min-height: 116px;
  padding: 15px 16px;
  line-height: 1.45;
  resize: vertical;
}
.index-page .home-patterns-field input::placeholder,
.index-page .home-patterns-field textarea::placeholder{
  color: #777177;
}
.index-page .home-patterns-field input:focus,
.index-page .home-patterns-field textarea:focus{
  border-color: var(--green);
  background: #292629;
  box-shadow: 0 0 0 4px rgba(12, 181, 99, .12);
}
.index-page .home-patterns-policy{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: #d7d5d7;
  font-size: 14px;
  line-height: 1.45;
}
.index-page .home-patterns-policy input{
  display: block !important;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 5px;
  box-sizing: border-box;
  flex: 0 0 20px;
  background: #242124;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.index-page .home-patterns-policy input:checked{
  border-color: var(--green);
  background-color: var(--green);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%230f0c0f' d='M6.2 11.4 2.7 7.9l1.2-1.2 2.3 2.3 5.9-5.9 1.2 1.2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px 15px;
}
.index-page .home-patterns-policy a{
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.index-page .home-patterns-field__error{
  display: none;
  margin: 6px 0 0;
  color: #ffabab;
  font-size: 12px;
  line-height: 1.4;
}
.index-page .home-patterns-field.is-error .home-patterns-field__error{
  display: block;
}
.index-page .home-patterns-field.is-error input[type='text'],
.index-page .home-patterns-field.is-error input[type='tel'],
.index-page .home-patterns-field.is-error input[type='email'],
.index-page .home-patterns-field.is-error textarea,
.index-page .home-patterns-field.is-error input[type='checkbox']{
  border-color: #d83131;
}
.index-page .home-patterns-form__message{
  display: none;
  margin: 0;
  padding: 14px 16px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.45;
}
.index-page .home-patterns-form__message--success{
  display: block;
  border: 1px solid rgba(12, 181, 99, .3);
  color: #7dffbd;
  background: rgba(12, 181, 99, .14);
}
.index-page .home-patterns-form__message--error{
  display: block;
  border: 1px solid rgba(216, 49, 49, .32);
  color: #ffabab;
  background: rgba(216, 49, 49, .14);
}
.index-page .home-patterns-form__submit{
  min-height: 56px;
  padding: 16px 24px;
  border: 1px solid var(--green);
  border-radius: 14px;
  color: var(--broneplenka-auto-bg);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  background: var(--green);
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease, opacity 180ms ease;
}
.index-page .home-patterns-form__submit:hover:not(:disabled){
  border-color: #0a9e56;
  background: #0a9e56;
  transform: translateY(-1px);
}
.index-page .home-patterns-form__submit:disabled{
  opacity: .65;
  cursor: wait;
}
.index-page .home-patterns__link:focus-visible,
.index-page .home-patterns-field input:focus-visible,
.index-page .home-patterns-field textarea:focus-visible,
.index-page .home-patterns-policy input:focus-visible,
.index-page .home-patterns-form__submit:focus-visible{
  outline: 3px solid #078b4b;
  outline-offset: 4px;
}
@media (max-width: 900px){
.index-page .home-patterns__overview,
.index-page .home-patterns-form-wrap{
    grid-template-columns: minmax(0, 1fr);
  }
.index-page .home-patterns__media{
    width: min(620px, 100%);
  }
}
@media (max-width: 640px){
.index-page .home-patterns{
    padding: 72px 0 88px;
  }
.index-page .home-patterns__inner{
    width: calc(100% - 32px);
  }
.index-page .home-patterns__overview{
    gap: 34px;
  }
.index-page .home-patterns__copy h2{
    font-size: clamp(24px, 6.8vw, 30px);
    word-break: normal;
  }
.index-page .home-patterns__lead{
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.55;
  }
.index-page .home-patterns__facts{
    margin-top: 32px;
  }
.index-page .home-patterns__facts > div{
    gap: 8px;
    grid-template-columns: minmax(0, 1fr);
  }
.index-page .home-patterns__link{
    width: 100%;
    justify-content: space-between;
  }
.index-page .home-patterns__media{
    border-radius: 18px;
  }
.index-page .home-patterns__media figcaption{
    right: 12px;
    bottom: 12px;
    left: 12px;
  }
.index-page .home-patterns-form-wrap{
    margin-top: 68px;
  }
.index-page .home-patterns-form-wrap__intro h3{
    font-size: 23px;
  }
.index-page .home-patterns-form-wrap{
    padding: 28px 22px;
    border-radius: 18px;
    gap: 32px;
  }
.index-page .home-patterns-form__grid{
    grid-template-columns: minmax(0, 1fr);
  }
.index-page .home-patterns-field--wide{
    grid-column: auto;
  }
}

/* Approved variant 2; isolated broneplenka auto referral component. */
.home-referral{padding:72px 24px;background:#0f0c0f}
.home-referral__inner{max-width:1180px;margin:auto}
.home-referral h2,.home-referral h3,.home-referral p{margin:0}
.home-referral h2{font:400 clamp(28px,3.1vw,44px)/1.22 DelaGothicOne,sans-serif;letter-spacing:-.025em;text-wrap:balance}
.home-referral p{color:#b1b1b1;font-size:17px;line-height:1.65}
.home-referral .home-referral__eyebrow{font:500 12px/1.4 Montserrat,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#0cb563;margin-bottom:20px}
.home-referral .home-referral__cta{display:inline-flex;align-items:center;justify-content:center;padding:18px 26px;min-height:60px;border-radius:10px;background:#0cb563;color:#fff;text-decoration:none;font-size:17px;font-weight:500;line-height:1.4;text-align:center;transition:background .15s}
.home-referral .home-referral__cta:hover{background:#099950}
.home-referral .home-referral__cta:active{transform:translateY(1px)}
.home-referral .home-referral__intro{max-width:850px}
.home-referral .home-referral__intro p{margin-top:24px;max-width:720px}
.home-referral .home-referral__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:44px 0 36px}
.home-referral .home-referral__step{border-top:1px solid #393539;padding-top:24px}
.home-referral .home-referral__step b{display:block;color:#0cb563;font:400 32px/1 DelaGothicOne,sans-serif;margin-bottom:24px}
.home-referral .home-referral__step h3{font:500 20px/1.45 Montserrat,sans-serif}
.home-referral,.home-referral *{box-sizing:border-box}.home-referral .home-referral__cta:focus-visible{outline:3px solid #fff;outline-offset:5px}
@media(max-width:800px){.home-referral .home-referral__grid{gap:22px}.home-referral .home-referral__step h3{font-size:17px}}
@media(max-width:600px){.home-referral{padding:48px 20px}.home-referral h2{font-size:26px}.home-referral p{font-size:15px}.home-referral .home-referral__cta{width:100%;font-size:16px;padding:16px 18px}.home-referral .home-referral__grid{grid-template-columns:1fr;margin:32px 0;gap:24px}.home-referral .home-referral__step{display:grid;grid-template-columns:42px 1fr;gap:14px;padding-top:20px}.home-referral .home-referral__step b{font-size:24px;margin:2px 0}.home-referral .home-referral__step h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.home-referral .home-referral__cta{transition:none}}

.index-page .home-patterns,.index-page .home-patterns *{box-sizing:border-box}

.index-page .home-referral{color:var(--white)}
