.acne-page { overflow-wrap: break-word; }
.acne-page h1, .acne-page h2, .acne-page h3, .acne-page .eyebrow { letter-spacing: 0; }
.acne-page h2 { font-size: 2.4rem; line-height: 1.15; }
.acne-page h3 { font-size: 1.4rem; line-height: 1.3; }
.acne-hero { position: relative; isolation: isolate; padding: 66px max(22px, 5vw) 54px; color: #fff; background: #254a40; }
.acne-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 44%; z-index: -2; }
.acne-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,49,40,.96), rgba(20,49,40,.87) 50%, rgba(20,49,40,.22)); z-index: -1; }
.acne-hero-inner { max-width: 750px; }
.acne-hero h1 { font-size: 3.8rem; line-height: 1.08; margin: 16px 0 22px; }
.acne-hero p { max-width: 590px; font-size: 1.08rem; }
.acne-hero .eyebrow, .acne-hero .acne-location { font-size: .8rem; }
.acne-hero .acne-location { margin-top: 24px; }
.acne-page .section { padding: 60px max(22px, 5vw); }
.acne-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.acne-grid, .acne-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.acne-concerns { background: #edf3f0; }
.acne-number { color: #547b6a; font-size: 1rem; font-weight: 700; }
.acne-grid p, .acne-options p, .acne-steps p, .acne-intro p { color: #505b55; }
.acne-options { display: grid; grid-template-columns: 1fr 1fr; gap: 36px 50px; }
.acne-options article { border-top: 1px solid #9faf9f; padding-top: 20px; }
.acne-options .eyebrow { color: #557b6b; }
.acne-care-note { margin-top: 38px; padding: 18px 0 18px 22px; border-left: 3px solid #b99e50; max-width: 900px; }
.acne-visit { background: #f1f2ed; }
.acne-steps { list-style-position: inside; padding: 0; margin: 0; }
.acne-steps li::marker { color: #547b6a; font-weight: 700; }
.acne-source { font-size: .85rem; margin-top: 24px; }
.acne-source a { text-decoration: underline; }
.acne-booking { background: #e0ebe4; }
.acne-booking .hero-actions { flex-wrap: wrap; }
.acne-hero { background: #d6e2e7; }
.acne-hero-photo { object-fit: contain; object-position: right center; }
.acne-hero::before { background: linear-gradient(90deg, rgba(20,49,40,.96), rgba(20,49,40,.88) 48%, rgba(20,49,40,.15)); }
.acne-credentials { display: grid; grid-template-columns: 260px 1fr; gap: 48px; align-items: center; background: #e1ece6; border-bottom: 1px solid #cbd9d0; }
.acne-certification-mark { position: relative; width: 260px; height: 260px; overflow: hidden; border-radius: 50%; background: white; border: 3px solid #b69b4e; box-shadow: 0 8px 22px rgba(27,61,46,.18); }
.acne-credentials .acne-certification-mark img { position: absolute; width: 132%; height: 132%; max-width: none; left: -16%; top: -16%; object-fit: contain; }
.acne-credentials h2 { max-width: 740px; }
.acne-program { display: grid; grid-template-columns: 1.15fr 1fr; gap: 50px; align-items: center; background: #e2ece5; }
.acne-program figure { margin: 0; }
.acne-program figure img { width: 100%; height: auto; display: block; }
.acne-program figcaption { font-size: .85rem; margin-top: 12px; color: #4e6255; }
.acne-program ul { padding-left: 22px; line-height: 1.9; }
.acne-table-wrap { overflow-x: auto; }
.acne-pricing { width: 100%; border-collapse: collapse; font-size: .95rem; }
.acne-pricing caption { text-align: left; font-weight: 700; padding-bottom: 15px; }
.acne-pricing th, .acne-pricing td { text-align: left; padding: 18px 14px; border-bottom: 1px solid #ccd8d0; vertical-align: top; }
.acne-pricing thead { background: #e3ece6; }
.acne-homecare { background: #edf3f0; }
.acne-homecare > p { max-width: 760px; }
.acne-resource-note { font-size: .85rem; margin-top: 20px; }
.acne-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.acne-gallery figure { margin: 0; }
.acne-gallery img { width: 100%; height: auto; display: block; }
.acne-gallery figcaption { font-size: .9rem; margin-top: 12px; }
@media (max-width: 760px) {
  .acne-hero { padding: 42px 22px 36px; }
  .acne-hero h1 { font-size: 2.5rem; }
  .acne-hero::before { background: rgba(20,49,40,.88); }
  .acne-hero p { font-size: 1rem; }
  .acne-page .section { padding: 42px 22px; }
  .acne-page h2 { font-size: 1.9rem; }
  .acne-intro, .acne-grid, .acne-options, .acne-steps { grid-template-columns: 1fr; gap: 24px; }
  .acne-page .hero-actions { display: flex; flex-direction: column; align-items: stretch; }
  .acne-page .button { white-space: normal; text-align: center; min-height: 48px; }
  .acne-page .acne-credentials { grid-template-columns: 1fr; gap: 22px; padding: 30px 22px 34px; }
  .acne-certification-mark { width: 144px; height: 144px; justify-self: center; border-width: 2px; box-shadow: 0 4px 12px rgba(27,61,46,.12); }
  .acne-credentials .eyebrow { text-align: center; margin-top: 0; margin-bottom: 10px; }
  .acne-page .acne-credentials h2 { font-size: 1.55rem; line-height: 1.2; text-align: center; max-width: 310px; margin: 0 auto 20px; }
  .acne-credentials p:not(.eyebrow) { font-size: 1rem; line-height: 1.65; }
  .acne-program, .acne-gallery { grid-template-columns: 1fr; gap: 28px; }
  .acne-pricing { font-size: .8rem; }
  .acne-pricing th, .acne-pricing td { padding: 12px 7px; overflow-wrap: anywhere; }
}
