@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&display=swap");

:root{
  --font-body:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-title:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-label:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --type-h1:48px;
  --type-h2:40px;
  --type-h3:22px;
  --type-content-h2:28px;
  --type-body:16px;
  --type-small:14px;
  --type-price:68px;
}

html,
body{
  font-family:var(--font-body);
  font-size:var(--type-body);
  letter-spacing:0;
}

body,
p,
li,
input,
textarea,
select,
button{
  font-family:var(--font-body);
}

h1,
.hero h1,
.page-head h1,
.svc-top h1,
.blog-top h1,
.area-top h1{
  font-family:var(--font-title);
  font-size:var(--type-h1);
  font-weight:600;
  line-height:1.14;
  letter-spacing:0;
  font-style:normal;
}

h1 em,
h2 em,
h3 em,
.hero h1 em,
.page-head h1 em,
.svc-top h1 em,
.blog-top h1 em,
.area-top h1 em,
.section h2 em,
.section-head h2 em,
.about-content h2 em,
.about-intro-text h2 em,
.story-text h2 em,
.reviews-card h2 em{
  font:inherit;
  font-style:normal;
  color:var(--accent-dark);
}

.section h2,
.section-head h2,
.about-content h2,
.about-intro-text h2,
.story-text h2,
.reviews-card h2,
.contact-info h2,
.area-content h2,
.blog-feat-body h2,
.svc-list-body h2{
  font-family:var(--font-title);
  font-size:var(--type-h2);
  font-weight:600;
  line-height:1.18;
  letter-spacing:0;
  font-style:normal;
}

.content h2,
.blog-body h2,
.svc-body h2,
.legal-body .content h2{
  font-family:var(--font-title);
  font-size:var(--type-content-h2);
  font-weight:600;
  line-height:1.24;
  letter-spacing:0;
  font-style:normal;
}

h3,
.content h3,
.svc-card h3,
.value-card h3,
.blog-card-body h3,
.faq-item h3,
.related-card h4,
.related-card .name,
.area-card .name,
.area-card-full .name,
.trust-item .t,
.about-feat h4,
.foot-col .brand-blk h4{
  font-family:var(--font-title);
  font-size:var(--type-h3);
  font-weight:600;
  line-height:1.28;
  letter-spacing:0;
  font-style:normal;
}

p,
.hero-sub,
.section-desc,
.page-head .sub,
.svc-top .subhead,
.lead-copy,
.content p,
.content li,
.blog-body p,
.svc-body p,
.about-content > p,
.about-intro-text p,
.story-text p,
.blog-feat-body p,
.blog-card-body p,
.svc-card p,
.svc-list-body p,
.value-card p,
.faq-item p,
.price-card .desc,
.reviews-card .lead{
  font-family:var(--font-body);
  font-size:18px;
  font-weight:500;
  line-height:1.7;
  letter-spacing:0;
  font-style:normal;
}

.topbar,
.nav li a,
.header-cta,
.btn-primary,
.btn-outline,
.btn-light,
.hero-tag,
.section-tag,
.breadcrumb,
.page-head .breadcrumb,
.svc-top .breadcrumb,
.blog-top .breadcrumb,
.area-top .breadcrumb,
.price-card .duration,
.blog-card-body .meta,
.blog-card-body .read,
.svc-list-body .tag,
.read-more,
.related-card .price,
.contact-row .text .label{
  font-family:var(--font-label);
  letter-spacing:.1em;
  font-style:normal;
}

.hero-tag,
.section-tag{
  letter-spacing:.28em;
}

.price-card .amount{
  font-family:var(--font-body) !important;
  font-size:44px !important;
  font-weight:600 !important;
  line-height:1.12 !important;
  letter-spacing:0 !important;
  font-style:normal !important;
}

.price-card .amount .currency{
  font-family:var(--font-body) !important;
  font-size:44px !important;
  font-weight:600 !important;
  line-height:1.12 !important;
  vertical-align:baseline !important;
  margin-right:2px !important;
}

.svc-top .price-quick .item .value,
.svc-list-img .price-tag,
.svc-card-img .price-tag{
  font-family:var(--font-body);
  font-style:normal;
}

.content blockquote,
.blog-body blockquote,
.reviews-call-hint{
  font-family:var(--font-body);
  font-size:var(--type-body);
  font-style:normal;
  line-height:1.76;
}

.logo .text h1,
.logo .text span.brand-name{
  font-family:var(--font-title);
  font-size:24px;
  font-weight:600;
  line-height:1;
  letter-spacing:0;
}

@media(max-width:768px){
  :root{
    --type-h1:36px;
    --type-h2:30px;
    --type-content-h2:24px;
    --type-h3:20px;
    --type-body:15.5px;
    --type-price:54px;
  }
}

@media(max-width:560px){
  :root{
    --type-h1:31px;
    --type-h2:26px;
    --type-content-h2:22px;
    --type-h3:19px;
    --type-body:15px;
    --type-small:13px;
    --type-price:48px;
  }

  .price-card .amount{
    font-size:38px !important;
  }

  .price-card .amount .currency{
    font-size:38px !important;
  }

  h1,
  .hero h1,
  .page-head h1,
  .svc-top h1,
  .blog-top h1,
  .area-top h1{
    line-height:1.18;
    max-width:340px;
  }

  .hero .container,
  .hero-grid,
  .hero-grid > *,
  .hero-sub,
  .page-head .sub,
  .svc-top .subhead,
  .lead-copy{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-wrap:break-word;
  }

  .hero-grid{
    display:block;
  }

  .hero h1,
  .hero-sub{
    width:320px !important;
    max-width:calc(100vw - 56px) !important;
  }

  .section h2,
  .section-head h2,
  .about-content h2,
  .about-intro-text h2,
  .story-text h2,
  .reviews-card h2,
  .contact-info h2,
  .area-content h2,
  .blog-feat-body h2,
  .svc-list-body h2{
    line-height:1.22;
  }

  .logo .text h1,
  .logo .text span.brand-name{
    font-size:20px;
  }
}
