/* =========================================================================
 * Agape editable pages — scoped styles.
 *
 * Extracted from the two source HTML pages and merged: shared base rules once,
 * page-specific rules kept together. Every selector is scoped under
 * `.agape-page` so the generic class names (.hero, .section, .wrap, …) cannot
 * collide with the parent theme. Header / nav / top-bar / footer / mobilebar
 * rules from the source were dropped (the theme provides that chrome).
 * Loaded ONLY on the two page templates (see inc/agape-pages/enqueue.php).
 * ========================================================================= */

/* Hide the theme's default page-title banner on these templates —
   the design supplies its own hero + breadcrumb. */
body.agape-tpl .page_title { display: none; }

/* Keep the sticky "On this page" TOC working inside the theme wrappers.
   position:sticky is disabled by ANY ancestor whose overflow is not
   `visible`, and themes commonly set overflow-x:hidden on a content wrapper
   to stop horizontal scroll. Neutralise it up the chain — scoped to our two
   templates only (this stylesheet is enqueued nowhere else). */
html.agape-tpl-root,
body.agape-tpl,
body.agape-tpl #canvas,
body.agape-tpl #box_wrapper,
body.agape-tpl .page_content { overflow: visible !important; }
/* An ancestor transform/filter/perspective/contain also creates a containing
   block that breaks position:sticky — clear those on the wrappers too. */
body.agape-tpl #canvas,
body.agape-tpl #box_wrapper {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  contain: none !important;
}

/* ---- tokens + base ---- */
.agape-page {
  --navy:#363753; --blue:#5584D4; --blue-dk:#3f68b0; --blue-tint:#eef3fb;
  --bg:#f9f9fc; --ink:#41435a; --muted:#85889b; --line:#e7e9f2; --white:#fff;
  --amber-bg:#fdf3e3; --amber-ink:#8a5a12; --amber-line:#f0d9ad;
  --shadow:0 10px 30px rgba(54,55,83,.08);
  --maxw:1160px; --disp:"Josefin Sans",sans-serif; --body:"Poppins",sans-serif;
  font-family:var(--body); color:var(--ink); background:var(--bg);
  font-weight:400; line-height:1.75; font-size:16px;
  scroll-behavior:smooth; -webkit-font-smoothing:antialiased;
}
.agape-page * { box-sizing:border-box; }
.agape-page h1,.agape-page h2,.agape-page h3,.agape-page h4 { font-family:var(--disp); color:var(--navy); font-weight:400; line-height:1.15; margin:0 0 .5em; }
.agape-page h1 { font-size:clamp(2.1rem,5vw,3.4rem); font-weight:300; letter-spacing:.5px; }
.agape-page h2 { font-size:clamp(1.6rem,3.2vw,2.2rem); font-weight:300; }
.agape-page h3 { font-size:1.2rem; font-weight:500; }
.agape-page p { margin:0 0 1rem; }
.agape-page a { color:var(--blue-dk); text-decoration:none; }
.agape-page a:hover { text-decoration:underline; }
.agape-page img { max-width:100%; display:block; }
.agape-page .wrap { max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.agape-page .eyebrow { font-family:var(--disp); text-transform:uppercase; letter-spacing:3px; font-size:.78rem; color:var(--blue); font-weight:500; margin:0 0 .6rem; }
.agape-page .btn { display:inline-block; font-family:var(--disp); font-weight:500; letter-spacing:.5px; text-transform:uppercase; font-size:.85rem; padding:14px 30px; border-radius:2px; transition:.2s; cursor:pointer; border:1.5px solid transparent; }
.agape-page .btn-primary { background:var(--blue); color:#fff; }
.agape-page .btn-primary:hover { background:var(--blue-dk); text-decoration:none; }
.agape-page .btn-ghost { background:transparent; color:var(--navy); border-color:var(--navy); }
.agape-page .btn-ghost:hover { background:var(--navy); color:#fff; text-decoration:none; }
.agape-page .btn-ghost-light { background:transparent; color:#fff; border-color:rgba(255,255,255,.7); }
.agape-page .btn-ghost-light:hover { background:#fff; color:var(--navy); text-decoration:none; }
.agape-page :focus-visible { outline:3px solid var(--blue); outline-offset:2px; }

/* ---- hero ---- */
.agape-page .hero { background:linear-gradient(180deg,#eef3fb 0%,var(--bg) 100%); }
.agape-page .hero .wrap { padding:56px 24px 40px; }
.agape-page .crumb { font-size:.82rem; color:var(--muted); margin-bottom:22px; }
.agape-page .crumb a { color:var(--muted); }
.agape-page .hero-grid { display:grid; grid-template-columns:1.4fr .9fr; gap:48px; align-items:center; }
.agape-page .byline { display:flex; align-items:center; gap:10px; margin:18px 0 10px; font-size:.85rem; color:var(--muted); }
.agape-page .byline i { color:var(--blue); font-size:1.1rem; font-style:normal; }
.agape-page .hero-lead { font-size:1.12rem; color:var(--ink); max-width:36em; }
.agape-page .hero-cta { display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }
.agape-page .hero-card { background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:26px; }
.agape-page .hero-card h3 { color:var(--navy); }
.agape-page .hero-card ul { list-style:none; margin:14px 0 0; padding:0; }
.agape-page .hero-card li { display:flex; gap:10px; padding:7px 0; font-size:.95rem; border-bottom:1px solid var(--line); }
.agape-page .hero-card li:last-child { border:0; }
.agape-page .hero-card i { color:var(--blue); font-size:1.3rem; line-height:1.3; font-style:normal; }

/* ---- body layout + TOC ---- */
.agape-page .body-grid { display:grid; grid-template-columns:1fr 300px; gap:56px; padding:56px 24px 30px; max-width:var(--maxw); margin:0 auto; }
.agape-page .toc { position:sticky; top:92px; align-self:start; }
.agape-page .toc h4 { font-family:var(--disp); text-transform:uppercase; letter-spacing:2px; font-size:.75rem; color:var(--muted); font-weight:500; margin:0 0 12px; }
.agape-page .toc ul { list-style:none; margin:0 0 26px; padding:0; border-left:2px solid var(--line); }
.agape-page .toc li a { display:block; padding:6px 0 6px 16px; font-size:.86rem; color:var(--muted); margin-left:-2px; border-left:2px solid transparent; }
.agape-page .toc li a:hover,.agape-page .toc li a.active { color:var(--navy); border-left-color:var(--blue); text-decoration:none; }
.agape-page .book-box { background:var(--navy); color:#eceefb; border-radius:14px; padding:22px; }
.agape-page .book-box h4 { color:#fff; letter-spacing:1px; margin-bottom:8px; }
.agape-page .book-box p { font-size:.85rem; color:#c9cce4; margin-bottom:14px; }
.agape-page .book-box .btn { width:100%; text-align:center; }

/* ---- sections ---- */
.agape-page section { scroll-margin-top:92px; }
.agape-page .section { margin-bottom:52px; }
.agape-page .section > .eyebrow { margin-bottom:.3rem; }
.agape-page .lead-note { color:var(--muted); font-size:.95rem; }
.agape-page .cols2 { display:grid; grid-template-columns:1fr 1fr; gap:28px; }

/* ---- subcards ---- */
.agape-page .subcards { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; margin-top:22px; }
.agape-page .subcard { background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px; transition:.2s; display:block; }
.agape-page .subcard:hover { border-color:var(--blue); box-shadow:var(--shadow); text-decoration:none; transform:translateY(-2px); }
.agape-page .subcard h3 { font-size:1.02rem; margin-bottom:6px; color:var(--navy); }
.agape-page .subcard p { font-size:.88rem; color:var(--muted); margin:0; }
.agape-page .subcard .go { display:inline-block; margin-top:12px; font-family:var(--disp); text-transform:uppercase; letter-spacing:1px; font-size:.72rem; color:var(--blue); }
.agape-page .pill-tag { display:inline-block; font-size:.68rem; letter-spacing:1px; text-transform:uppercase; background:var(--blue-tint); color:var(--blue-dk); padding:3px 9px; border-radius:20px; margin-bottom:10px; font-weight:500; }

/* ---- alert ---- */
.agape-page .alert { background:var(--amber-bg); border:1px solid var(--amber-line); border-left:5px solid #d69a2e; border-radius:0 12px 12px 0; padding:22px 26px; }
.agape-page .alert h3 { color:var(--amber-ink); }
.agape-page .alert ul { margin:8px 0 0; padding-left:20px; color:var(--amber-ink); }
.agape-page .alert li { margin:4px 0; }

/* ---- treatgrid ---- */
.agape-page .treatgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; margin-top:22px; }
.agape-page .treat { background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px; text-align:left; }
.agape-page .treat i { font-size:1.7rem; color:var(--blue); margin-bottom:10px; display:block; font-style:normal; }
.agape-page .treat h3 { font-size:1rem; margin-bottom:5px; }
.agape-page .treat p { font-size:.86rem; color:var(--muted); margin:0 0 10px; }
.agape-page .treat a { font-family:var(--disp); text-transform:uppercase; letter-spacing:1px; font-size:.72rem; }

/* ---- steps ---- */
.agape-page .steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:20px; margin-top:20px; counter-reset:step; }
.agape-page .step { position:relative; padding-left:0; }
.agape-page .step .num { font-family:var(--disp); font-size:2.4rem; font-weight:300; color:var(--blue); line-height:1; }
.agape-page .step h3 { font-size:1rem; margin:8px 0 4px; }
.agape-page .step p { font-size:.88rem; color:var(--muted); margin:0; }

/* ---- compare table ---- */
.agape-page .compare { width:100%; border-collapse:collapse; margin-top:18px; font-size:.92rem; background:#fff; border-radius:12px; overflow:hidden; box-shadow:var(--shadow); }
.agape-page .compare th,.agape-page .compare td { padding:14px 16px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.agape-page .compare thead th { background:var(--navy); color:#fff; font-family:var(--disp); font-weight:400; letter-spacing:.5px; }
.agape-page .compare tbody tr:last-child td { border-bottom:0; }
.agape-page .compare td:first-child { font-weight:500; color:var(--navy); }

/* ---- group grid (back pain) ---- */
.agape-page .groupgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin-top:20px; }
.agape-page .group { background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px; }
.agape-page .group i { color:var(--blue); font-size:1.4rem; font-style:normal; }
.agape-page .group h3 { font-size:.98rem; margin:8px 0 4px; }
.agape-page .group p { font-size:.85rem; color:var(--muted); margin:0 0 8px; }

/* ---- cost ---- */
.agape-page .cost { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; margin-top:20px; }
.agape-page .costcard { background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px; }
.agape-page .costcard .k { font-size:.78rem; text-transform:uppercase; letter-spacing:1px; color:var(--muted); }
.agape-page .costcard .v { font-family:var(--disp); font-size:1.7rem; color:var(--navy); font-weight:400; margin:4px 0; }
.agape-page .costcard p { font-size:.84rem; color:var(--muted); margin:0; }

/* ---- quotes ---- */
.agape-page .quotes { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin-top:22px; }
.agape-page .quote { background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px; }
.agape-page .quote .stars { color:#e6a817; letter-spacing:2px; margin-bottom:10px; }
.agape-page .quote p { font-style:italic; color:var(--ink); }
.agape-page .quote .who { font-family:var(--disp); color:var(--navy); font-size:.9rem; margin-top:10px; }
.agape-page .quote .who span { color:var(--muted); font-style:normal; display:block; font-size:.8rem; }

/* ---- author / team ---- */
.agape-page .author { display:grid; grid-template-columns:80px 1fr; gap:20px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px; margin-top:20px; }
.agape-page .author .av { width:80px; height:80px; border-radius:50%; background:var(--blue-tint); display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-size:1.6rem; color:var(--blue-dk); overflow:hidden; }
.agape-page .author h3 { margin-bottom:2px; }
.agape-page .author .role { color:var(--blue); font-size:.85rem; margin-bottom:8px; font-family:var(--disp); letter-spacing:.5px; }
.agape-page .author p { font-size:.9rem; color:var(--muted); margin:0; }
.agape-page .team { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:20px; margin-top:22px; }
.agape-page .member { background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px; text-align:center; }
.agape-page .member .av { width:82px; height:82px; border-radius:50%; background:var(--blue-tint); display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-size:1.7rem; color:var(--blue-dk); margin:0 auto 14px; overflow:hidden; }
.agape-page .member h3 { margin:0 0 2px; font-size:1.05rem; }
.agape-page .member .role { color:var(--blue); font-size:.82rem; font-family:var(--disp); letter-spacing:.5px; margin-bottom:10px; }
.agape-page .member p { font-size:.86rem; color:var(--muted); margin:0; }
.agape-page .author .av img,.agape-page .member .av img { width:100%; height:100%; border-radius:50%; object-fit:cover; }

/* ---- how-it-works / anatomy figures ---- */
.agape-page .anatomy-grid { display:grid; grid-template-columns:1fr 330px; gap:44px; align-items:center; margin-bottom:30px; }
.agape-page .spine-fig { margin:0; text-align:center; }
.agape-page .spine-fig svg,
.agape-page .spine-fig img { width:100%; max-width:330px; height:auto; margin:0 auto; }
.agape-page .spine-fig figcaption { font-family:var(--disp); color:var(--muted); font-size:.8rem; letter-spacing:1.5px; text-transform:uppercase; margin-top:10px; }
.agape-page .split-grid { display:grid; grid-template-columns:1fr 330px; gap:44px; align-items:center; margin-bottom:20px; }
.agape-page .fig { margin:0; text-align:center; }
.agape-page .fig svg { width:100%; max-width:340px; height:auto; }
.agape-page .fig figcaption { font-family:var(--disp); color:var(--muted); font-size:.8rem; letter-spacing:1.5px; text-transform:uppercase; margin-top:10px; }

/* ---- chips (adjustment) ---- */
.agape-page .chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.agape-page .chip { background:#fff; border:1px solid var(--line); border-radius:30px; padding:9px 18px; font-size:.9rem; color:var(--navy); transition:.2s; }
.agape-page .chip:hover { border-color:var(--blue); color:var(--blue-dk); text-decoration:none; }

/* ---- benefits (adjustment) ---- */
.agape-page .benefits { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:20px; }
.agape-page .benefit { display:flex; gap:12px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px; }
.agape-page .benefit .b-ic { color:var(--blue); font-size:1.4rem; line-height:1; font-style:normal; }
.agape-page .benefit h3 { font-size:1rem; margin:0 0 3px; }
.agape-page .benefit p { font-size:.86rem; color:var(--muted); margin:0; }

/* ---- note-blue (adjustment) ---- */
.agape-page .note-blue { background:var(--blue-tint); border-left:5px solid var(--blue); border-radius:0 12px 12px 0; padding:20px 24px; margin-top:18px; }
.agape-page .note-blue h3 { color:var(--blue-dk); }
.agape-page .note-blue p { margin:0; color:var(--ink); font-size:.95rem; }

/* ---- clinic (adjustment) ---- */
.agape-page .clinic-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:stretch; margin-top:22px; }
.agape-page .clinic-media { border:1px dashed var(--border); border-radius:14px; min-height:260px; background:var(--blue-tint); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:.9rem; text-align:center; padding:20px; }
.agape-page .clinic-info { background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px; }
.agape-page .clinic-info h3 { margin-top:0; }
.agape-page .clinic-list { list-style:none; padding:0; margin:0 0 18px; }
.agape-page .clinic-list li { display:flex; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); font-size:.92rem; color:var(--ink); }
.agape-page .clinic-list li:last-child { border:0; }
.agape-page .clinic-list .ic { color:var(--blue); font-size:1.2rem; font-style:normal; min-width:20px; }
.agape-page .clinic-list .lab { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:1px; color:var(--muted); margin-bottom:1px; }
.agape-page .clinic-list .ic svg { display:block; width:20px; height:20px; margin-top:3px; }

/* ---- FAQ ---- */
.agape-page details.faq { background:#fff; border:1px solid var(--line); border-radius:10px; margin-bottom:10px; overflow:hidden; }
.agape-page details.faq summary { cursor:pointer; padding:16px 20px; font-family:var(--disp); font-size:1.02rem; color:var(--navy); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.agape-page details.faq summary::-webkit-details-marker { display:none; }
.agape-page details.faq summary::after { content:"\002B"; color:var(--blue); font-size:1.3rem; transition:.2s; }
.agape-page details.faq[open] summary::after { transform:rotate(45deg); }
.agape-page details.faq .a { padding:0 20px 18px; color:var(--ink); font-size:.95rem; }

/* ---- sources + disclaimer ---- */
.agape-page .sources { font-size:.82rem; color:var(--muted); }
.agape-page .sources ol { padding-left:20px; margin:8px 0 0; }
.agape-page .sources li { margin:5px 0; }
.agape-page .disclaimer { background:var(--blue-tint); border-radius:12px; padding:18px 22px; font-size:.82rem; color:var(--ink); margin-top:26px; }

/* ---- CTA band ---- */
.agape-page .cta-band { background:var(--navy); color:#fff; text-align:center; padding:64px 24px; margin-top:40px; }
.agape-page .cta-band h2 { color:#fff; }
.agape-page .cta-band p { color:#c9cce4; max-width:32em; margin:0 auto 24px; }
.agape-page .cta-band .hero-cta { justify-content:center; }

/* ---- responsive ---- */
@media(max-width:960px){
  .agape-page .hero-grid { grid-template-columns:1fr; gap:30px; }
  .agape-page .body-grid { grid-template-columns:1fr; gap:0; }
  .agape-page .toc { display:none; }
  .agape-page .cols2 { grid-template-columns:1fr; }
  .agape-page .anatomy-grid { grid-template-columns:1fr; gap:26px; }
  .agape-page .split-grid { grid-template-columns:1fr; gap:26px; }
  .agape-page .clinic-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){
  .agape-page *,.agape-page { scroll-behavior:auto; transition:none!important; }
}

/* =========================================================================
 * ABOUT PAGE — faithful reproduction of the offline design.
 * The About template does NOT use the .agape-page wrapper; it uses the theme's
 * own classes (banner, team) plus the ported ".apm" sections whose CSS is
 * copied verbatim below, so it renders identically to the source HTML.
 * ========================================================================= */

/* ---- breadcrumb title banner (matches the theme .page_title-1 look) ---- */
.about-banner { position:relative; background:#363753 center/cover no-repeat; color:#fff; text-align:center; padding:40px 24px; }
@media(min-width:992px){ .about-banner { padding:95px 24px 90px; } }
.about-banner-inner { position:relative; max-width:1160px; margin:0 auto; }
.about-banner .page-main-title { color:#fff; font-size:30px; line-height:1; margin:7px 0; text-transform:uppercase; font-weight:600; }
.about-crumb { font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#fff; margin-top:12px; }
.about-crumb a { color:#5584D4; text-decoration:none; }
.about-crumb .sep { margin:0 10px; color:#a6c7ed; }

/* ---- team section (circular photos, no cards — matches the original) ---- */
.about-team { background:#fff center/cover no-repeat; padding:60px 0 72px; }
.about-team .container { max-width:1160px; margin:0 auto; padding:0 24px; }
.about-team .special-heading { text-align:center; }
.about-team h3.special-heading { font-family:"Josefin Sans",sans-serif; color:#363753; font-weight:300; font-size:clamp(1.9rem,3.4vw,2.6rem); margin:0 0 16px; }
.about-team h6.special-heading { font-weight:400; color:#85889b; max-width:80ch; margin:0 auto 44px; line-height:1.8; font-size:1rem; }
.about-team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:44px; max-width:940px; margin:0 auto; }
.about-team .vertical-item { text-align:center; }
.about-team .item-media { width:300px; max-width:78%; aspect-ratio:1/1; margin:0 auto 24px; border-radius:50%; overflow:hidden; }
.about-team .item-media img { width:100%; height:100%; object-fit:cover; display:block; }
.about-team .team-name { font-family:"Josefin Sans",sans-serif; color:#363753; font-weight:400; font-size:1.6rem; margin:0 0 4px; }
.about-team .team-position { color:#85889b; margin:0 0 16px; font-size:1rem; }
.about-team .team-detail { color:#41435a; font-size:1rem; line-height:1.75; max-width:34em; margin:0 auto; }
.about-team .team-detail.is-clamped { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.about-team .team-readmore { display:inline-block; margin-top:22px; background:#5584D4; color:#fff; border:0; border-radius:40px; padding:12px 34px; font-family:"Josefin Sans",sans-serif; font-size:1rem; cursor:pointer; transition:.2s; }
.about-team .team-readmore:hover { background:#3f68b0; }

/* ============================================================
 * ".apm" sections — copied VERBATIM from the source HTML so the
 * treatments, clinic and CTA render pixel-identically.
 * ============================================================ */
.apm{
  --apm-navy:#363753; --apm-blue:#5584D4; --apm-blue-dk:#3f68b0; --apm-blue-tint:#eef3fb;
  --apm-bg:#f9f9fc; --apm-ink:#41435a; --apm-muted:#85889b; --apm-line:#e7e9f2;
  --apm-shadow:0 10px 30px rgba(54,55,83,.08);
  --apm-disp:"Josefin Sans",sans-serif; --apm-body:"Poppins",sans-serif;
  font-family:var(--apm-body); color:var(--apm-ink); background:var(--apm-bg);
  line-height:1.75; font-size:16px; -webkit-font-smoothing:antialiased;
  display:block; scroll-margin-top:92px; padding:52px 0;
}
.apm *,.apm *::before,.apm *::after{box-sizing:border-box}
.apm h2,.apm h3,.apm h4{font-family:var(--apm-disp);color:var(--apm-navy);font-weight:400;line-height:1.15;margin:0 0 .5em;text-transform:none;letter-spacing:normal}
.apm h2{font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:300}
.apm h3{font-size:1.2rem;font-weight:500}
.apm p{margin:0 0 1rem;font-size:1rem;color:inherit}
.apm a,.apm a:link,.apm a:visited{color:var(--apm-blue-dk);text-decoration:none}
.apm a:hover{text-decoration:underline}
.apm ul{list-style:none;padding:0;margin:0}
.apm-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.apm-eyebrow{font-family:var(--apm-disp);text-transform:uppercase;letter-spacing:3px;font-size:.78rem;color:var(--apm-blue);font-weight:500;margin:0 0 .6rem}
.apm-note{color:var(--apm-muted)}
.apm-alt{background:#fff;border-top:1px solid var(--apm-line);border-bottom:1px solid var(--apm-line)}
.apm a.apm-btn{display:inline-block;font-family:var(--apm-disp);font-weight:500;letter-spacing:.5px;text-transform:uppercase;font-size:.85rem;padding:14px 30px;border-radius:2px;transition:.2s;cursor:pointer;border:1.5px solid transparent;line-height:1.2;text-decoration:none}
.apm a.apm-btn-primary,.apm a.apm-btn-primary:link,.apm a.apm-btn-primary:visited{background:var(--apm-blue);color:#fff!important}
.apm a.apm-btn-primary:hover,.apm a.apm-btn-primary:focus{background:var(--apm-blue-dk);color:#fff!important;text-decoration:none}
.apm a.apm-btn-ghost-light,.apm a.apm-btn-ghost-light:link,.apm a.apm-btn-ghost-light:visited{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.7)}
.apm a.apm-btn-ghost-light:hover,.apm a.apm-btn-ghost-light:focus{background:#fff;color:var(--apm-navy)!important;text-decoration:none}
.apm :focus-visible{outline:3px solid var(--apm-blue);outline-offset:2px}
.apm-block{margin-top:30px}
.apm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.apm a.apm-chip{display:inline-block;font-size:.86rem;background:var(--apm-blue-tint);color:var(--apm-blue-dk);padding:6px 12px;border-radius:20px;font-weight:500;transition:.15s}
.apm a.apm-chip:hover{background:var(--apm-blue);color:#fff;text-decoration:none}
.apm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:16px}
.apm-card{background:var(--apm-bg);border:1px solid var(--apm-line);border-radius:14px;padding:22px}
.apm-card h3{margin-bottom:8px;font-size:1.05rem}
.apm-card p{font-size:.9rem;color:var(--apm-ink);margin:0 0 12px}
.apm .apm-card a{font-family:var(--apm-disp);text-transform:uppercase;letter-spacing:1px;font-size:.72rem}
.apm-clinic{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;margin-top:12px}
.apm-clinic-media{border:1px dashed var(--apm-blue);border-radius:14px;min-height:240px;background:var(--apm-blue-tint);display:flex;align-items:center;justify-content:center;color:var(--apm-muted);text-align:center;padding:20px;font-size:.9rem}
.apm-clinic-info{background:#fff;border:1px solid var(--apm-line);border-radius:14px;padding:26px}
.apm-clinic-list{margin:0 0 16px}
.apm-clinic-list li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--apm-line);font-size:.92rem;color:var(--apm-ink);line-height:1.6}
.apm-clinic-list li:last-child{border:0}
.apm-clinic-list .apm-ic{color:var(--apm-blue);font-style:normal;min-width:20px}
.apm-clinic-list .apm-lab{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--apm-muted);margin-bottom:1px}
.apm-cta{background:var(--apm-navy);color:#fff;text-align:center;padding:64px 24px}
.apm-cta h2{color:#fff}
.apm-cta p{color:#c9cce4;max-width:32em;margin:0 auto 24px}
.apm-cta .apm-eyebrow{color:var(--apm-blue)}
.apm-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:26px}
.apm-clinic-list .apm-ic svg{width:20px;height:20px;display:block;margin-top:2px}
/* clinic media: map embed / photo fill the box (no dashed placeholder frame) */
.apm-clinic-media.apm-clinic-map,.apm-clinic-media.apm-clinic-photo{display:block;padding:0;border:0;background:none;min-height:0;overflow:hidden;border-radius:14px}
.apm-clinic-media.apm-clinic-map iframe{width:100%;height:100%;min-height:300px;border:0;display:block}
.apm-clinic-media.apm-clinic-photo img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block}
/* breathing room between the hero slider and the first section */
#apm-treatments{margin-top:44px}
@media(max-width:960px){.apm-clinic{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.apm *{transition:none!important}}
