.pt-wrap { width: min(1180px, calc(100% - 96px)); margin-inline: auto; }
.pt-page { --pt-blue: #00476b; --pt-muted: #4c5e68; }
.pt-page h1, .pt-page h2, .pt-page h3 { font-family: var(--font-heading); font-weight: 500; letter-spacing: -.025em; }
.pt-page h2 { font-size: clamp(30px, 3.2vw, 43px); line-height: 1.15; color: var(--pt-blue); margin-bottom: 24px; }
.pt-page h3 { font-size: 23px; line-height: 1.25; color: var(--pt-blue); margin-bottom: 12px; }
.pt-page p { font-size: 16px; line-height: 1.8; }
.pt-page p + p { margin-top: 18px; }
.pt-page a:focus-visible, .pt-page summary:focus-visible { outline: 3px solid #b07925; outline-offset: 6px; }
.pt-page section[id] { scroll-margin-top: 115px; }
.pt-hero { background: linear-gradient(115deg, #00476b, #3d758a); color: white; padding-top: 94px; }
.pt-hero-grid { display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 70px; padding-block: 70px; }
.pt-back { display: inline-flex; gap: 14px; color: #d6e6ec; font-size: 14px; margin-bottom: 28px; }
.pt-back:hover { text-decoration: underline; }
.pt-hero h1 { font-size: clamp(44px, 4.8vw, 66px); line-height: 1.08; margin-bottom: 24px; }
.pt-page .pt-hero-lead { font-family: var(--font-heading); font-size: clamp(23px, 2.2vw, 30px); line-height: 1.4; margin-bottom: 22px; }
.pt-hero-copy > p:not(.pt-hero-lead) { color: #e3edf1; }
.pt-hero .btn { margin-top: 30px; }
.pt-page .pt-hero-note { font-size: 13px; margin-top: 12px; }
.pt-hero-photo { overflow: hidden; border-radius: 12px; }
.pt-hero-photo img { width: 100%; height: auto; }
.pt-section-nav { border-bottom: 1px solid #dce5e9; background: #fff; }
.pt-section-nav .pt-wrap { display: flex; gap: 36px; flex-wrap: wrap; }
.pt-section-nav a { padding-block: 24px; font-size: 14px; font-weight: 500; color: var(--pt-blue); }
.pt-section-nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
.pt-section { padding-block: 84px; }
.pt-eyebrow { display: block; color: #466b7a; text-transform: uppercase; font-size: 12px; letter-spacing: .13em; font-weight: 600; margin-bottom: 18px; }
.pt-section-heading { max-width: 770px; }
.pt-section-heading > p, .pt-care p, .pt-faq p { color: var(--pt-muted); }
.pt-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 38px; margin-top: 44px; }
.pt-services article { border-top: 1px solid #afc8d3; padding-top: 24px; }
.pt-services .material-symbols-rounded { font-size: 34px; color: #547e90; margin-bottom: 18px; }
.pt-services p { color: var(--pt-muted); }
.pt-care, .pt-faq { background: #f1f5f7; }
.pt-care-grid, .pt-faq-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 100px; }
.pt-steps { list-style: none; }
.pt-steps li { display: flex; gap: 22px; padding: 25px 0; border-bottom: 1px solid #d2e0e6; }
.pt-steps li:first-child { padding-top: 0; }
.pt-step-num { font-family: var(--font-heading); font-size: 18px; color: #477080; padding-top: 3px; }
.pt-steps h3 { font-size: 22px; }
.pt-visit { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
.pt-visit-copy > p { color: var(--pt-muted); }
.pt-visit address { font-style: normal; line-height: 1.7; margin-block: 22px 12px; }
.pt-phone { color: var(--pt-blue); font-size: 26px; font-weight: 500; }
.pt-phone:hover { text-decoration: underline; }
.pt-hours { margin-block: 26px 12px; font-size: 14px; }
.pt-hours > div { display: flex; justify-content: space-between; gap: 18px; padding-block: 10px; border-bottom: 1px solid #dce5e9; }
.pt-hours dd { white-space: nowrap; }
.pt-page .pt-small { font-size: 12px; }
.pt-visit-links { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; margin-top: 28px; }
.pt-text-link { color: var(--pt-blue); text-decoration: underline; text-underline-offset: 4px; font-size: 14px; line-height: 1.7; }
.pt-visit-image img { width: 100%; height: auto; border-radius: 12px; }
.pt-questions details { border-bottom: 1px solid #cbdbe2; }
.pt-questions details:first-child { border-top: 1px solid #cbdbe2; }
.pt-questions summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; padding-block: 23px; font-size: 17px; font-weight: 500; color: var(--pt-blue); line-height: 1.45; }
.pt-questions summary::-webkit-details-marker { display: none; }
.pt-questions summary::after { content: '+'; font-size: 25px; font-weight: 400; }
.pt-questions details[open] summary::after { content: '−'; }
.pt-questions details p { padding-bottom: 24px; }
.pt-skip { position: absolute; top: -100px; left: 20px; z-index: 9999; padding: 12px 20px; background: white; color: #00476b; }
.pt-skip:focus { top: 12px; }
@media (max-width: 1000px) {
  .pt-hero-grid { gap: 36px; }
  .pt-care-grid, .pt-faq-grid { gap: 48px; }
  .pt-visit { gap: 36px; }
}
@media (max-width: 1024px) { .pt-hero { padding-top: 72px; } }
@media (max-width: 760px) {
  .pt-wrap { width: calc(100% - 40px); }
  .pt-hero-grid, .pt-care-grid, .pt-faq-grid, .pt-visit { grid-template-columns: 1fr; gap: 36px; }
  .pt-hero-grid { padding-block: 40px; }
  .pt-hero-photo { max-width: 480px; }
  .pt-section { padding-block: 56px; }
  .pt-section-nav .pt-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; padding-block: 12px; }
  .pt-section-nav a { padding-block: 10px; }
  .pt-services { grid-template-columns: 1fr; gap: 28px; margin-top: 30px; }
  .pt-visit-image { grid-row: 1; }
  .pt-hours > div { flex-wrap: wrap; gap: 6px 18px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
