/* A restrained, accessible navigation layer for the existing Dr Kelly design. */
body.kr-divi-site .site-header { position:sticky; top:-34px; box-shadow:0 1px 0 rgba(35,35,38,.08); }
body.kr-divi-site .menu-intro,
body.kr-divi-site .menu-details,
body.kr-divi-site .menu-arrow { display:none; }
body.kr-divi-site .brand img { height:auto; }
body.kr-divi-site a:focus-visible,
body.kr-divi-site button:focus-visible,
body.kr-divi-site summary:focus-visible { outline:2px solid var(--ember); outline-offset:6px; }
body.kr-divi-site .site-footer a:focus-visible { outline-color:var(--paper); }
/* Primary booking action matches the site's filled ember buttons. */
body.kr-divi-site .site-nav .nav-cta { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:14px 22px; border:1px solid transparent; border-radius:0; background:var(--ember); color:var(--paper); font-family:var(--sans); font-size:.72rem; font-weight:500; line-height:1.25; letter-spacing:.13em; text-transform:uppercase; text-decoration:none; white-space:nowrap; transition:color .25s,background .25s,border-color .25s; }
body.kr-divi-site .site-nav .nav-cta:hover,
body.kr-divi-site .site-nav .nav-cta:active { background:#742c17; color:var(--paper); }
/* Make clinic links in FAQ answers recognizable without changing the layout. */
body.kr-divi-site .accordion details p a { color:var(--ember); text-decoration:underline; text-underline-offset:3px; }
body.kr-divi-site .accordion details p a:hover { text-decoration-thickness:2px; }
/* Clinic addresses open directions and remain easy to identify and tap. */
body.kr-divi-site .location-card a.location-directions:not(.button):not(.et_pb_button),
body.kr-divi-site .menu-location address .location-directions {
 display:inline-block; min-height:44px; color:inherit; border-bottom:0;
 text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;
}
body.kr-divi-site .location-directions:hover { text-decoration-thickness:2px; }
/* Match the Common questions label's typography without changing the answers. */
body.kr-divi-site .faq-section .accordion summary {
 font-family:var(--sans); font-size:.73rem; font-weight:500; line-height:1.2;
 letter-spacing:.19em; text-transform:uppercase;
}
body.kr-divi-site .faq-section .accordion summary span { flex:none; letter-spacing:0; }
body.kr-divi-site .menu-toggle { min-width:44px; min-height:44px; }

/* The supplied mark embeds an opaque image. Render its simple ring without
   the paper square, while retaining the original brand asset in Divi. */
body.kr-divi-site .closing-cta .drk-image .et_pb_image_wrap { position:relative; display:block; width:72px; height:72px; background:transparent; }
body.kr-divi-site .closing-cta .drk-image .et_pb_image_wrap img { display:none; }
body.kr-divi-site .closing-cta .drk-image .et_pb_image_wrap::before { content:""; position:absolute; inset:20%; border:1px solid var(--ember); border-radius:50%; background:transparent; mix-blend-mode:screen; }
@media (max-width:720px) {
  body.kr-divi-site .closing-cta .drk-image .et_pb_image_wrap { width:60px; height:60px; }
}

/* Quiet, accessible profile links shared by the footer and compact menu. */
body.kr-divi-site .social-links { display:flex; align-items:center; gap:8px; }
body.kr-divi-site .social-links .social-link { display:inline-flex; flex:none; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid transparent; border-radius:50%; line-height:1; transition:background .2s,border-color .2s; }
body.kr-divi-site .social-link svg { display:block; width:22px; height:22px; }
body.kr-divi-site .site-footer .social-link:hover { border-color:rgba(246,245,242,.35); background:rgba(246,245,242,.06); }
body.kr-divi-site .menu-foot .social-link:hover { border-color:var(--line); background:rgba(35,35,38,.04); }

/* Match the discreet agency credit and original pineapple on other Colada demos. */
body.kr-divi-site .footer-bottom { align-items:center; flex-wrap:wrap; row-gap:12px; }
body.kr-divi-site .footer-bottom > p { margin:0; }
body.kr-divi-site .footer-attribution { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; }
body.kr-divi-site .footer-copyright { font:inherit; letter-spacing:inherit; }
body.kr-divi-site .colada-credit { display:inline-flex; flex:none; align-items:center; gap:.4rem; min-height:44px; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; }
body.kr-divi-site .colada-credit img { display:block; flex:none; width:20px; height:24px; object-fit:contain; }
body.kr-divi-site .colada-credit:hover span { text-decoration:underline; text-underline-offset:4px; }
@media (max-width:720px) {
  body.kr-divi-site .footer-bottom { align-items:flex-start; gap:12px; }
}
@media (min-width:721px) and (max-width:1050px) {
  body.kr-divi-site .footer-top { grid-template-columns:1fr auto; gap:28px; }
  body.kr-divi-site .footer-top > nav { grid-column:1/-1; grid-row:2; }
  body.kr-divi-site .footer-top > .social-links { grid-column:2; grid-row:1; }
}

@media (max-width:1050px) {
  body.kr-divi-site { --menu-gutter:clamp(24px,5vw,64px); }
  body.kr-divi-site .nav-shell { gap:20px; }
  body.kr-divi-site .brand { position:relative; z-index:4; }
  body.kr-divi-site .menu-toggle { z-index:4; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:0; }
  body.kr-divi-site .menu-toggle > span:not(.sr-only) { flex:none; width:27px; margin:4px 0; transition:transform .2s var(--ease); }
  body.kr-divi-site .menu-toggle[aria-expanded="true"] span:nth-child(2) { transform:translateY(4.5px) rotate(45deg); }
  body.kr-divi-site .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-4.5px) rotate(-45deg); }
  body.kr-divi-site .site-nav {
    inset:0; width:100%; height:100vh; height:100dvh; padding:120px var(--menu-gutter) max(26px,env(safe-area-inset-bottom));
    display:flex; flex-direction:column; align-items:stretch; gap:0; overflow-y:auto; overscroll-behavior:contain;
    background:var(--paper); color:var(--ink); transform:translateY(-8px); opacity:0; visibility:hidden;
    pointer-events:none; transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
  }
  body.kr-divi-site .site-nav.is-open { transform:none; opacity:1; visibility:visible; pointer-events:auto; }
  body.kr-divi-site.menu-open .site-header { position:fixed; inset:0 0 auto; width:100%; }
  body.kr-divi-site.menu-open .utility-bar { display:none; }
  body.kr-divi-site.menu-open .nav-shell { position:relative; z-index:3; }
  body.kr-divi-site.menu-open .nav-shell::before { content:""; position:fixed; inset:0 0 auto; height:78px; background:var(--paper); z-index:3; }
  body.kr-divi-site .menu-intro { display:flex; justify-content:space-between; align-items:center; flex:none; min-height:52px; margin-bottom:32px; padding-right:10px; }
  body.kr-divi-site .menu-intro > span:first-child { max-width:220px; color:var(--ember); font-size:.65rem; font-weight:500; line-height:1.7; letter-spacing:.18em; text-transform:uppercase; }
  body.kr-divi-site .menu-brand-mark { position:relative; width:52px; height:52px; border:1px solid rgba(142,55,28,.48); border-radius:50%; margin-right:8px; }
  body.kr-divi-site .menu-brand-mark::before { content:""; position:absolute; top:-10px; bottom:-10px; left:50%; width:1px; background:rgba(142,55,28,.3); }
  body.kr-divi-site .site-nav > a:not(.nav-cta) {
    flex:none; display:flex; align-items:baseline; gap:22px; width:100%; padding:12px 0 17px; border-bottom:1px solid var(--line);
    font-family:var(--serif); font-size:clamp(3.2rem,7.5vw,4.9rem); font-weight:300; letter-spacing:-.035em; line-height:1.05; text-transform:none;
  }
  body.kr-divi-site .site-nav > a:not(.nav-cta)::before { content:attr(data-step); color:var(--ember); font-family:var(--sans); font-size:.62rem; font-weight:400; letter-spacing:.1em; }
  body.kr-divi-site .site-nav > a:not(.nav-cta)::after { display:none; }
  body.kr-divi-site .site-nav > a.is-current { color:var(--ember); }
  body.kr-divi-site .site-nav > a:hover { color:var(--ember); }
  body.kr-divi-site .site-nav .nav-cta { flex:none; align-self:flex-start; margin:25px 0 38px; }
  body.kr-divi-site .menu-arrow { display:inline; font-size:1rem; }
  body.kr-divi-site .menu-details { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:auto; padding-top:28px; border-top:1px solid var(--line); }
  body.kr-divi-site .menu-location { min-width:0; font-size:.74rem; line-height:1.7; }
  body.kr-divi-site .menu-location p { padding:0; margin:0; }
  body.kr-divi-site .menu-location .menu-location-title { margin-bottom:9px; color:var(--ember); font-size:.62rem; font-weight:500; line-height:1.3; letter-spacing:.15em; text-transform:uppercase; }
  body.kr-divi-site .menu-location address { margin:2px 0 0; }
  body.kr-divi-site .menu-location > a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--line); }
  body.kr-divi-site .menu-foot { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:13px; border-top:1px solid var(--line); font-size:.6rem; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
  body.kr-divi-site .menu-foot > a { display:inline-flex; align-items:center; min-height:44px; gap:10px; }
  body.kr-divi-site .accordion summary { min-height:56px; }
}

@media (max-width:720px) {
  body.kr-divi-site .site-header { top:0; }
  body.kr-divi-site.menu-open .nav-shell::before { height:72px; }
  body.kr-divi-site .site-nav { padding-top:100px; }
  body.kr-divi-site .menu-intro { margin-bottom:20px; min-height:40px; }
  body.kr-divi-site .menu-brand-mark { width:38px; height:38px; }
  body.kr-divi-site .menu-intro > span:first-child { max-width:190px; font-size:.58rem; }
  body.kr-divi-site .site-nav > a:not(.nav-cta) { gap:18px; padding:10px 0 13px; font-size:clamp(2.9rem,12vw,4rem); }
  body.kr-divi-site .site-nav .nav-cta { margin:18px 0 26px; }
  body.kr-divi-site .menu-details { column-gap:18px; row-gap:14px; padding-top:22px; }
  body.kr-divi-site .menu-location { font-size:.75rem; line-height:1.65; }
  body.kr-divi-site .menu-location .menu-location-title { font-size:.64rem; }
  body.kr-divi-site .menu-foot { font-size:.625rem; gap:8px; padding-top:10px; }
}

@media (max-width:1050px) {
  body.kr-divi-site .drk-section .drk-col.contact-image { margin-right:0; }
}
@media (max-width:720px) {
  body.kr-divi-site .drk-hero-image img { object-position:63% center; }
}

@media (max-width:360px) {
  body.kr-divi-site { --menu-gutter:20px; }
  body.kr-divi-site .brand { width:190px; }
  body.kr-divi-site .menu-details { grid-template-columns:1fr; gap:16px; }
  body.kr-divi-site .menu-location { display:grid; grid-template-columns:1fr auto; column-gap:12px; }
  body.kr-divi-site .menu-location p, body.kr-divi-site .menu-location address { grid-column:1; }
  body.kr-divi-site .menu-location > a { grid-column:2; grid-row:2/span 2; align-self:start; }
}

@media (max-width:1050px) and (max-height:600px) and (min-width:600px) {
  body.kr-divi-site .site-nav { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto auto auto; gap:0 42px; padding-top:94px; }
  body.kr-divi-site .menu-intro { grid-column:1/-1; margin-bottom:16px; min-height:28px; }
  body.kr-divi-site .menu-brand-mark { width:28px; height:28px; }
  body.kr-divi-site .site-nav > a { grid-column:1; }
  body.kr-divi-site .site-nav > a:not(.nav-cta) { font-size:2.9rem; padding:7px 0 9px; }
  body.kr-divi-site .site-nav .nav-cta { margin:14px 0 0; }
  body.kr-divi-site .menu-details { grid-column:2; grid-row:2/span 4; grid-template-columns:1fr; align-self:start; gap:13px; padding-top:0; border-top:0; margin-top:0; }
  body.kr-divi-site .menu-foot { align-items:flex-start; }
}

@media (prefers-reduced-motion:reduce) {
  body.kr-divi-site .site-nav,body.kr-divi-site .menu-toggle > span,body.kr-divi-site .social-link { transition:none; }
}

/* A personal greeting; the body and other headings retain the brand fonts. */
body.kr-divi-site .doctor-copy h2.kelly-greeting {
  font-family:"Caveat",cursive;
  font-size:clamp(4.25rem,6.4vw,6.5rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.025em;
  color:var(--ember);
  margin-bottom:26px;
  display:inline-block;
  width:fit-content;
  max-width:100%;
  transform:rotate(-4deg);
  transform-origin:left center;
}
body.kr-divi-site .kelly-greeting .greeting-ink { display:inline-block; white-space:nowrap; }
body.kr-divi-site .kelly-greeting .greeting-letter { display:inline-block; white-space:pre; }
body.kr-divi-site .kelly-greeting.greeting-ready:not(.is-written) .greeting-letter { clip-path:inset(-.2em 100% -.2em 0); }
body.kr-divi-site .kelly-greeting.is-writing .greeting-letter { animation:kelly-ink-write var(--ink-duration) linear var(--ink-delay) both; }
@keyframes kelly-ink-write {
  from { clip-path:inset(-.2em 100% -.2em 0); }
  to { clip-path:inset(-.2em -.12em -.2em -.12em); }
}
@media(prefers-reduced-motion:reduce) {
  body.kr-divi-site .kelly-greeting.greeting-ready .greeting-letter { animation:none!important; clip-path:none!important; }
}
body.kr-divi-site .doctor-copy .eyebrow { margin-bottom:12px; }
/* Keep the portrait and warm biography balanced in the two-column layout. */
@media (min-width:1051px) {
  body.kr-divi-site:not(.et-fb) .drk-section .drk-col.doctor-photo { width:100%; min-width:0; min-height:0; align-self:stretch; position:relative; aspect-ratio:4 / 5; }
  body.kr-divi-site:not(.et-fb) .doctor-photo img { position:absolute; inset:0; width:100%; height:100%; }
  body.kr-divi-site:not(.et-fb) .doctor-copy { align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
  body.kr-divi-site:not(.et-fb) .doctor-copy p.drk-original-last { margin-bottom:0; }
}
@media (max-width:720px) {
  body.kr-divi-site .doctor-copy h2.kelly-greeting { font-size:clamp(3.25rem,16vw,4.25rem); }
}

/* Let the stacked care cards follow their content without stretched title gaps. */
@media (max-width:720px) {
  body.kr-divi-site .editorial-card,
  body.kr-divi-site .editorial-card + .editorial-card { min-height:0; }
  body.kr-divi-site .editorial-card h3 { margin:26px 0 16px; }
  body.kr-divi-site .footer-top nav a,
  body.kr-divi-site .location-card a[href^="tel:"],
  body.kr-divi-site .text-link { display:inline-flex; align-items:center; min-height:44px; }
  body.kr-divi-site .inquiry-section .drk-updates-optin label { display:flex; align-items:center; min-height:44px; font-size:.875rem; }
}

/* Reference-inspired navigation: artwork and fine outlines over the Home hero.
   The filter removes the supplied logo's paper backing at render time only. */
body.kr-divi-site { --kr-nav-height:92px; }
body.kr-divi-site .header-logo-filters { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
body.kr-divi-site .brand { display:flex; align-items:center; flex:none; height:52px; }
/* Trim the supplied canvas's visual padding without changing its artwork. */
body.kr-divi-site .brand img { width:145%; max-width:none; flex:none; margin-left:-12%; filter:url(#kr-logo-ink); }
body.kr-divi-site .site-header { background:transparent; box-shadow:none; color:var(--ink); }
body.kr-divi-site .site-header::before {
  content:""; position:absolute; inset:34px 0 0; z-index:-1;
  background:rgba(246,245,242,.94); border-bottom:1px solid rgba(35,35,38,.08);
  transition:background .25s,border-color .25s;
}
body.kr-divi-site .site-header.is-scrolled::before {
  background:var(--midnight); border-color:rgba(246,245,242,.12);
}
body.kr-divi-site .site-header .site-nav .nav-cta {
  background:transparent; border-color:var(--ember); color:var(--ember);
}
body.kr-divi-site .site-header .site-nav .nav-cta:hover {
  background:var(--ember); border-color:var(--ember); color:var(--paper);
}
body.kr-divi-site:not(.menu-open) .site-header.is-scrolled { color:var(--paper); }
body.kr-divi-site:not(.menu-open) .site-header.is-scrolled .brand img { filter:url(#kr-logo-paper); }
body.kr-divi-site:not(.menu-open) .site-header.is-scrolled .nav-cta {
  background:transparent; border-color:rgba(246,245,242,.85); color:var(--paper);
}
body.kr-divi-site:not(.menu-open) .site-header.is-scrolled .nav-cta:hover { background:var(--paper); color:var(--midnight); }
body.kr-divi-site:not(.menu-open) .site-header.is-scrolled :is(a,button):focus-visible { outline-color:var(--paper); }
body.kr-divi-site.home:not(.et-fb) .site-header { margin-bottom:calc(-1 * var(--kr-nav-height)); }
body.kr-divi-site.home:not(.et-fb):not(.menu-open) .site-header:not(.is-scrolled) { color:var(--paper); }
body.kr-divi-site.home:not(.et-fb):not(.menu-open) .site-header:not(.is-scrolled)::before {
  background:linear-gradient(180deg,rgba(27,36,54,.58),rgba(27,36,54,0)); border-color:transparent;
}
body.kr-divi-site.home:not(.et-fb):not(.menu-open) .site-header:not(.is-scrolled) .brand img { filter:url(#kr-logo-paper); }
body.kr-divi-site.home:not(.et-fb):not(.menu-open) .site-header:not(.is-scrolled) .nav-cta {
  background:transparent; border-color:rgba(246,245,242,.85); color:var(--paper);
}
body.kr-divi-site.home:not(.et-fb):not(.menu-open) .site-header:not(.is-scrolled) .nav-cta:hover {
  background:var(--paper); color:var(--midnight);
}
body.kr-divi-site.home:not(.et-fb):not(.menu-open) .site-header:not(.is-scrolled) :is(a,button):focus-visible { outline-color:var(--paper); }
body.kr-divi-site.home:not(.et-fb) .hero-home { min-height:min(882px,calc(100svh - 34px)); }
body.kr-divi-site.home:not(.et-fb) .hero-home .hero-content { padding-top:calc(clamp(90px,12vh,145px) + var(--kr-nav-height)); }
body.kr-divi-site .hero-home .hero-actions .button-ember {
  background:transparent; border-color:rgba(246,245,242,.85); color:var(--paper);
}
body.kr-divi-site .hero-home .hero-actions .button-ember:hover { background:var(--paper); color:var(--midnight); }
body.kr-divi-site .menu-toggle { color:inherit; }
body.kr-divi-site .menu-toggle > span:not(.sr-only) { background:currentColor; }
@media (max-width:1050px) {
  body.kr-divi-site { --kr-nav-height:78px; }
  body.kr-divi-site.home:not(.et-fb) .hero-home { min-height:798px; }
  body.kr-divi-site .menu-toggle { border:1px solid currentColor; }
  body.kr-divi-site .menu-toggle > span:not(.sr-only) { width:22px; }
  body.kr-divi-site.menu-open .site-header::before { background:var(--paper); -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media (max-width:720px) {
  body.kr-divi-site { --kr-nav-height:72px; }
  body.kr-divi-site .site-header::before { top:0; }
  body.kr-divi-site.home:not(.et-fb) .hero-home { min-height:100svh; }
}
@media (prefers-reduced-motion:reduce) {
  body.kr-divi-site .site-header::before { transition:none; }
}

/* Services at a glance: readable anchors above the detailed treatment copy. */
body.kr-divi-site .page-hero-services { padding:0; }
body.kr-divi-site .page-hero-services .page-hero-grid { gap:0; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
body.kr-divi-site .page-hero-services .page-hero-copy {
 padding:clamp(48px,5vw,76px) clamp(32px,4vw,76px) clamp(48px,5vw,76px) max(40px,calc((100vw - 1280px) / 2));
}
body.kr-divi-site .page-hero-services .page-hero-copy h1 { font-size:clamp(3.5rem,5vw,4rem); margin-bottom:24px; }
body.kr-divi-site .page-hero-services .page-hero-image { position:relative; height:auto; min-height:620px; overflow:hidden; }
body.kr-divi-site .page-hero-services .page-hero-image img {
 position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 40%;
}
body.kr-divi-site .treatment-options { margin-top:30px; scroll-margin-top:calc(var(--kr-nav-height) + 20px); }
body.kr-divi-site .treatment-options .eyebrow { margin-bottom:14px; }
body.kr-divi-site .drk-section .treatment-options ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 26px; }
body.kr-divi-site .treatment-options li { margin:0; padding:0; border-top:1px solid var(--line); }
body.kr-divi-site .treatment-options a { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; font:400 .9rem/1.45 var(--sans); }
body.kr-divi-site .treatment-options a span:first-child { max-width:24ch; }
body.kr-divi-site .treatment-options a span:last-child { flex:none; color:var(--ember); }
body.kr-divi-site .treatment-options a:hover { color:var(--ember); }
body.kr-divi-site .treatment-options a:focus-visible,body.kr-divi-site .service-back:focus-visible { outline:2px solid var(--ember); outline-offset:4px; }
body.kr-divi-site .service-back { display:inline-flex; gap:14px; align-items:center; min-height:44px; margin-top:20px; font:500 .7rem/1.4 var(--sans); letter-spacing:.1em; text-transform:uppercase; text-decoration:underline; text-underline-offset:5px; }
body.kr-divi-site .service-sticky { top:calc(var(--kr-nav-height) + 32px); }
body.kr-divi-site .focus-rows a { gap:20px; }
body.kr-divi-site .focus-rows a > span { font-size:clamp(1.65rem,2.15vw,2.1rem); }
body.kr-divi-site .focus-rows a > i { display:block; flex:none; font-size:1rem; }
@media(max-width:1050px) {
 body.kr-divi-site .page-hero-services .page-hero-grid { grid-template-columns:minmax(0,1fr); gap:0; }
 body.kr-divi-site .page-hero-services .page-hero-copy { padding:48px max(24px,calc((100vw - 920px) / 2)); }
 body.kr-divi-site .page-hero-services .page-hero-image { height:clamp(480px,80vw,680px); min-height:0; }
 body.kr-divi-site .service-sticky { position:static; }
}
@media(max-width:720px) {
 body.kr-divi-site .page-hero-services .page-hero-copy { padding-inline:19px; }
 body.kr-divi-site .page-hero-services .page-hero-copy h1 { font-size:3.5rem; }
 body.kr-divi-site .drk-section .treatment-options ul { grid-template-columns:1fr; }
 body.kr-divi-site .treatment-options a { min-height:52px; font-size:.95rem; }
 body.kr-divi-site .page-hero-services .page-hero-image { height:clamp(420px,110vw,600px); }
}

/* Keep the relocated About portrait proportionate on stacked tablet layouts. */
body.kr-divi-site .doctor-photo img { transform:scale(1.06); transform-origin:center bottom; }
body.kr-divi-site .doctor-copy .education-link {
 color:inherit; text-decoration:none;
}
body.kr-divi-site .doctor-copy .education-link:hover { color:var(--ember); }

/* Direct location bookings beneath the first-visit introduction. */
body.kr-divi-site .process-intro .et_pb_button_module_wrapper:has(.process-booking) {
 display:inline-flex; max-width:100%; vertical-align:top; margin:14px 12px 0 0;
}
body.kr-divi-site .process-intro .et_pb_button_module_wrapper:has(.process-booking-nanaimo) { margin-right:0; }
body.kr-divi-site .process-intro a.process-booking.et_pb_button {
 background:transparent; color:var(--midnight); border:1px solid var(--midnight)!important;
 margin:0; max-width:100%; box-sizing:border-box; text-decoration:none;
 transition:background .2s ease,border-color .2s ease;
}
body.kr-divi-site .process-intro a.process-booking.et_pb_button:hover {
 background:rgba(27,36,54,.06); color:var(--midnight); border-color:var(--midnight)!important;
}
body.kr-divi-site .process-intro a.process-booking.et_pb_button:focus-visible { outline-color:var(--midnight); }
@media(prefers-reduced-motion:reduce) {
 body.kr-divi-site .process-intro a.process-booking.et_pb_button { transition:none; }
}

/* One edge-to-edge services action beneath the Home concern columns. */
body.kr-divi-site .needs-section.has-services-cta { padding-bottom:0; }
body.kr-divi-site .needs-section .drk-row.needs-services-action {
 width:100%; max-width:none; margin:clamp(40px,5vw,72px) 0 0; padding:0;
}
body.kr-divi-site .needs-services-action .drk-col { width:100%; }
body.kr-divi-site .needs-services-action a.drk-button.et_pb_button {
 display:flex; width:100%; max-width:none; box-sizing:border-box; min-height:80px;
 background:var(--ember); color:var(--paper); text-decoration:none;
 transition:background .2s ease;
}
body.kr-divi-site .needs-services-action a.drk-button.et_pb_button:hover { background:#742c17; }
body.kr-divi-site .needs-services-action a.drk-button.et_pb_button:focus-visible {
 outline:2px solid var(--paper); outline-offset:-7px;
}
@media(max-width:720px) {
 body.kr-divi-site .needs-services-action a.drk-button.et_pb_button { min-height:72px; }
}
@media(prefers-reduced-motion:reduce) {
 body.kr-divi-site .needs-services-action a.drk-button.et_pb_button { transition:none; }
}
@media(min-width:721px) and (max-width:1050px) {
 body.kr-divi-site .doctor-photo { min-height:0; }
 body.kr-divi-site .doctor-photo img { width:100%; height:620px; object-fit:cover; object-position:center 30%; }
}

/* Contact portrait reaches the outer edge; crop the original image in its frame. */
body.kr-divi-site .contact-hero .drk-row .drk-col.contact-image {
 position:relative; align-self:stretch;
 width:calc(100% + (100vw - var(--wrap)) / 2);
 min-height:640px; margin:0;
}
body.kr-divi-site .contact-hero .contact-image img {
 position:absolute; inset:0; display:block; width:100%; height:100%;
 max-width:none; object-fit:cover; object-position:50% 30%;
}
@media(max-width:1050px) {
 body.kr-divi-site .contact-hero .drk-row .drk-col.contact-image {
  width:100vw!important; height:clamp(480px,75vw,640px); min-height:0;
  margin-left:min(-24px,calc((920px - 100vw) / 2)); margin-right:0;
 }
}
@media(max-width:720px) {
 body.kr-divi-site .contact-hero .drk-row .drk-col.contact-image { margin-left:-19px; }
}

/* Extend the closing treatment photo through the left page gutter. */
body.kr-divi-site .contact-closing-grid { --contact-photo-gutter:max(40px,calc((100vw - 1280px) / 2)); }
body.kr-divi-site .contact-closing-grid .drk-image img {
 width:calc(100% + var(--contact-photo-gutter)); max-width:none; min-width:0;
 margin-left:calc(0px - var(--contact-photo-gutter)); align-self:stretch;
 height:620px; min-height:0; object-fit:cover; object-position:center 40%;
}
@media(max-width:1050px) {
 body.kr-divi-site .contact-closing-grid { --contact-photo-gutter:max(24px,calc((100vw - 920px) / 2)); }
}
@media(max-width:720px) {
 body.kr-divi-site .contact-closing-grid .drk-image img {
  width:100vw; margin-left:-19px; height:520px; min-height:0;
 }
}

/* Progressive motion: no content depends on JavaScript becoming visible. */
body.kr-divi-site .reveal { opacity:1; transform:none; transition:none; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 body.kr-divi-site a.button,
 body.kr-divi-site .drk-section a.drk-button.et_pb_button,
 body.kr-divi-site .site-nav .nav-cta {
  transition:color .25s,background .25s,border-color .25s,translate .25s cubic-bezier(.22,1,.36,1);
 }
 body.kr-divi-site a.button:hover,
 body.kr-divi-site .drk-section a.drk-button.et_pb_button:hover,
 body.kr-divi-site .site-nav .nav-cta:hover { translate:0 -2px; }
 body.kr-divi-site a.button:active,
 body.kr-divi-site .drk-section a.drk-button.et_pb_button:active,
 body.kr-divi-site .site-nav .nav-cta:active { translate:0 0; }
}
@media (max-width:1050px) and (prefers-reduced-motion:no-preference) {
 body.kr-divi-site .site-nav.is-open > a { animation:kr-menu-arrive .42s cubic-bezier(.22,1,.36,1) both; }
 body.kr-divi-site .site-nav.is-open > a:nth-of-type(2) { animation-delay:45ms; }
 body.kr-divi-site .site-nav.is-open > a:nth-of-type(3) { animation-delay:90ms; }
 body.kr-divi-site .site-nav.is-open > a:nth-of-type(4) { animation-delay:135ms; }
 body.kr-divi-site .site-nav.is-open > a:focus-visible { animation:none; }
}
@keyframes kr-menu-arrive {
 from { opacity:0; transform:translateY(10px); }
 to { opacity:1; transform:translateY(0); }
}

/* The method: native two-column section with an edge-to-edge left photograph. */
body.kr-divi-site.page-id-8 .evidence-section { padding:0; }
body.kr-divi-site.page-id-8 .evidence-section .evidence-grid {
 width:100%; max-width:none; margin:0; padding:0; display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; align-items:stretch;
}
body.kr-divi-site.page-id-8 .evidence-section .evidence-photo {
 position:relative; min-height:clamp(640px,50vw,900px); overflow:hidden;
}
body.kr-divi-site.page-id-8 .evidence-section .evidence-photo img {
 position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none;
 grid-column:auto; object-fit:cover; object-position:50% 50%;
}
body.kr-divi-site.page-id-8 .evidence-section .evidence-copy {
 display:flex; flex-direction:column; justify-content:center;
 padding:clamp(64px,7vw,110px) clamp(40px,6vw,100px);
}
body.kr-divi-site.page-id-8 .evidence-section .evidence-copy h2 { margin:0 0 32px; max-width:600px; }
body.kr-divi-site.page-id-8 .evidence-section .evidence-copy p:not(.eyebrow) { margin:0; font-size:1rem; max-width:560px; }
@media(max-width:1050px) {
 body.kr-divi-site.page-id-8 .evidence-section .evidence-grid { grid-template-columns:minmax(0,1fr); }
 body.kr-divi-site.page-id-8 .evidence-section .evidence-photo { min-height:0; height:clamp(360px,62vw,600px); }
 body.kr-divi-site.page-id-8 .evidence-section .evidence-copy { padding:64px 24px; }
}
@media(max-width:720px) {
 body.kr-divi-site.page-id-8 .evidence-section .evidence-copy { padding:56px 19px; }
}
