/* Phone and small-tablet layout for the healthcare campaign. */
body.theme-clarity .hero-copy .eyebrow,
body.theme-clarity .booking-kicker,
body.theme-clarity .reviews-heading .eyebrow,
body.theme-clarity .domains-copy .eyebrow,
body.theme-clarity .trust-heading .eyebrow,
body.theme-clarity .flagship-section .eyebrow,
body.theme-clarity .domain-detail-label { font-size: 12px; line-height: 1.45; }
body.theme-clarity .domain-principles { font-size: 13px; }
body.theme-clarity .booking-content .cta { font-size: 12px; }
body.theme-clarity .footer-top > p,
body.theme-clarity .footer-bottom,
body.theme-clarity .footer-bottom > p { font-size: 12px; }

@media (max-width: 850px) {
  body.theme-clarity .hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding-block: 40px 44px;
  }

  body.theme-clarity .hero-copy,
  body.theme-clarity .booking-card { min-width: 0; }
  body.theme-clarity .hero-copy .eyebrow,
  body.theme-clarity .booking-kicker,
  body.theme-clarity .reviews-heading .eyebrow,
  body.theme-clarity .domains-copy .eyebrow,
  body.theme-clarity .trust-heading .eyebrow,
  body.theme-clarity .flagship-section .eyebrow,
  body.theme-clarity .domain-detail-label { font-size: 12px; line-height: 1.45; letter-spacing: 1px; }

  body.theme-clarity .booking-card {
    display: grid;
    grid-template-columns: 43% minmax(0, 1fr);
  }
  body.theme-clarity .booking-photo { height: 100%; min-height: 260px; }
  body.theme-clarity .booking-content { align-self: center; padding: 24px; }
  body.theme-clarity .booking-content .cta { font-size: 14px; min-height: 52px; }
  body.theme-clarity .hero-proof .proof-kicker { font-size: 11px; }
  body.theme-clarity .hero-proof .proof-rating { font-size: 14px; }
  body.theme-clarity .hero-proof .stars { font-size: 17px; }
  body.theme-clarity .header-inner .cta { font-size: 13px; }

  body.theme-clarity .reviews-section .review-track { --crawl-card-width: min(410px, calc(100vw - 66px)); }
  body.theme-clarity .reviews-section .review-card blockquote { font-size: 16px; line-height: 1.6; }
  body.theme-clarity .reviews-section .review-card footer strong { font-size: 15px; }
  body.theme-clarity .reviews-section .review-card footer div > span { font-size: 13px; line-height: 1.4; }
  body.theme-clarity .review-progress { font-size: 12px; }

  body.theme-clarity .trust-section .trust-grid { --crawl-card-width: min(290px, calc(100vw - 66px)); }
  body.theme-clarity .trust-section .trust-card h3 { font-size: 19px; }
  body.theme-clarity .trust-section .trust-card > p { font-size: 14px; line-height: 1.5; }
  body.theme-clarity .trust-section .rating .stars { font-size: 14px; }

  body.theme-clarity .domain-button { font-size: 15px; min-height: 54px; }
  body.theme-clarity .domain-detail-label { margin-bottom: 9px; }
  body.theme-clarity .domain-detail ul { font-size: 15px; }
  body.theme-clarity .domain-principles { font-size: 13px; }
  body.theme-clarity .media-topline { font-size: 12px; }
  body.theme-clarity .demo-figure > figcaption { font-size: 13px; }
  body.theme-clarity .session-action .cta { font-size: 15px; min-height: 54px; }
  body.theme-clarity .session-action .microcopy { font-size: 13px; }
  body.theme-clarity .footer-top > p,
  body.theme-clarity .footer-bottom,
  body.theme-clarity .footer-bottom > p { font-size: 13px; line-height: 1.55; }
}

@media (max-width: 640px) {
  .wrap { width: calc(100% - 36px); }
  body.theme-clarity .hero-grid { gap: 22px; padding-block: 32px 38px; }
  body.theme-clarity .hero-copy .eyebrow { margin-bottom: 15px; }
  body.theme-clarity h1 { font-size: clamp(37px, 10vw, 48px); line-height: 1.1; letter-spacing: -1.7px; overflow-wrap: normal; }
  body.theme-clarity .clarity-promise { font-size: 18px; line-height: 1.4; }
  body.theme-clarity .hero-description { font-size: 16px; line-height: 1.55; }
  body.theme-clarity .hero-copy .cta { justify-content: center; text-align: center; font-size: 15px; min-height: 54px; padding: 12px 14px; }
  body.theme-clarity .hero-proof { margin-top: 16px; }
  body.theme-clarity .hero-proof .proof-kicker { font-size: 11px; }
  body.theme-clarity .hero-proof .proof-rating { font-size: 13px; }
  body.theme-clarity .hero-proof .proof-rating strong { font-size: 19px; }

  body.theme-clarity .booking-card { display: block; }
  body.theme-clarity .booking-photo { height: 178px; min-height: 0; }
  body.theme-clarity .booking-photo > span { font-size: 12px; }
  body.theme-clarity .booking-content { padding: 17px 20px 19px; }
  body.theme-clarity .booking-kicker { margin-bottom: 8px; }
  body.theme-clarity .booking-content h2 { font-size: 23px; line-height: 1.2; margin-bottom: 6px; }
  body.theme-clarity .booking-content > p:not(.booking-kicker):not(.microcopy) { font-size: 15px; line-height: 1.5; }
  body.theme-clarity .booking-content .cta { display: none; }

  body.theme-clarity .reviews-section { padding-block: 38px; }
  body.theme-clarity .reviews-section .review-track { --crawl-card-width: calc(100vw - 54px); --crawl-gap: 12px; }
  body.theme-clarity .reviews-section .review-card { padding: 22px 19px; }
  body.theme-clarity .reviews-section .review-card blockquote { font-size: 16px; line-height: 1.55; }
  body.theme-clarity .review-label { font-size: 11px; }
  body.theme-clarity .review-progress { font-size: 12px; }

  body.theme-clarity .domains-section { padding-block: 43px; }
  body.theme-clarity .domains-copy h2 { font-size: clamp(30px, 8vw, 36px); }
  body.theme-clarity .domains-intro { font-size: 16px; line-height: 1.55; }
  body.theme-clarity .domain-ladder { gap: 9px; margin-top: 22px; padding: 0; }
  body.theme-clarity .domain-ladder::before,
  body.theme-clarity .domain-ladder::after,
  body.theme-clarity .domain-connector { display: none; }
  body.theme-clarity .domain-rung { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  body.theme-clarity .domain-button { display: flex; min-height: 54px; font-size: 16px; padding: 10px 13px; gap: 12px; }
  body.theme-clarity .domain-icon { width: 36px; height: 36px; border-radius: 9px; margin: 0; }
  body.theme-clarity .domain-icon svg { width: 20px; height: 20px; }
  body.theme-clarity .domain-arrow { display: block; font-size: 18px; }
  body.theme-clarity .domain-detail { grid-column: 1; grid-row: auto; justify-self: stretch; align-self: stretch; width: 100%; padding: 18px 20px; margin: 2px 0 5px; }
  body.theme-clarity .domain-detail h3 { font-size: 21px; }
  body.theme-clarity .domain-detail ul { font-size: 15px; gap: 10px; }
  body.theme-clarity .domain-principles { margin-top: 20px; }

  body.theme-clarity .trust-section { padding-block: 39px; }
  body.theme-clarity .trust-heading h2 { font-size: 28px; }
  body.theme-clarity .trust-section .trust-grid { --crawl-card-width: calc(100vw - 76px); --crawl-gap: 12px; }
  body.theme-clarity .trust-section .trust-card,
  body.theme-clarity .trust-section .trust-card:nth-child(3) { min-height: 205px; }
  body.theme-clarity .flagship-heading h2 { font-size: clamp(30px, 8vw, 36px); }
  body.theme-clarity .media-topline { font-size: 11px; }
  body.theme-clarity .demo-figure > figcaption { font-size: 13px; line-height: 1.5; }
  body.theme-clarity .session-card { padding: 26px 22px; gap: 19px; }
  body.theme-clarity .session-copy h2 { font-size: clamp(30px, 8vw, 36px); }
  body.theme-clarity .session-copy > p { font-size: 15px; }
  body.theme-clarity .session-action .cta { font-size: 15px; padding: 15px 16px; }
  body.theme-clarity .session-action .microcopy { font-size: 13px; }
  body.theme-clarity .site-footer { padding-bottom: 30px; }
  body.theme-clarity .footer-top > p,
  body.theme-clarity .footer-bottom,
  body.theme-clarity .footer-bottom > p { font-size: 13px; }

  body.theme-clarity .reviews-section .review-track,
  body.theme-clarity .trust-section .trust-grid { scroll-snap-type: x mandatory; }
  body.theme-clarity .crawl-group > * { scroll-snap-align: start; }
  body.theme-clarity [data-crawl-copy] { display: none; }
}

@media (min-width: 641px) and (max-width: 850px) {
  body.theme-clarity .booking-photo { height: 320px; min-height: 0; }
}

@media (max-width: 360px) {
  body.theme-clarity .brand-sector { display: none; }
  body.theme-clarity .hero-proof { gap: 3px 8px; padding: 11px 12px; }
  body.theme-clarity .hero-proof .stars { font-size: 14px; letter-spacing: 1px; }
  body.theme-clarity .hero-proof .proof-rating { font-size: 12px; }
  body.theme-clarity .domain-button { font-size: 15px; }
}

/* Keep the quick form usable on shorter phone screens and above the software keyboard. */
@media (max-width: 640px) {
  #strategy-form { width: calc(100% - 18px); max-height: calc(100dvh - 18px); padding: 20px 18px 22px; border-radius: 16px; }
  #strategy-form .enquiry-heading h2 { font-size: 26px; }
  #strategy-form .enquiry-heading > p:last-child { font-size: 14px; margin-bottom: 14px; }
  #strategy-form .enquiry-fields { gap: 11px; }
  #strategy-form .enquiry-fields label { font-size: 14px; }
  #strategy-form .enquiry-fields input { min-height: 44px; font-size: 16px; padding: 9px 11px; }
  #strategy-form .enquiry-consent { font-size: 12px; margin: 12px 0 10px; }
  #strategy-form .cta { min-height: 48px; font-size: 15px; }
  #strategy-form .enquiry-booking { margin-top: 14px; padding-top: 13px; }
  #strategy-form .enquiry-booking h3 { font-size: 16px; }
  #strategy-form .enquiry-booking p,
  #strategy-form .enquiry-booking a { font-size: 13px; line-height: 1.45; }
  #strategy-form .dialog-close { width: 40px; height: 40px; }
}
