@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/font-8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-montserrat-500.ttf) format('truetype');
}
/* Figma bases: 1440 desktop, 782 tablet, 402 mobile (frame name: 390).
   One rem is one design pixel. The root scales smoothly between reference sizes. */
:root {
  --ink:#103626;
  --green:#057d58;
  --blue:#057d58;
  --light:#edf7f2;
  font-size:min(1px,calc(100vw / 1440));
  scroll-behavior:smooth
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  color:var(--ink);
  background:#fff;
  font:400 16rem/1.5 Inter,Arial,sans-serif
}
h1,h2,h3,p,ul,ol {
  margin:0
}
ul,ol {
  padding:0;
  list-style:none
}
h1,h2,h3 {
  font-family:Nunito,Arial,sans-serif
}
h2 {
  font-size:42rem;
  line-height:52.5rem;
  font-weight:800
}
button,input,select {
  font:inherit
}
button,a,input,select,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button,a {
  touch-action:manipulation
}
button {
  border:0
}
a {
  color:inherit;
  text-decoration:none
}
img {
  display:block;
  max-width:100%
}
button {
  background:transparent;
  color:inherit;
  padding:0
}
button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3rem solid #1aa16c;
  outline-offset:4rem
}
input:focus,select:focus {
  outline:2rem solid #1aa16c;
  outline-offset:1rem
}
[hidden] {
  display:none!important
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0
}
.container {
  width:1440rem;
  max-width:100%;
  padding:0 40rem;
  margin:0 auto
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50rem;
  padding:13rem 32rem;
  background:var(--green);
  border-radius:10rem;
  color:#fff;
  font:700 18rem/24rem Nunito,Arial,sans-serif;
  text-align:center
}
.button-white {
  background:#fff;
  color:var(--green)
}
.button-outline {
  background:#fff;
  color:var(--green);
  border:2rem solid var(--green)
}
.eyebrow {
  height:24rem;
  padding-top:3.5rem;
  color:#1aa16c;
  font-size:14rem;
  font-weight:500;
  line-height:18rem;
  letter-spacing:2.5rem;
  text-transform:uppercase
}
.section-heading {
  text-align:center
}
.section-heading h2 {
  margin-top:12rem
}
.section-description {
  max-width:580rem;
  margin:16rem auto 0;
  color:#555;
  font-size:17rem;
  line-height:28.05rem
}
.site-header {
  height:79rem;
  background:#fff
}
.header-inner {
  width:1440rem;
  max-width:100%;
  height:100%;
  padding:0 40rem;
  margin:auto;
  display:flex;
  align-items:center
}
.brand {
  width:280.257rem;
  flex:none
}
.brand img {
  width:100%;
  height:auto
}
.desktop-nav {
  display:flex;
  align-items:center;
  gap:18rem;
  margin-left:200rem
}
.header-inner>.claim-header {
  margin-left:auto
}
.nav-link {
  font-size:13.255rem;
  line-height:20rem;
  font-weight:500;
  letter-spacing:-.3977rem;
  white-space:nowrap
}
.nav-link:last-child {
  color:var(--green)
}
.claim-header {
  margin-left:18rem;
  width:144.724rem;
  height:46.298rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#bb1f70;
  border-radius:3.787rem;
  color:#fff;
  font-weight:600;
  font-size:13.255rem
}
.mobile-menu {
  display:none
}
.hero {
  height:500rem;
  background:#315d61 url('assets/hero.png') center/cover no-repeat;
  position:relative
}
.hero::before {
  content:'';
  position:absolute;
  inset:0;
  background:none
}
.hero-inner {
  position:relative;
  height:100%;
  display:flex;
  align-items:center
}
.hero-copy {
  position:relative;
  width:826.042rem;
  height:374rem
}
.hero-eyebrow {
  position:absolute;
  left:0;
  top:0;
  color:#6ee3ab;
  font-size:14rem;
  line-height:19.5rem;
  font-weight:500;
  letter-spacing:2rem;
  text-transform:uppercase
}
.hero h1 {
  position:absolute;
  left:0;
  top:48rem;
  width:826.042rem;
  font-weight:800;
  font-size:58rem;
  line-height:62.64rem;
  color:#fff
}
.hero-price {
  position:absolute;
  left:0;
  top:202rem;
  font-size:24rem;
  font-weight:500;
  line-height:22.5rem;
  letter-spacing:.5rem;
  color:#e8ede9
}
.hero-price strong {
  font-weight:700;
  color:#6ee3ab
}
.hero .button-white {
  position:absolute;
  left:0;
  top:253rem;
  min-height:54rem;
  background:#fff;
  color:#057d58
}
.hero-note {
  position:absolute;
  left:0;
  top:335rem;
  color:#fff;
  font-size:13rem;
  font-weight:500;
  line-height:19.5rem
}
.hero-badge {
  position:absolute;
  right:40rem;
  top:41rem;
  width:274.602rem;
  min-height:133rem;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  border:none;
  border-radius:14rem;
  padding:20rem 28rem;
  background:linear-gradient(-80.72deg,rgba(20,71,55,.68) 3.31%,rgba(73,162,119,.68) 122.51%);
  backdrop-filter:blur(14rem);
  color:#fff
}
.hero-badge>span {
  color:#6ee3ab;
  font-size:12rem;
  font-weight:500;
  line-height:16.5rem;
  letter-spacing:1.8rem;
  text-transform:uppercase
}
.hero-badge strong {
  margin-top:4rem;
  font:800 48rem/48rem Nunito,Arial,sans-serif
}
.hero-badge small {
  margin-top:4rem;
  font-size:14rem;
  line-height:18rem;
  color:#edf7f2
}
.coverage {
  padding:88rem 0;
  background:#f8faf9;
  min-height:578rem
}
.coverage-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24rem;
  margin-top:32rem
}
.coverage-card {
  display:flex;
  align-items:flex-start;
  gap:20rem;
  background:white;
  border:1rem solid #1aa16c;
  border-radius:18rem;
  padding:32rem;
  box-shadow:0 4rem 10rem #0000001a;
  min-height:180rem
}
.coverage-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:80rem;
  height:80rem;
  border-radius:17.5rem;
  background:#edf7f2
}
.coverage-icon img {
  width:60rem;
  height:60rem;
  object-fit:contain
}
.coverage-card:first-child .coverage-icon img {
  width:64rem;
  height:64rem
}
.coverage-card h3 {
  color:var(--green);
  font-size:24rem;
  line-height:30rem;
  font-weight:700;
  white-space:nowrap
}
.coverage-card p {
  font-size:15rem;
  line-height:20rem;
  margin-top:4rem
}
.objects {
  padding:88rem 0;
  background:#fff;
  min-height:780rem
}
.objects .section-description {
  max-width:620rem
}
.objects-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16rem;
  margin-top:48rem;
  align-items:stretch
}
.object-card {
  display:flex;
  align-items:stretch;
  min-height:96rem;
  height:auto;
  border:1.5rem solid #1aa16c;
  border-radius:14rem;
  background:#f8fafbcc;
  box-shadow:0 4rem 15rem #0000001a
}
.object-icon {
  width:110rem;
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  padding:16rem 0;
  border-right:1.5rem solid #1aa16c80
}
.object-icon img {
  width:56rem;
  height:56rem;
  object-fit:contain
}
.object-card:nth-child(3) img {
  width:44rem;
  height:40rem
}
.object-card h3 {
  display:flex;
  align-items:center;
  padding:16rem 24rem;
  color:var(--green);
  font-size:20rem;
  line-height:25rem;
  font-weight:700;
  overflow-wrap:anywhere
}
.objects-note {
  max-width:780rem;
  margin:32rem auto 0;
  font-size:13rem;
  line-height:20.8rem;
  text-align:center;
  color:#888
}
.tariffs {
  padding:88rem 0;
  min-height:971rem;
  background:var(--green)
}
.tariffs .eyebrow {
  color:#6ee3ab
}
.tariffs h2 {
  color:#fff
}
.tariffs .section-description {
  max-width:none;
  color:#c8ead8;
  line-height:25.5rem
}
.tariff-grid {
  display:flex;
  align-items:center;
  gap:26rem;
  padding-top:50rem
}
.tariff-card {
  position:relative;
  flex:none;
  width:440rem;
  height:537rem;
  padding:33.5rem;
  border:1.5rem solid #ffffff1a;
  border-radius:20rem;
  background:#fff;
  box-shadow:0 4rem 12rem #00000038;
  color:var(--ink)
}
.tariff-top {
  display:flex;
  align-items:center;
  gap:20rem;
  height:60rem;
  margin-bottom:32rem
}
.tariff-top img {
  width:60rem;
  height:60rem
}
.tariff-top h3 {
  font:500 30rem/36rem Inter,Arial,sans-serif;
  color:#1a1919
}
.tariff-price {
  height:52rem;
  display:flex;
  align-items:baseline;
  font-family:Nunito;
  white-space:nowrap
}
.tariff-price strong {
  font-weight:800;
  font-size:57rem;
  line-height:48rem
}
.tariff-price>span {
  font-weight:800;
  font-size:37rem;
  line-height:28rem;
  margin-left:2rem
}
.tariff-price small {
  color:#8a8b8a;
  font:400 24rem/22.5rem Inter;
  margin-left:3rem
}
.tariff-divider {
  height:1rem;
  background:#e8ede9;
  margin:29rem 0
}
.sum-label {
  font-weight:500;
  font-size:11rem;
  line-height:16.5rem;
  letter-spacing:1.6rem;
  text-transform:uppercase;
  color:#8a8b8a;
  white-space:nowrap
}
.tariff-sum {
  font:700 26rem/39rem Nunito;
  margin-top:4rem;
  margin-bottom:24rem
}
.tariff-benefits {
  display:flex;
  flex-direction:column;
  gap:10rem;
  font-size:14rem;
  line-height:21rem;
  color:#444
}
.tariff-benefits li {
  display:flex;
  gap:12rem;
  align-items:flex-start
}
.tariff-benefits img {
  flex:none;
  width:16rem;
  height:16rem;
  margin-top:2rem
}
.select-tariff {
  position:absolute;
  left:33.5rem;
  right:33.5rem;
  bottom:24rem;
  width:calc(100% - 67rem);
  height:54rem;
  min-height:0;
  padding:13rem 0;
  background:#fff;
  border:2rem solid var(--green);
  color:var(--green);
  font-size:18rem
}
.tariff-base .select-tariff {
  font-size:20rem
}
.tariff-optimal {
  height:554rem;
  padding:48rem 32rem 32rem;
  border:2rem solid #6ee3ab;
  background:#edf7f2
}
.tariff-optimal .select-tariff {
  bottom:26rem;
  background:var(--green);
  color:#fff
}
.tariff-optimal .tariff-divider {
  margin-top:24rem
}
.tariff-premium .tariff-top {
  margin-bottom:20rem
}
.tariff-premium .tariff-divider {
  margin:24rem 0
}
.tariff-premium .tariff-sum {
  margin-bottom:14rem
}
.recommended {
  position:absolute;
  top:-12rem;
  left:50%;
  transform:translateX(-50%);
  background:#6ee3ab;
  border-radius:30rem;
  padding:10rem 18rem;
  color:var(--green);
  font:600 14rem/18rem Inter;
  letter-spacing:2.5rem;
  text-transform:uppercase;
  white-space:nowrap
}
.tariffs-note {
  margin-top:40rem;
  color:#c8ead8;
  font-size:13rem;
  line-height:20rem
}
.application {
  background:#f0f4f2;
  padding:88rem 0;
  min-height:1040rem
}
.application-grid {
  display:grid;
  grid-template-columns:617.14rem 678.86rem;
  gap:64rem;
  align-items:start
}
.application-intro {
  padding-top:8rem
}
.application-intro h2 {
  font-size:42rem;
  line-height:48rem;
  max-width:430rem;
  margin-top:32rem
}
.application-description {
  font-size:17rem;
  line-height:28.05rem;
  margin-top:32rem;
  white-space:nowrap
}
.chosen-card {
  margin-top:32rem;
  padding:20rem 24rem;
  border:1rem solid #1aa16c;
  border-radius:14rem;
  background:#fff;
  display:flex;
  align-items:center;
  gap:20rem
}
.chosen-icon {
  width:60rem;
  height:60rem;
  flex:none
}
.chosen-details {
  display:flex;
  flex-direction:column;
  gap:4rem;
  flex:1
}
.chosen-details>span {
  font-size:12rem;
  line-height:18rem;
  color:#888
}
.chosen-details>strong {
  font:700 18rem/23rem Nunito
}
.chosen-details small {
  font-size:12rem;
  line-height:18rem;
  color:#888
}
#chosen-price {
  font:800 28rem/39rem Nunito;
  color:var(--green);
  white-space:nowrap
}
.application-benefits {
  margin-top:32rem;
  display:flex;
  flex-direction:column;
  gap:14rem;
  color:#555;
  font-size:16rem;
  line-height:24rem
}
.application-benefits li {
  display:flex;
  gap:12rem;
  align-items:flex-start
}
.application-benefits img {
  width:18rem;
  height:18rem;
  margin-top:3rem;
  flex:none
}
.insurance-form {
  padding:32rem;
  border-radius:20rem;
  background:#fff;
  box-shadow:0 4rem 16rem #00000014;
  min-width:0
}
fieldset {
  margin:0;
  padding:0;
  min-width:0;
  border:0
}
#insurance-details {
  display:flex;
  flex-direction:column;
  gap:28rem
}
.client-tabs {
  display:flex;
  gap:4rem;
  padding:4rem;
  border-radius:10rem;
  background:#1aa16c
}
.tab {
  flex:1;
  min-width:0;
  padding:10rem 0;
  height:42.5rem;
  border-radius:8rem;
  font:700 15rem/22.5rem Nunito;
  color:#ffffffd9;
  white-space:nowrap
}
.tab.active {
  background:#fff;
  color:var(--green)
}
.form-delivery {
  display:flex;
  align-items:center;
  gap:8rem;
  color:#8a8b8a;
  font:600 13rem/25.5rem Nunito
}
.form-delivery img {
  width:24rem;
  height:24rem;
  flex:none
}
.form-section {
  display:flex;
  flex-direction:column;
  gap:16rem
}
.form-section h3 {
  font:700 17rem/25.5rem Nunito
}
.field {
  display:flex;
  flex-direction:column;
  gap:4rem;
  color:#444;
  font-size:13rem;
  font-weight:500;
  line-height:19.5rem;
  min-width:0
}
.field b {
  font-weight:500;
  color:#e05050
}
.field input,.field select {
  width:100%;
  min-width:0;
  height:48.5rem;
  padding:13rem 16rem;
  border:0;
  border-radius:10rem;
  background:#f2f2f0;
  color:#333;
  font:400 15rem/22.5rem Inter
}
.field input::placeholder {
  color:#33333380;
  opacity:1
}
.field select {
  appearance:none;
  background:#f2f2f0 url('assets/select-arrow.svg') right 16rem center/14rem no-repeat;
  padding-right:44rem
}
.form-row {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12rem
}
.company-fields {
  display:flex;
  flex-direction:column;
  gap:16rem
}
.company-fields .field>span::after {
  content:' *';
  color:#e05050
}
.address-help {
  font-size:12rem;
  font-weight:400;
  line-height:18rem;
  color:#999;
  margin-top:4rem
}
.address-help[data-state="error"] {
  color:#a62d25
}
.address-help[data-state="warning"] {
  color:#936411
}
.consents {
  display:flex;
  flex-direction:column;
  gap:12rem
}
.consent {
  display:flex;
  align-items:flex-start;
  gap:12rem;
  font:400 13rem/16.25rem Inter;
  color:#444
}
.consent input {
  appearance:none;
  flex:none;
  width:20rem;
  height:20rem;
  margin:2rem 0 0;
  border:1.381rem solid #ccc;
  border-radius:5rem;
  background:#fff;
  cursor:pointer
}
.consent input:checked {
  border-color:var(--green);
  background:var(--green) url('assets/check-circle.svg') center/18rem no-repeat
}
.consent a {
  color:var(--green);
  text-decoration:underline;
  text-underline-offset:2rem
}
.consent-personal {
  order:1
}
.consent-terms {
  order:2
}
.consent-accuracy {
  order:3
}
.submit {
  width:100%;
  padding:16rem;
  min-height:59rem;
  border-radius:12rem;
  line-height:27rem
}
.success {
  padding:20rem;
  background:#edf7f2;
  border-radius:12rem;
  font-size:15rem
}
.success strong,.success span {
  display:block
}
.inline-payment {
  font-size:15rem
}
.inline-payment h3 {
  margin-bottom:20rem;
  font-size:24rem
}
.payment-summary {
  margin:0 0 24rem
}
.payment-summary>div {
  display:flex;
  justify-content:space-between;
  gap:20rem;
  padding:8rem 0
}
.payment-summary dd {
  margin:0;
  font-weight:700
}
.inline-payment .button {
  width:100%;
  margin-top:20rem
}
.address-suggestions {
  top:calc(100% + 7rem);
  max-height:300rem;
  padding:6rem;
  border-radius:11rem
}
.address-suggestion {
  padding:11rem 12rem;
  gap:4rem;
  border-radius:8rem
}
.address-suggestion-value {
  font-size:13rem
}
.address-suggestion small {
  font-size:10rem
}
.products {
  padding:76rem 0 80rem;
  min-height:822.625rem;
  background:var(--green);
  color:#fff
}
.products h2 {
  text-align:center
}
.products-grid {
  display:grid;
  grid-template-columns:repeat(2,438rem);
  justify-content:center;
  gap:24rem;
  margin-top:48rem
}
.product-card {
  overflow:hidden;
  border-radius:20rem;
  background:white;
  color:var(--ink);
  box-shadow:0 8rem 40rem #00000038;
  display:flex;
  flex-direction:column;
  min-height:565.625rem
}
.product-image {
  width:438rem;
  height:246.375rem;
  object-fit:cover
}
.product-body {
  flex:1;
  padding:28rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16rem
}
.product-body h3 {
  font-size:22rem;
  line-height:27.5rem;
  font-weight:700
}
.product-body p {
  font-size:16rem;
  line-height:20rem;
  color:#555;
  flex:1
}
.product-body .button {
  font-size:15rem;
  line-height:22.5rem;
  min-height:44.5rem;
  padding:11rem 24rem;
  margin-top:8rem
}
.steps {
  padding:96rem 0;
  background:#fff;
  min-height:660.469rem
}
.steps-grid {
  display:grid;
  grid-template-columns:533.33rem 746.66rem;
  column-gap:80rem;
  grid-template-rows:max-content 1fr
}
.steps-intro {
  grid-column:1;
  grid-row:1
}
.steps-intro h2 {
  line-height:46.2rem;
  margin-top:12rem
}
.steps-description {
  font-size:17rem;
  line-height:28.05rem;
  color:#555;
  margin-top:32rem
}
.steps-list {
  grid-column:2;
  grid-row:1/3
}
.steps-list li {
  display:flex;
  gap:24rem;
  position:relative;
  min-height:100.094rem
}
.step-number {
  flex:none;
  position:relative;
  z-index:1;
  width:52rem;
  height:52rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#edf7f2;
  font:800 18rem/27rem Nunito;
  color:var(--green)
}
.steps-list li:not(:last-child)::before {
  content:'';
  position:absolute;
  left:25.25rem;
  top:56rem;
  bottom:4rem;
  width:1.5rem;
  background:linear-gradient(#1aa16c,#c8ead8)
}
.steps-list p {
  padding:12rem 0 32rem;
  font-size:17rem;
  line-height:28.05rem;
  color:#333
}
.steps-list li:last-child {
  min-height:0
}
.steps-list li:last-child p {
  padding-bottom:0
}
.claim-button {
  grid-column:1;
  grid-row:2;
  align-self:start;
  justify-self:start;
  margin-top:32rem;
  min-height:53.5rem;
  border-radius:12rem
}
.faq {
  background:#f0f4f2;
  padding:71.18rem 0 50.5rem;
  min-height:0
}
.faq h2 {
  text-align:center;
  color:#000;
  line-height:62rem;
  letter-spacing:1.26rem
}
.faq-list {
  width:1200rem;
  max-width:100%;
  margin:32rem auto 0;
  display:flex;
  flex-direction:column;
  gap:13.934rem
}
.faq details {
  border:1.742rem solid #49a277;
  border-radius:17.417rem;
  padding:17.417rem 34.834rem 34.834rem;
  color:#000
}
.faq summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24rem;
  list-style:none;
  font:600 24.384rem/24.384rem Montserrat,Arial,sans-serif;
  letter-spacing:.7315rem;
  cursor:pointer;
  min-height:43.543rem
}
.faq summary::-webkit-details-marker {
  display:none
}
.faq summary img {
  width:43.543rem;
  height:43.543rem;
  flex:none
}
.faq details:not([open]) {
  padding-bottom:17.417rem
}
.faq details:not([open]) summary img {
  transform:rotate(180deg)
}
.faq details>p {
  max-width:900rem;
  margin-top:13.934rem;
  font:400 20.901rem/26.126rem Inter;
  letter-spacing:.627rem
}
.faq-cta {
  display:flex;
  width:372rem;
  min-height:54rem;
  margin:50rem auto 0;
  border-radius:12rem
}
.licenses {
  padding-top:100rem;
  min-height:562.5rem;
  color:#04070b
}
.licenses-inner {
  width:1200rem;
  margin:0 auto;
  max-width:100%
}
.licenses h2 {
  font-size:50rem;
  line-height:55rem
}
.licenses-grid {
  display:grid;
  grid-template-columns:495.652rem 1fr;
  gap:146.739rem;
  margin-top:41.304rem
}
.licenses-description {
  font-size:17.391rem;
  line-height:24.347rem
}
.documents {
  display:flex;
  flex-direction:column;
  gap:34.783rem
}
.document {
  display:flex;
  gap:21.739rem;
  align-items:flex-start;
  font-size:17.391rem;
  line-height:19.565rem
}
.document>img {
  width:71.196rem;
  height:90.326rem;
  flex:none
}
.document>span {
  display:flex;
  flex-direction:column;
  gap:15.217rem;
  max-width:449.315rem
}
.document-date {
  color:#464646;
  line-height:24.347rem;
  white-space:nowrap
}
.document:last-child {
  align-items:center
}
.footer {
  min-height:299rem;
  background:#fff
}
.footer-top {
  height:96rem;
  border-bottom:4rem solid #f2f4f8;
  max-width:1440rem;
  margin:auto;
  padding:0 105rem;
  display:flex;
  align-items:center;
  justify-content:space-between
}
.footer-brand {
  width:308rem;
  flex:none
}
.footer-brand img {
  width:100%
}
.footer-top nav {
  display:flex;
  gap:50rem
}
.footer-top .nav-link {
  font:600 16rem/15rem Nunito;
  letter-spacing:0
}
.footer-contacts {
  width:1200rem;
  margin:38.5rem auto 0;
  display:grid;
  grid-template-columns:307.5rem 512.5rem 1fr
}
.footer-contacts p {
  font:500 14rem/20rem Nunito;
  color:#7d899c
}
.footer-contacts button,.footer-contacts a {
  margin-top:26rem
}
.footer-phone button,.footer-phone-link {
  font:700 22rem/24rem Nunito;
  color:#2d2d2d
}
.footer-phone-link,.footer-icon-link {
  display:inline-flex;
  align-items:center;
  justify-content:center
}
.footer-contacts img {
  width:34rem;
  height:34rem
}
@media(min-width:601px) and (max-width:1023px) {
  html,body {
    max-width:100%;
    overflow-x:hidden
  }

  .coverage {
    padding-bottom:46.586rem
  }

  :root {
    font-size:calc(100vw / 782)
  }

  /*
   * Остальные tablet-секции пока используют старое масштабирование desktop layout.
   * Hero переводим на отдельную нативную tablet-композицию из Figma node 27:4741,
   * потому что CSS zoom на планшетах давал обрезание справа.
   */
  .scale-tablet {
    zoom:.5430555556;
    width:1440rem;
    margin:0 auto
  }

  .hero.scale-tablet {
    zoom:1;
    width:100%;
    margin:0
  }

  .hero {
    height:271.528rem;
    background-position:center;
    background-size:cover
  }

  .hero-inner {
    width:782rem;
    max-width:100%;
    height:271.528rem;
    padding:0 21.722rem;
    display:flex;
    align-items:center
  }

  .hero-copy {
    position:static;
    width:auto;
    height:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:16.948rem
  }

  .hero-eyebrow {
    position:static;
    font-size:10rem;
    line-height:11.803rem;
    letter-spacing:1.2106rem;
    white-space:nowrap
  }

  .hero h1 {
    position:static;
    width:500rem;
    font-size:35.107rem;
    line-height:37.916rem
  }

  .hero-price {
    position:static;
    font-size:14.527rem;
    line-height:13.619rem;
    letter-spacing:.3026rem;
    white-space:nowrap
  }

  .hero .button-white {
    position:static;
    min-height:auto;
    padding:7.869rem 19.369rem;
    border-radius:6.053rem;
    font-size:12rem;
    line-height:14.527rem
  }

  .hero-note {
    position:static;
    font-size:7.869rem;
    line-height:11.803rem
  }

  .hero-badge {
    right:21.726rem;
    top:22.27rem;
    width:149.124rem;
    min-height:72.214rem;
    padding:10.861rem 15.206rem;
    border-radius:7.603rem;
    backdrop-filter:blur(7.603rem)
  }

  .hero-badge>span {
    font-size:6.517rem;
    line-height:8.96rem;
    letter-spacing:.9775rem
  }

  .hero-badge strong {
    margin-top:2.172rem;
    font-size:26.067rem;
    line-height:26.067rem
  }

  .hero-badge small {
    margin-top:2.172rem;
    font-size:7.603rem;
    line-height:9.775rem
  }

  /* CoverageSection — exact tablet width from Figma node 27:4761. */
  .coverage {
    min-height:487.563rem;
    padding:47.789rem 0
  }

  .coverage .container {
    width:100%;
    max-width:782rem;
    padding:0 21.722rem;
    margin:0 auto
  }

  .coverage .section-heading {
    width:100%
  }

  .coverage h2 {
    width:100%;
    white-space:nowrap
  }

  .coverage .section-description {
    width:389.545rem;
    max-width:calc(100% - 32rem);
    margin-left:auto;
    margin-right:auto
  }
  .site-header {
    height:68.366rem
  }
  .header-inner {
    width:782rem;
    padding:0 21.036rem;
    justify-content:space-between
  }
  .brand {
    width:285.251rem
  }
  .desktop-nav,.header-inner>.claim-header {
    display:none
  }
  .mobile-menu {
    display:block;
    position:relative;
    z-index:20
  }
  .mobile-menu summary {
    list-style:none;
    width:42.072rem;
    height:42.072rem;
    cursor:pointer
  }
  .mobile-menu summary::-webkit-details-marker {
    display:none
  }
  .mobile-menu summary img {
    width:100%;
    height:100%
  }
  .mobile-menu nav {
    position:absolute;
    right:0;
    top:50rem;
    width:300rem;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:20rem;
    padding:24rem;
    border-radius:10rem;
    background:#fff;
    box-shadow:0 8rem 30rem #0003
  }
  .mobile-menu .nav-link {
    font-size:14rem
  }
  .mobile-menu .claim-header {
    margin:0;
    width:100%
  }
  .coverage {
    padding:47.789rem 0;
    min-height:502.563rem
  }
  .coverage .container {
    width:782rem;
    padding:0 21.722rem
  }
  .coverage .eyebrow {
    height:13.033rem;
    padding-top:1.9rem;
    font-size:10rem;
    line-height:9.775rem;
    letter-spacing:1.3576rem
  }
  .coverage h2 {
    font-size:30rem;
    line-height:28.51rem;
    margin-top:6.517rem
  }
  .coverage .section-description {
    font-size:11rem;
    line-height:15.233rem;
    max-width:389.545rem;
    margin-top:8.689rem
  }
  .coverage-grid {
    grid-template-columns:380rem;
    justify-content:center;
    gap:20rem;
    margin-top:17.378rem
  }
  .coverage-card {
    gap:10.861rem;
    padding:17.378rem;
    border-radius:9.775rem;
    min-height:79.286rem;
    box-shadow:0 2.172rem 5.431rem #0000001a
  }
  .coverage-card:first-child {
    min-height:88.014rem
  }
  .coverage-icon {
    width:43.444rem;
    height:43.444rem;
    border-radius:9.503rem
  }
  .coverage-icon img {
    width:32.583rem;
    height:32.583rem
  }
  .coverage-card:first-child .coverage-icon img {
    width:34.756rem;
    height:34.756rem
  }
  .coverage-card h3 {
    font-size:14rem;
    line-height:16.292rem
  }
  .coverage-card p {
    font-size:10rem;
    line-height:10.861rem;
    margin-top:2.172rem
  }
  .objects {
    min-height:800.694rem
  }
  .objects h2,.tariffs h2 {
    font-size:55.243rem
  }
  .objects .section-description {
    font-size:20.256rem;
    max-width:717.321rem
  }
  .objects .eyebrow,.tariffs .eyebrow {
    font-size:18.414rem
  }
  .objects-note {
    font-size:16.572rem
  }
  .application {
    min-height:1051.969rem
  }
  .application-intro h2 {
    font-size:44.194rem
  }
  .application-description {
    white-space:normal
  }
  .products {
    min-height:937.936rem
  }
  .products h2 {
    font-size:55.243rem
  }
  .products-grid {
    grid-template-columns:repeat(2,540rem)
  }
  .product-image {
    width:540rem;
    height:303.75rem
  }
  .product-card {
    min-height:666rem
  }
  .product-body p {
    font-size:22.097rem;
    line-height:28rem
  }
  .product-body h3 {
    font-size:29.463rem;
    line-height:36rem
  }
  .faq {
    padding-top:72.245rem
  }
  .faq-list {
    margin-top:32rem
  }
  .faq-cta {
    margin-top:40rem
  }
  .licenses {
    padding-top:108.611rem;
    min-height:682.403rem
  }
  .licenses-inner {
    width:533.259rem;
    margin-left:92.032rem
  }
  .licenses h2 {
    font-size:30rem;
    line-height:33rem
  }
  .licenses-grid {
    grid-template-columns:1fr;
    gap:34.783rem;
    margin-top:34.783rem
  }
  .licenses-description {
    width:434.436rem;
    font-size:15rem;
    line-height:21rem
  }
  .documents {
    gap:30.488rem
  }
  .document {
    gap:19.054rem;
    font-size:15.243rem;
    line-height:17.15rem
  }
  .document>img {
    width:62.402rem;
    height:79.166rem
  }
  .document>span {
    max-width:393.822rem;
    gap:13.338rem
  }
  .document-date {
    font-size:15.243rem;
    line-height:21.34rem
  }
  .footer {
    min-height:228.239rem
  }
  .footer-top {
    height:62.5rem;
    padding:0 18rem;
    gap:24rem
  }
  .footer-brand {
    width:230rem
  }
  .footer-top nav {
    gap:20rem
  }
  .footer-top .nav-link {
    font-size:10.42rem;
    line-height:9.767rem
  }
  .footer-contacts {
    width:645rem;
    grid-template-columns:285.984rem 224.984rem 1fr;
    margin:30rem auto 0
  }
  .footer-contacts p {
    font-size:17rem;
    line-height:25rem
  }
  .footer-phone button {
    font-size:27rem;
    line-height:30rem
  }
  .footer-contacts button {
    margin-top:24.943rem
  }
  .footer-contacts img {
    width:41.4rem;
    height:41.4rem
  }
}
@media(max-width:600px) {
  :root {
    font-size:calc(100vw / 402)
  }
  body {
    font-size:14rem
  }
  .container {
    width:402rem;
    padding:0 16rem
  }
  .scale-tablet {
    zoom:1;
    width:auto
  }
  .site-header {
    height:60rem
  }
  .header-inner {
    padding:0 19rem 0 10rem;
    justify-content:space-between
  }
  .brand {
    width:271.205rem
  }
  .desktop-nav,.header-inner>.claim-header {
    display:none
  }
  .mobile-menu {
    display:block;
    position:relative;
    z-index:20
  }
  .mobile-menu summary {
    list-style:none;
    width:40rem;
    height:40rem;
    cursor:pointer
  }
  .mobile-menu summary::-webkit-details-marker {
    display:none
  }
  .mobile-menu summary img {
    width:40rem;
    height:40rem
  }
  .mobile-menu nav {
    position:absolute;
    right:0;
    top:48rem;
    width:290rem;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:20rem;
    padding:22rem;
    background:#fff;
    box-shadow:0 8rem 30rem #0003;
    border-radius:10rem
  }
  .mobile-menu .nav-link {
    font-size:14rem
  }
  .mobile-menu .claim-header {
    margin:0;
    width:100%
  }
  .button {
    font-size:16rem;
    line-height:24rem
  }
  .hero {
    height:520rem;
    background:#315d61 url('assets/hero-mobile.png') center/cover no-repeat
  }
  .hero::before {
    background:none
  }
  .hero-inner {
    display:block
  }
  .hero-copy {
    position:relative;
    display:block;
    width:100%;
    height:100%;
    max-width:100%
  }
  .hero-eyebrow {
    position:absolute;
    left:16rem;
    top:26.32rem;
    font-size:11rem;
    line-height:16.5rem;
    white-space:nowrap
  }
  .hero h1 {
    position:absolute;
    left:16rem;
    top:63.32rem;
    font-size:32rem;
    line-height:38.88rem;
    width:370rem
  }
  .hero-break {
    display:block;
    height:0
  }
  .hero-price {
    position:absolute;
    left:16rem;
    top:189.64rem;
    font-size:14rem;
    line-height:21rem;
    letter-spacing:.5rem;
    white-space:nowrap
  }
  .hero .button {
    position:absolute;
    top:406.32rem;
    left:16rem;
    min-height:46.5rem;
    padding:12rem 24rem;
    font-size:15rem;
    line-height:22.5rem
  }
  .hero-note {
    position:absolute;
    left:16rem;
    top:473.32rem;
    font-size:12rem;
    line-height:18rem;
    font-weight:400
  }
  .hero-badge {
    display:none
  }
  h2 {
    font-size:24rem;
    line-height:35rem
  }
  .eyebrow {
    font-size:12rem;
    line-height:18rem;
    letter-spacing:2.5rem;
    padding-top:2.525rem;
    height:24rem
  }
  .section-heading h2 {
    margin-top:12rem
  }
  .section-description {
    max-width:370rem;
    margin-top:16rem;
    font-size:14rem;
    line-height:20rem
  }
  .coverage {
    padding:56rem 0;
    min-height:940rem
  }
  .coverage-grid {
    grid-template-columns:364.447rem;
    gap:10rem;
    margin-top:40rem
  }
  .coverage-card {
    flex-direction:column;
    gap:16.667rem;
    padding:26.667rem;
    border-radius:15rem;
    border-width:.833rem;
    min-height:0;
    box-shadow:0 3.333rem 8.333rem #0000001a
  }
  .coverage-icon {
    width:66.667rem;
    height:66.667rem;
    border-radius:14.583rem
  }
  .coverage-icon img {
    width:50rem;
    height:50rem
  }
  .coverage-card:first-child .coverage-icon img {
    width:53.333rem;
    height:53.333rem
  }
  .coverage-card h3 {
    font-size:20rem;
    line-height:25rem
  }
  .coverage-card p {
    font-size:12.5rem;
    line-height:16.667rem;
    margin-top:3.333rem
  }
  .coverage-card:nth-child(1) {
    min-height:216.667rem
  }
  .coverage-card:nth-child(2) {
    min-height:200.667rem
  }
  .coverage-card:nth-child(3) {
    min-height:183.667rem
  }
  .objects {
    padding:56rem 0;
    min-height:1156rem
  }
  .objects .section-description {
    max-width:370rem
  }
  .objects-grid {
    grid-template-columns:1fr;
    gap:12rem;
    margin-top:32rem
  }
  .object-card {
    min-height:76.444rem;
    height:auto;
    align-items:stretch;
    border-width:1.25rem;
    border-radius:11.667rem;
    box-shadow:0 3.333rem 12.5rem #0000001a
  }
  .object-icon {
    width:91.667rem;
    min-height:100%;
    padding:12rem 0;
    border-width:1.25rem
  }
  .object-icon img {
    width:46.667rem;
    height:46.667rem
  }
  .object-card:nth-child(3) img {
    width:36.667rem;
    height:33.333rem
  }
  .object-card h3 {
    font-size:16.667rem;
    line-height:20.833rem;
    padding:14rem 20rem
  }
  .objects-note {
    margin-top:24rem;
    font-size:12rem;
    line-height:19.2rem;
    text-align:center;
    max-width:370rem
  }
  .tariffs {
    padding:56rem 0;
    min-height:1769.332rem
  }
  .tariffs h2 {
    max-width:330rem;
    margin:12rem auto 0
  }
  .tariffs .section-description {
    max-width:370rem;
    font-size:14rem;
    line-height:23rem
  }
  .tariff-grid {
    flex-direction:column;
    align-items:flex-start;
    gap:24rem;
    padding-top:41.667rem
  }
  .tariff-card {
    zoom:.8333333333
  }
  .tariffs-note {
    max-width:345.398rem;
    margin-top:40rem;
    font-size:12rem;
    line-height:19.5rem
  }
  .application {
    padding:66.525rem 0 56rem;
    min-height:1281rem
  }
  .application-grid {
    display:flex;
    flex-direction:column;
    gap:24.475rem
  }
  .application-intro {
    padding:0;
    width:100%;
    text-align:center
  }
  .application-intro h2 {
    max-width:237rem;
    margin:20rem auto 0;
    font-size:24rem;
    line-height:35rem
  }
  .application-description,.chosen-card,.application-benefits {
    display:none
  }
  .insurance-form {
    width:370rem;
    padding:32rem;
    border-radius:20rem
  }
  .client-tabs {
    height:50.484rem
  }
  .tab {
    font-size:14rem;
    line-height:22.5rem;
    height:42.484rem
  }
  #insurance-details {
    gap:24rem
  }
  .form-delivery {
    font-size:11rem;
    line-height:25.5rem;
    gap:8rem;
    align-self:center;
    white-space:nowrap
  }
  .form-delivery img {
    width:16rem;
    height:16rem
  }
  .form-section {
    gap:16rem
  }
  .form-row {
    grid-template-columns:1fr;
    gap:12rem
  }
  .consent {
    font-size:13rem;
    line-height:16.25rem
  }
  .insurance-form .submit {
    font-size:18rem;
    line-height:27rem
  }
  .address-help {
    font-size:12rem;
    line-height:18rem
  }
  .consents {
    gap:12rem
  }
  .products {
    padding:56rem 0;
    min-height:1243.275rem
  }
  .products h2 {
    max-width:274rem;
    margin:auto;
    font-size:26rem;
    line-height:32.5rem
  }
  .products-grid {
    grid-template-columns:370rem;
    gap:24rem;
    margin-top:40rem
  }
  .product-card {
    min-height:0
  }
  .product-image {
    width:370rem;
    height:208.093rem
  }
  .product-body {
    padding:28rem;
    gap:16rem;
    min-height:242.182rem
  }
  .product-card:first-child .product-body {
    min-height:343.908rem
  }
  .product-body h3 {
    font-size:22rem;
    line-height:27.5rem
  }
  .product-body p {
    font-size:15rem;
    line-height:24.75rem
  }
  .product-body .button {
    margin-top:8rem
  }
  .steps {
    padding:56rem 0;
    min-height:1225.271rem
  }
  .steps-grid {
    display:flex;
    flex-direction:column
  }
  .steps-intro h2 {
    font-size:28rem;
    line-height:30.8rem;
    margin-top:12rem
  }
  .steps-description {
    font-size:15rem;
    line-height:24.75rem;
    margin-top:32rem
  }
  .steps-list {
    margin-top:32rem;
    width:100%
  }
  .steps-list li {
    min-height:0;
    gap:24rem
  }
  .steps-list p {
    font-size:17rem;
    line-height:28.05rem;
    padding-top:12rem;
    padding-bottom:32rem;
    flex:1;
    min-width:0
  }
  .claim-button {
    margin-top:32rem;
    align-self:stretch;
    min-height:50rem;
    padding:13rem 0;
    font-size:16rem;
    line-height:24rem
  }
  .faq {
    padding:68rem 0 26.876rem
  }
  .faq .container {
    padding:0 16rem
  }
  .faq h2 {
    font-size:24rem;
    line-height:51.667rem;
    font-weight:700;
    letter-spacing:.72rem
  }
  .faq-list {
    width:369rem;
    margin:16rem 0 0;
    gap:16rem
  }
  .faq details {
    padding:20rem;
    border:2rem solid #49a277;
    border-radius:20rem
  }
  .faq summary {
    font:600 18rem/20rem Montserrat;
    letter-spacing:0;
    gap:20rem;
    min-height:50rem
  }
  .faq summary img {
    width:36rem;
    height:36rem
  }
  .faq summary span {
    max-width:273rem
  }
  .faq details>p {
    font:500 13rem/18rem Montserrat;
    letter-spacing:0;
    max-width:292rem;
    margin-top:20rem
  }
  .faq details:not([open]) {
    padding-bottom:20rem
  }
  .faq-cta {
    width:370rem;
    min-height:50rem;
    margin-top:20.124rem
  }
  .licenses {
    padding-top:50rem;
    min-height:496.82rem
  }
  .licenses-inner {
    width:319.482rem;
    margin-left:42.96rem
  }
  .licenses h2 {
    margin-left:2.73rem;
    font-size:23.817rem;
    line-height:26.199rem
  }
  .licenses-grid {
    display:flex;
    flex-direction:column;
    gap:35.725rem;
    margin-top:19.45rem
  }
  .licenses-description {
    width:313.008rem;
    margin-left:2.73rem;
    font-size:9.924rem;
    line-height:12.901rem
  }
  .documents {
    gap:35.725rem
  }
  .document {
    gap:19.847rem;
    font-size:11.908rem;
    line-height:16.671rem
  }
  .document>img {
    width:43.664rem;
    height:55.397rem
  }
  .document>span {
    max-width:255rem;
    gap:7.939rem
  }
  .document:first-child .document-title {
    max-width:192.669rem
  }
  .document-date {
    font-size:11.908rem;
    line-height:16.671rem
  }
  .footer {
    min-height:535.878rem
  }
  .footer-top {
    height:233.26rem;
    width:390rem;
    margin:0;
    display:block;
    padding:0 15.878rem 29.771rem;
    border-bottom:3.97rem solid #f2f4f8
  }
  .footer-brand {
    display:block;
    width:358.244rem
  }
  .footer-top nav {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:23.817rem;
    margin-top:31.756rem
  }
  .footer-top .nav-link {
    font-size:14.885rem;
    line-height:14.885rem;
    font-weight:500
  }
  .footer-contacts {
    width:402rem;
    display:flex;
    flex-wrap:wrap;
    gap:0;
    margin-top:29.71rem;
    padding:0 15.878rem
  }
  .footer-phone {
    width:100%;
    border-bottom:3.97rem solid #f2f4f8;
    padding-bottom:27rem
  }
  .footer-contacts p {
    font-size:13.893rem;
    line-height:19.847rem
  }
  .footer-phone button,.footer-phone-link {
    font-size:21.832rem;
    line-height:23.817rem;
    margin-top:22.824rem
  }
  .footer-social p,.footer-messenger p {
    display:none
  }
  .footer-social,.footer-messenger {
    margin-top:30.45rem
  }
  .footer-contacts .footer-social button,.footer-contacts .footer-messenger button,.footer-contacts .footer-social a,.footer-contacts .footer-messenger a {
    margin-top:0
  }
  .footer-messenger {
    margin-left:7.939rem
  }
  .footer-contacts img {
    width:33.74rem;
    height:33.74rem
  }
}
@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto
  }
}
/* Exact component coordinates retained from the supplied Figma frames. */
.products-eyebrow {
  display:none
}
.application-intro h2 {
  margin-top:12rem;
  text-wrap:balance
}
.application-description {
  margin-top:16rem;
  line-height:27.2rem;
  color:#555
}
.chosen-card {
  border-color:#d8ece3;
  gap:16rem
}
.chosen-details {
  gap:0
}
#chosen-price {
  font-size:26rem;
  color:#103626
}
.application-benefits {
  gap:12rem;
  color:#333
}
.form-delivery {
  align-self:center
}
.consent {
  line-height:19.5rem
}
.consent-personal>span {
  max-width:529.335rem
}
.tariff-card {
  padding:32rem
}
.tariff-top,.tariff-price,.tariff-divider,.sum-label,.tariff-sum,.tariff-benefits {
  position:absolute;
  left:32rem;
  right:32rem;
  margin:0
}
.tariff-top {
  top:32rem
}
.tariff-price {
  top:129rem;
  display:block
}
.tariff-price strong {
  position:absolute;
  left:0;
  top:0
}
.tariff-price>span {
  position:absolute;
  left:140.386rem;
  top:16.5rem;
  margin:0
}
.tariff-price small {
  position:absolute;
  left:166.453rem;
  top:22rem;
  margin:0
}
.tariff-divider {
  top:210rem
}
.sum-label {
  top:240rem
}
.tariff-sum {
  top:266rem
}
.tariff-benefits {
  top:334rem
}
.select-tariff {
  left:32rem;
  right:32rem;
  bottom:auto;
  top:454rem;
  width:calc(100% - 64rem)
}
.tariff-optimal .tariff-top {
  top:48rem
}
.tariff-optimal .tariff-price {
  top:144rem
}
.tariff-optimal .tariff-price strong,.tariff-premium .tariff-price strong {
  top:4rem
}
.tariff-optimal .tariff-price>span,.tariff-premium .tariff-price>span {
  left:144.909rem;
  top:20.5rem
}
.tariff-optimal .tariff-price small,.tariff-premium .tariff-price small {
  left:173.49rem;
  top:27rem
}
.tariff-optimal .tariff-divider {
  top:224rem;
  margin:0
}
.tariff-optimal .sum-label {
  top:253rem
}
.tariff-optimal .tariff-sum {
  top:278rem
}
.tariff-optimal .tariff-benefits {
  top:345rem
}
.tariff-optimal .select-tariff {
  top:464rem;
  bottom:auto
}
.tariff-premium .tariff-price {
  top:124rem
}
.tariff-premium .tariff-divider {
  top:200rem;
  margin:0
}
.tariff-premium .sum-label {
  top:225rem
}
.tariff-premium .tariff-sum {
  top:246rem;
  margin:0
}
.tariff-premium .tariff-benefits {
  top:309rem
}
.tariff-premium .select-tariff {
  top:455rem
}
.faq details:not([open]) summary img {
  transform:rotate(45deg)
}
.consent input:checked {
  background-color:#c8ead8
}
@media(min-width:601px) and (max-width:1023px) {
  .tariffs .section-description {
    font-size:20.256rem
  }
  .tariffs .sum-label {
    font-size:16.524rem;
    letter-spacing:1.6rem
  }
  .tariff-sum {
    font-size:31.524rem
  }
  .tariff-benefits,.tariffs-note {
    font-size:16.572rem
  }
  .select-tariff,.tariff-base .select-tariff {
    font-size:22.097rem
  }
  .recommended {
    font-size:19rem
  }
  .application-grid {
    grid-template-columns:556.887rem 736.573rem;
    gap:67.783rem
  }
  .application-intro {
    position:relative;
    top:-28.875rem;
    padding-top:8.96rem
  }
  .application-intro .eyebrow {
    height:26.88rem;
    font-size:18.414rem;
    letter-spacing:2.8rem
  }
  .application-intro h2 {
    margin-top:13.44rem;
    max-width:none;
    font-size:55.243rem;
    line-height:53.764rem
  }
  .application-description {
    max-width:460.742rem;
    font-size:18.414rem;
    line-height:30.467rem;
    margin-top:17.92rem;
    white-space:normal
  }
  .chosen-card {
    margin-top:35.841rem;
    padding:22.4rem 26.88rem;
    border-width:1.12rem;
    gap:17.92rem
  }
  .chosen-icon {
    width:67.204rem;
    height:67.204rem
  }
  .chosen-details>span,.chosen-details small {
    font-size:13.44rem;
    line-height:20.161rem;
    white-space:nowrap
  }
  .chosen-details>strong {
    font-size:20.161rem;
    line-height:25.202rem
  }
  #chosen-price {
    font-size:29.121rem;
    line-height:43.682rem
  }
  .application-benefits {
    font-size:17.92rem;
    line-height:26.88rem;
    gap:13.44rem;
    margin-top:35.841rem
  }
  .application-benefits img {
    width:20.161rem;
    height:20.161rem
  }
  .insurance-form {
    zoom:1.084999;
    width:678.859rem;
    position:relative;
    top:-31.016rem
  }
  .form-delivery {
    font-size:16.972rem;
    line-height:43.278rem
  }
  .form-delivery img {
    width:27.155rem;
    height:27.155rem
  }
  .products {
    padding:88rem 0
  }
  .products-eyebrow {
    display:block;
    text-align:center;
    font-size:18.414rem;
    color:#6ee3ab
  }
  .products h2 {
    margin-top:12rem
  }
  .products-grid {
    zoom:1.104859335;
    grid-template-columns:repeat(2,438rem);
    gap:24rem;
    margin-top:43.444rem
  }
  .product-card {
    min-height:565.625rem
  }
  .product-image {
    width:438rem;
    height:246.375rem
  }
  .product-body p {
    font-size:16rem;
    line-height:20rem
  }
  .product-body h3 {
    font-size:22rem;
    line-height:27.5rem
  }
  .steps-intro .eyebrow {
    font-size:18.414rem
  }
  .steps-intro h2 {
    font-size:55.243rem
  }
  .steps-description {
    font-size:18.414rem
  }
  .steps-list {
    zoom:1.0482189
  }
}
@media(max-width:600px) {
  .application {
    padding-top:64rem
  }
  .objects-grid {
    gap:8rem
  }
  .object-card {
    min-height:80rem;
    height:auto;
    order:3
  }
  .object-card:nth-child(1) {
    order:2
  }
  .object-card:nth-child(2) {
    order:1
  }
  .faq details {
    width:349rem;
    margin:0 10rem;
    padding:38rem 18rem 28rem
  }
  .faq summary {
    min-height:36rem;
    gap:0
  }
  .faq details>p {
    margin-top:10rem
  }
  .faq details:not([open]) {
    padding-bottom:28rem
  }
  .application-intro h2 {
    margin-top:12.525rem
  }

  .consent {
    line-height:16.25rem
  }
  .consent-personal>span {
    max-width:none
  }
  .tariff-base .tariff-price strong {
    top:4rem
  }
  .tariff-base .tariff-price>span {
    left:144.909rem;
    top:20.5rem
  }
  .tariff-base .tariff-price small {
    left:173.49rem;
    top:27rem
  }
}

/* Browser-verified Figma typography and intrinsic layout adjustments. */
.address-placeholder,.faq-claim,.form-heading-company {
  display:none
}
.application:has(.tab[data-client="company"].active) .form-heading-person {
  display:none
}
.application:has(.tab[data-client="company"].active) .form-heading-company {
  display:inline
}
.form-section h3 {
  min-height:26rem
}
.object-fields .field>span,.object-fields .field>label {
  min-height:20rem
}
.faq details {
  background:#fff
}
@media(min-width:601px) {
  .faq details {
    border:0;
    box-shadow:inset 0 0 0 1.742rem #49a277
  }
  .faq details>p {
    min-height:79rem
  }
  .faq details:first-child>p {
    min-height:105rem
  }
  .faq details:nth-child(4)>p {
    min-height:53rem
  }
  .faq-cta {
    margin-top:44.855rem
  }
}
@media(min-width:1024px) {
  .application {
    padding-bottom:74.5rem
  }
  .form-delivery {
    font-size:16rem;
    line-height:26rem
  }
}
@media(min-width:601px) and (max-width:1023px) {
  .tariffs {
    min-height:972.415rem
  }
  .application {
    padding-top:54.35rem;
    padding-bottom:26.98rem
  }
  .application-intro {
    top:4.78rem
  }
  .insurance-form {
    top:0
  }
  .steps {
    padding-bottom:72.787rem
  }
  .steps-grid {
    grid-template-columns:533.33rem 782.864rem;
    column-gap:43.166rem
  }
  .steps-list li:nth-child(4) p {
    max-width:544.602rem
  }
  .faq h2 {
    font-size:55.243rem
  }
  .faq {
    padding-bottom:41.934rem
  }
  .faq summary {
    font-size:25.78rem
  }
  .faq details>p {
    font-size:20.256rem;
    min-height:79.182rem
  }
  .faq details:first-child>p {
    min-height:104.962rem
  }
  .faq details:nth-child(4)>p {
    min-height:53.402rem
  }
  .faq-list {
    margin-top:32.02rem
  }
  .faq-protect {
    display:none
  }
  .faq-claim {
    display:flex;
    width:331rem;
    min-height:53.78rem;
    margin-top:40rem;
    font-size:18rem;
    line-height:25.5rem;
    padding:14rem 0
  }
}
@media(max-width:600px) {
  .products h2 {
    font-size:24rem
  }
  .coverage {
    padding-bottom:55.72rem
  }
  .tariffs {
    padding-bottom:55.02rem
  }
  .faq {
    background:#f9f9f9
  }
  .faq-list {
    margin-top:16.333rem
  }
  .faq details {
    padding-top:28rem
  }
  .faq summary {
    letter-spacing:.54rem
  }
  .faq details>p {
    letter-spacing:.39rem;
    margin-top:20rem
  }
  .faq-protect {
    display:flex;
    font-size:16rem;
    line-height:24rem;
    padding:13rem 0
  }
  .faq-claim {
    display:none
  }
  .address-placeholder {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:48.5rem;
    padding:6.25rem 16rem;
    font:400 15rem/18rem Inter;
    color:#33333380;
    pointer-events:none
  }
  #property-address:placeholder-shown:not(:focus)~.address-placeholder {
    display:block
  }
  #property-address::placeholder {
    color:transparent
  }
}

/* FAQ motion and tariff button feedback. */
.faq details[data-faq-animating] {
  overflow:hidden
}
.faq summary img {
  transition:transform 280ms cubic-bezier(.22,1,.36,1)
}
.faq details[data-faq-closing="true"] summary img {
  transform:rotate(45deg)
}
.select-tariff {
  transition:background-color 200ms ease, border-color 200ms ease, color 200ms ease, box-shadow 200ms ease
}
.select-tariff:focus-visible:not(:disabled) {
  background:#e1f6eb;
  border-color:#19a876;
  color:#05694a;
  box-shadow:0 0 0 4rem #6ee3ab33
}
.tariff-optimal .select-tariff:focus-visible:not(:disabled) {
  background:#0b986d;
  border-color:#0b986d;
  color:#fff;
  box-shadow:0 5rem 16rem #03523838
}
@media(hover:hover) and (pointer:fine) {
  .tariff-base .select-tariff:hover:not(:disabled),
  .tariff-premium .select-tariff:hover:not(:disabled) {
    background:var(--green);
    border-color:var(--green);
    color:#fff;
    box-shadow:0 5rem 16rem #03523838
  }
  .tariff-optimal .select-tariff:hover:not(:disabled) {
    background:#0b986d;
    border-color:#0b986d;
    color:#fff;
    box-shadow:0 5rem 16rem #03523838
  }
}
@media(prefers-reduced-motion:reduce) {
  .faq summary img,.select-tariff {
    transition:none
  }
}


/* v21: mobile/tablet responsive hardening */
.form-delivery[hidden] {
  display:none !important
}

@media(max-width:600px) {
  html,body {
    width:100%;
    max-width:100%;
    overflow-x:hidden
  }

  .container {
    width:100%;
    max-width:402rem
  }

  .hero-inner,.hero-copy,
  .objects-grid,.tariff-grid,.application-grid,
  .insurance-form,.products-grid,.steps-grid,.steps-list,
  .faq-list,.faq-cta,.footer-top,.footer-contacts {
    max-width:100%
  }

  .field,.form-row,.object-fields,
  .product-card,.product-body,.faq details {
    min-width:0
  }

  .mobile-menu nav {
    max-width:calc(100vw - 24px)
  }
}

@media(min-width:601px) and (max-width:1023px) {
  html,body {
    width:100%;
    max-width:100%;
    overflow-x:hidden
  }

  .mobile-menu nav {
    max-width:calc(100vw - 32px)
  }
}


/* v22 — company/person form hint matched to Figma */
.form-delivery {
  width:586rem;
  max-width:100%;
  align-self:center;
  align-items:flex-start;
  gap:8rem;
  color:#8a8b8a;
  font-family:Nunito,Arial,sans-serif;
  font-weight:600;
  white-space:normal
}

.form-delivery span {
  flex:1;
  min-width:0
}

.form-delivery img {
  width:24rem;
  height:24rem;
  flex:none
}

@media(min-width:1024px) {
  .form-delivery {
    font-size:16rem;
    line-height:25.5rem
  }
}

@media(min-width:601px) and (max-width:1023px) {
  .form-delivery {
    width:586rem;
    font-size:16rem;
    line-height:25.5rem;
    gap:8rem
  }

  .form-delivery img {
    width:24rem;
    height:24rem
  }
}

@media(max-width:600px) {
  .form-delivery {
    width:229.381rem;
    max-width:100%;
    font-size:8.756rem;
    line-height:9rem;
    gap:6.368rem;
    align-self:center;
    align-items:flex-start
  }

  .form-delivery img {
    width:12.736rem;
    height:12.736rem;
    margin-top:2.632rem
  }

  .form-delivery span {
    flex:none;
    width:210.277rem;
    max-width:calc(100% - 19.104rem)
  }
}

/* Карта выбора адреса */
.address-autocomplete,.address-input-wrap { position:relative; width:100% }
.address-input-wrap #property-address { padding-right:150rem }
.address-input-wrap #property-address::placeholder { color:#33333380 }
.address-map-toggle {
  position:absolute;
  top:50%;
  right:8rem;
  transform:translateY(-50%);
  width:132rem;
  min-height:34rem;
  margin:0;
  padding:6rem 8rem;
  border:0;
  border-left:1px solid #d8dfd9;
  border-radius:0 6rem 6rem 0;
  background:#f2f2f0;
  color:var(--green);
  font:600 13rem/1.4 Inter,Arial,sans-serif;
  white-space:nowrap;
  cursor:pointer;
}
.address-map-toggle:hover { background:#e4eee8 }
.address-map-toggle:focus-visible,.address-map-retry:focus-visible {
  outline:2px solid var(--green);
  outline-offset:2px;
}
.address-map-toggle:disabled,.address-map-retry:disabled { opacity:.5; cursor:default }
.address-map[hidden],.address-map-retry[hidden] { display:none }
.address-map-retry {
  margin-top:8rem;
  padding:7rem 12rem;
  border:1px solid #bdcec4;
  border-radius:7rem;
  background:#fff;
  color:var(--green);
  cursor:pointer;
  font:600 12rem/1.4 Inter,Arial,sans-serif;
}
@media(max-width:600px) {
  .address-input-wrap #property-address { padding-right:137rem; font-size:14rem }
  .address-map-toggle { width:121rem; right:6rem; font-size:12rem; padding:6rem }
}
.address-map-panel {
  margin-top:10rem;
  padding:12rem;
  border:1px solid #dfe7df;
  border-radius:12rem;
  background:#f8faf8;
}
.address-map-panel[hidden] { display:none }
.address-map-instructions,.address-map-status {
  margin:0 0 9rem;
  font:400 12rem/1.5 Inter,sans-serif;
  color:#505a54;
}
.address-map-status { margin:9rem 0 0; min-height:18rem }
.address-map-status[data-state="error"] { color:#a62d25 }
.address-map-status[data-state="success"] { color:var(--green) }
.address-map {
  width:100%;
  height:300rem;
  min-height:250px;
  overflow:hidden;
  border-radius:9rem;
  background:#e8eeeb;
}
.address-map-pin {
  width:22px;
  height:22px;
  border:3px solid white;
  border-radius:50% 50% 50% 0;
  background:var(--green);
  box-shadow:0 2px 8px #253a3266;
  transform:translate(-50%,-100%) rotate(-45deg);
  pointer-events:none;
}
@media(max-width:600px) {
  .address-map { height:270px }
}
