/**
 * PawTend typography scale – single source of truth for home, features, pricing,
 * contact, terms, privacy, SMS terms. Lora (Georgia) for headings; Switzer (Arial) for body/nav/buttons.
 * No font-weight 600. Responsive: H1/H2/H3 scale at max-width 991px.
 */

/* ---------------------------------------------------------------------------
   Page-entry animation (welcoming effect on all pages)
   --------------------------------------------------------------------------- */
#page {
  opacity: 0;
}
#page.page-visible {
  opacity: 1;
  transition: opacity 0.35s ease;
}

html,
body {
  max-width: 100%;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

/* ---------------------------------------------------------------------------
   H1 – Hero headline
   --------------------------------------------------------------------------- */
#hero-1 h1,
#hero-1 h1.h2-xl,
.features-hero h1.hero-title {
  font-family: 'Lora', Georgia, serif;
  font-weight: 500;
  font-size: 72px;
  line-height: 79px;
  color: #291F19;
}

/* ---------------------------------------------------------------------------
   H2 – Section headline
   --------------------------------------------------------------------------- */
#how-it-works .section-title h2,
.section-title h2,
.section-title h2.h1-lg,
.pricing-2 .section-title h2,
.inner-page-title .h2-title {
  font-family: 'Lora', Georgia, serif;
  font-weight: 500;
  font-size: 52px;
  line-height: 62px;
  color: #291F19;
}

/* ---------------------------------------------------------------------------
   H3 – Subsection headline
   --------------------------------------------------------------------------- */
.section-title h3,
.txt-block h3,
.txt-block h3.h3-md,
.tab-content-text h3 {
  font-family: 'Lora', Georgia, serif;
  font-weight: 500;
  font-size: 44px;
  line-height: 53px;
  color: #291F19;
}

/* H4 – Card/feature title (hiw-card h3 uses H4 specs per plan) */
#how-it-works-section .hiw-card h3,
h4,
.benefit-item h4 {
  font-family: 'Lora', Georgia, serif;
  font-weight: 500;
  font-size: 25px;
  line-height: 30px;
  color: #291F19;
}

/* ---------------------------------------------------------------------------
   H5 – Small label / eyebrow / legal subsection
   --------------------------------------------------------------------------- */
h5,
.txt-block.legal-info .h5-md,
.txt-block.legal-info .h6-lg {
  font-family: 'Lora', Georgia, serif;
  font-weight: 500;
  font-size: 19px;
  line-height: 23px;
  color: #291F19;
}

/* ---------------------------------------------------------------------------
   H1 & H2 description (subheadline under hero or section headline)
   --------------------------------------------------------------------------- */
#hero-1 .hero-1-txt p.p-md,
.section-title p.p-subheadline,
.pricing-2 .section-title p.p-lg,
.features-hero .hero-description {
  font-family: 'Switzer', Arial, sans-serif;
  font-weight: 400;
  font-size: 23px;
  line-height: 35px;
  color: #717171;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Extra spacing between hero H1 and description */
#hero-1 .hero-1-txt p.p-md {
  margin-top: 28px;
}

/* ---------------------------------------------------------------------------
   H3 description
   --------------------------------------------------------------------------- */
.tab-content-text p {
  font-family: 'Switzer', Arial, sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 32px;
  color: #717171;
}

/* ---------------------------------------------------------------------------
   Body paragraph
   --------------------------------------------------------------------------- */
.section-title p,
.section-title p.p-md,
.txt-block p.p-md,
.inner-page-title .p-md,
#how-it-works-section .hiw-card p,
.benefit-item p {
  font-family: 'Switzer', Arial, sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 27px;
  color: #717171;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}

/* Legal pages: one column, headings and body share same left edge */
.txt-block.legal-info {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.txt-block.legal-info p,
.txt-block.legal-info .p-md {
  font-family: 'Switzer', Arial, sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 27px;
  color: #717171;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.txt-block.legal-info .simple-list {
  margin-left: 1.25em;
  padding-left: 0;
}
.txt-block.legal-info .simple-list .list-item p {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* ---------------------------------------------------------------------------
   Navigation & H5 paragraph text
   --------------------------------------------------------------------------- */
.wsmenu > .wsmenu-list > li > a,
.wsmenu .wsmenu-list li a,
.wsmenu > .wsmenu-list > li > ul.sub-menu > li > a,
.wsmenu > .wsmenu-list > li > ul.sub-menu > li > ul.sub-menu > li > a,
.feature-tab,
.apps-tab {
  font-family: 'Switzer', Arial, sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 24px;
  color: #291F19;
}

/* ---------------------------------------------------------------------------
   Button text
   --------------------------------------------------------------------------- */
.btn,
#header .btn,
a.btn {
  font-family: 'Switzer', Arial, sans-serif;
  font-weight: 500;
  font-size: 17px;
  line-height: 17px;
}

/* ---------------------------------------------------------------------------
   XS / caption
   --------------------------------------------------------------------------- */
.p-xs,
.text-caption,
p.p-sm,
small,
.features-hero .hero-fine-print {
  font-family: 'Switzer', Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 19px;
  color: #717171;
}

/* ---------------------------------------------------------------------------
   Responsive: max-width 991px – H1, H2, H3 only
   --------------------------------------------------------------------------- */
@media (max-width: 991px) {
  #hero-1 h1,
  #hero-1 h1.h2-xl,
  .features-hero h1.hero-title {
    font-size: 48px;
    line-height: 56px;
  }

  #hero-1 .hero-1-txt p.p-md {
    margin-top: 22px;
  }

  #how-it-works .section-title h2,
  .section-title h2,
  .section-title h2.h1-lg,
  .pricing-2 .section-title h2,
  .inner-page-title .h2-title {
    font-size: 36px;
    line-height: 44px;
  }

  .section-title h3,
  .txt-block h3,
  .txt-block h3.h3-md,
  .tab-content-text h3 {
    font-size: 28px;
    line-height: 36px;
  }
}

/* ---------------------------------------------------------------------------
   Responsive: max-width 767px – mobile readability + footer/nav hardening
   --------------------------------------------------------------------------- */
@media (max-width: 767px) {
  html,
  body {
    overflow-x: hidden;
  }

  #hero-1 h1,
  #hero-1 h1.h2-xl,
  .features-hero h1.hero-title {
    font-size: 40px;
    line-height: 48px;
  }

  #how-it-works .section-title h2,
  .section-title h2,
  .section-title h2.h1-lg,
  .pricing-2 .section-title h2,
  .inner-page-title .h2-title {
    font-size: 30px;
    line-height: 38px;
  }

  .section-title h3,
  .txt-block h3,
  .txt-block h3.h3-md,
  .tab-content-text h3 {
    font-size: 24px;
    line-height: 32px;
  }

  #hero-1 .hero-1-txt p.p-md,
  .section-title p.p-subheadline,
  .pricing-2 .section-title p.p-lg,
  .features-hero .hero-description,
  .tab-content-text p {
    font-size: 18px;
    line-height: 30px;
  }

  .section-title p,
  .section-title p.p-md,
  .txt-block p.p-md,
  .inner-page-title .p-md,
  #how-it-works-section .hiw-card p,
  .benefit-item p,
  .txt-block.legal-info p,
  .txt-block.legal-info .p-md {
    font-size: 16px;
    line-height: 26px;
  }

  .btn,
  #header .btn,
  a.btn {
    font-size: 16px;
  }

  .wsmobileheader .smllogo img {
    width: auto;
    max-height: 40px;
  }

  #hero-1 .row.d-flex.align-items-center {
    padding-top: 150px !important;
  }

  .cta-footer-unified .footer-info-with-nav {
    text-align: center;
  }

  .cta-footer-unified .footer-info-with-nav .footer-logo {
    margin-left: auto;
    margin-right: auto;
  }

  .cta-footer-unified .footer-nav-horizontal {
    justify-content: center;
    gap: 0.75rem 1rem;
  }

  .cta-footer-unified .bottom-footer .row {
    row-gap: 10px;
  }

  .cta-footer-unified .bottom-footer-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center !important;
  }

  .cta-footer-unified .footer-legal-sep {
    display: none;
  }

  .txt-block.legal-info,
  .txt-block.legal-info p,
  .txt-block.legal-info li,
  .txt-block.legal-info a {
    overflow-wrap: anywhere;
  }

  .cta-waitlist-section .banner-overlay.download-banner-compact,
  .cta-footer-unified .banner-overlay.download-banner-compact {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .cta-waitlist-section .download-banner-compact .quick-form .input-group,
  #waitlist .download-banner-compact .quick-form .input-group {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .cta-waitlist-section .download-banner-compact .quick-form .input-group .form-control,
  .cta-waitlist-section .download-banner-compact .quick-form .input-group .form-control.r-100,
  #waitlist .download-banner-compact .quick-form .input-group .form-control,
  #waitlist .download-banner-compact .quick-form .input-group .form-control.r-100 {
    width: 100% !important;
    border-right: 1px solid transparent !important;
    border-top-right-radius: 100px !important;
    border-bottom-right-radius: 100px !important;
    border-left: 1px solid var(--silver) !important;
    margin-right: 0 !important;
  }

  .cta-waitlist-section .download-banner-compact .quick-form .input-group .form-btn,
  #waitlist .download-banner-compact .quick-form .input-group .form-btn {
    width: 100% !important;
  }

  .cta-waitlist-section .download-banner-compact .quick-form .input-group .form-btn .btn,
  .cta-waitlist-section .download-banner-compact .quick-form .input-group .form-btn .btn.r-100,
  #waitlist .download-banner-compact .quick-form .input-group .form-btn .btn,
  #waitlist .download-banner-compact .quick-form .input-group .form-btn .btn.r-100 {
    width: 100% !important;
    margin-left: 0 !important;
    border-left: 1px solid transparent !important;
    border-top-left-radius: 100px !important;
    border-bottom-left-radius: 100px !important;
  }
}

/* ---------------------------------------------------------------------------
   Responsive: max-width 575px – compact spacing
   --------------------------------------------------------------------------- */
@media (max-width: 575px) {
  .wsmobileheader .smllogo img {
    max-height: 34px;
  }

  .cta-waitlist-section,
  .cta-footer-unified {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .cta-waitlist-section,
  .cta-footer-unified {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}
