/* Typography calibrated to the public inthepinkpcp.com design system. */
:root { --itp-display: "Poppins", sans-serif; --itp-copy: "Rubik", sans-serif; }
body, button, input, select, textarea { font-family: var(--itp-copy); }
body { font-size: 14px; font-weight: 400; line-height: 1.5; }
h1, h2, h3, h4, h5, h6 { font-family: var(--itp-display); font-weight: 600; line-height: 1.1; }
h1 { font-size: 60px; letter-spacing: -0.3px; line-height: 1.22; }
h2 { font-size: 35px; }
h3 { font-size: 26px; letter-spacing: -0.3px; }
h4 { font-size: 20px; }
h5 { font-family: var(--itp-copy); font-size: 18px; font-weight: 500; }
h6 { font-size: 14px; }
p { font-size: 15px; font-weight: 400; line-height: 27px; }
.main-nav a, .services-toggle { font-family: var(--itp-copy); font-size: 14px !important; font-weight: 500; line-height: 1.5; }
.topbar, .site-footer p, .site-footer li, .site-footer .copyright { font-family: var(--itp-copy); font-weight: 400; }
.eyebrow, .outline-kicker, .blog-date, .post-date, .contact-form label > span, .about-principle-grid span { font-family: var(--itp-copy); font-size: 12px !important; font-weight: 500; letter-spacing: 2px; }
.hero h1, .outline-hero h1, .outline-hero-promo h2, .outline-hero-slide-selfpay h2 { font-family: var(--itp-display); font-size: clamp(40px, 5.2vw, 80px); font-weight: 600; letter-spacing: -2.3px; line-height: 1.1; }
.page-hero h1, .itp-page-hero h1, .itp-faq-page-hero h1, .contact-hero h1, .service-hero h1, .detail-hero h1 { font-family: var(--itp-display); font-size: clamp(35px, 4vw, 60px); font-weight: 600; letter-spacing: -0.3px; line-height: 1.22; }
.outline-section h2, .outline-about .outline-section h2, .section-title, .about-copy h2, .contact-intro h2, .content h2, .cta h2, .about-proof-band h2, .outline-closing h2, .outline-location h2, .insurance-intro h2, .insurance-note h2, .appointment-heading h2 { font-family: var(--itp-display); font-size: 35px; font-weight: 600; letter-spacing: 0; line-height: 1.1; }
.outline-section h3, .outline-service-card h3, .card h3, .about-principle-grid h3, .about-testimonial-grid h3, .blog-card h2, .blog-widget h2, .contact-form-heading p, .single-post-content h3 { font-family: var(--itp-display); font-size: 26px; font-weight: 600; letter-spacing: -0.3px; line-height: 1.1; }
.itp-faq-list summary { font-family: var(--itp-display); font-size: 18px; font-weight: 600; letter-spacing: -0.1px; line-height: 1.35; }
.outline-section p, .outline-section li, .outline-lead, .outline-service-card p, .about-story-copy > p:not(.outline-kicker), .about-healing-grid > div > p:not(.outline-kicker), .about-principle-grid p, .about-testimonial-grid p:not(.about-stars), .contact-intro > p:not(.eyebrow), .itp-faq-panel-inner, .blog-excerpt, .blog-widget li a { font-family: var(--itp-copy); font-size: 15px !important; font-weight: 400; line-height: 27px; }
.button, .outline-btn, .outline-live-button, .insurance-cta, .contact-submit, .itp-blog-cta > a, .appointment-actions > a, .floating-book, .about-proof-button, .about-insurance-button, .about-gallery-link, .outline-location-button { font-family: var(--itp-copy); font-size: 14px; font-weight: 500; letter-spacing: 1px; line-height: 1; }
.outline-stats strong, .about-proof-grid dt { font-family: var(--itp-display); font-weight: 600; }
.outline-stats span, .outline-snapshot dt, .outline-snapshot dd, .about-proof-grid dd, .about-testimonial-grid strong, .outline-trust, .outline-summary, .outline-faq-list summary { font-family: var(--itp-copy); }
@media (max-width: 767px) {
  .hero h1, .outline-hero h1, .outline-hero-promo h2, .outline-hero-slide-selfpay h2 { font-size: 40px; }
  .page-hero h1, .itp-page-hero h1, .itp-faq-page-hero h1, .contact-hero h1, .service-hero h1, .detail-hero h1 { font-size: 35px; }
  .outline-section h2, .outline-about .outline-section h2, .section-title, .about-copy h2, .contact-intro h2, .content h2, .cta h2, .about-proof-band h2, .outline-closing h2, .outline-location h2, .insurance-intro h2, .insurance-note h2, .appointment-heading h2 { font-size: 32px; }
  .outline-section h3, .outline-service-card h3, .card h3, .about-principle-grid h3, .about-testimonial-grid h3, .blog-card h2, .blog-widget h2, .contact-form-heading p, .single-post-content h3 { font-size: 22px; }
  .itp-faq-list summary { font-size: 16px; line-height: 1.4; }
}
