/* Blazor moves focus to a page's heading after navigating (and the skip link to the page body); both are focused by script, not by the visitor, so they get no outline. Links and buttons keep their keyboard focus ring. */
#main-content:focus,#main-content:focus-visible,h1[tabindex="-1"]:focus,h1[tabindex="-1"]:focus-visible,.hm-page [tabindex="-1"]:focus,.hm-page [tabindex="-1"]:focus-visible{outline:none!important}
/* The public home page (MarketingHome.razor). Section colours come from the theme class on each section: hm-theme-light | beige | dark | black (all in black, white and grey). */
.hm-page{--hm-max:1720px;--hm-gutter:clamp(20px,4.5vw,72px);--hm-ink:#111111;--hm-muted:#666666;--hm-tan:#ffffff;--hm-tan-deep:#111111;--hm-cream:#f5f5f5;--hm-cream-deep:#ececec;--hm-dark:#1a1a1a;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--hm-ink);background:var(--hm-cream);-webkit-font-smoothing:antialiased}
.hm-page h1,.hm-page h2{font-family:Newsreader,Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.01em;margin:0}
.hm-page h1 em,.hm-page h2 em{font-style:italic}
.hm-page a{color:inherit}
.hm-loading{padding:80px 24px;text-align:center;color:var(--hm-muted)}
/* Every word starts with a capital letter, whatever was typed in the admin (words already in capitals, like AI, stay as they are). */
.hm-header,.hm-page main{text-transform:capitalize}
.hm-page .hm-eyebrow{text-transform:uppercase}
/* A customer's review is shown as they wrote it. */
.hm-page .hm-quote blockquote{text-transform:none}
/* Everything on the page is centred. */
.hm-page main{text-align:center}
.hm-hero-copy,.hm-cta-inner>*,.hm-lead,.hm-search{margin-left:auto;margin-right:auto}
.hm-buttons{justify-content:center}
.hm-strip-item,.hm-tile{justify-content:center;text-align:left}
.hm-quote figcaption{text-align:center}

/* Header */
.hm-header{position:relative;z-index:5;display:flex;align-items:center;gap:36px;max-width:var(--hm-max);margin:0 auto;padding:22px var(--hm-gutter)}
.hm-logo img{display:block;height:34px;width:auto}
.hm-nav{display:flex;gap:30px;flex:1}
.hm-nav a{position:relative;padding:6px 0;font-size:14px;text-decoration:none;color:var(--hm-ink)}
.hm-nav a.is-current::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--hm-ink)}
.hm-header-actions{display:flex;align-items:center;gap:22px}
.hm-menu{display:none;margin-left:auto;position:relative}
.hm-menu summary{list-style:none;cursor:pointer;font-size:24px;line-height:1;padding:6px 10px}
.hm-menu summary::-webkit-details-marker{display:none}
.hm-menu-panel{position:absolute;right:0;top:100%;z-index:20;display:grid;gap:4px;min-width:220px;padding:14px;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.hm-menu-panel a{padding:10px 8px;text-decoration:none;border-radius:8px}
.hm-menu-panel a:hover{background:var(--hm-cream)}
.hm-menu-panel .hm-btn{justify-content:center;margin-top:6px}

/* Buttons */
.hm-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hm-more-clinics{margin:10px 0 0;font-size:13.5px;opacity:.75}
.hm-btn{display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s}
/* Written with .hm-page so they outrank ".hm-page a{color:inherit}" - otherwise the label takes the section's text colour and a black button gets black text. */
.hm-page .hm-btn-primary{background:#111111;color:#ffffff}
.hm-page .hm-btn-primary:hover{background:#333333}
.hm-page .hm-theme-dark .hm-btn-primary,.hm-page .hm-theme-black .hm-btn-primary{background:#ffffff;color:#111111}
.hm-page .hm-theme-dark .hm-btn-primary:hover,.hm-page .hm-theme-black .hm-btn-primary:hover{background:#e5e5e5}
.hm-btn-secondary{border-color:currentColor;background:transparent}
.hm-btn-secondary:hover{background:rgba(127,127,127,.14)}
.hm-btn-small{padding:10px 18px;font-size:13px}
.hm-btn-icon{width:20px;height:20px}
.hm-icon{width:28px;height:28px;flex:none}

/* Sections */
.hm-section{padding:clamp(52px,6vw,96px) var(--hm-gutter)}
.hm-theme-light{background:#fff;color:var(--hm-ink)}
.hm-theme-beige{background:var(--hm-cream);color:var(--hm-ink)}
.hm-theme-dark{background:var(--hm-dark);color:#ffffff}
.hm-theme-black{background:#000;color:#ffffff}
.hm-eyebrow{margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--hm-tan-deep)}
.hm-theme-dark .hm-eyebrow,.hm-theme-black .hm-eyebrow{color:var(--hm-tan)}
.hm-lead{margin:20px 0 0;font-size:17px;line-height:1.6;color:var(--hm-muted);max-width:520px}
.hm-theme-dark .hm-lead,.hm-theme-black .hm-lead{color:#d4d4d4}
.hm-section h2{font-size:clamp(34px,4.4vw,54px);line-height:1.08}

/* Hero */
.hm-hero{position:relative;overflow:hidden;padding:30px var(--hm-gutter) 0;background:var(--hm-cream-deep)}
.hm-hero.hm-theme-light{background:#fff}
.hm-hero.hm-theme-dark{background:var(--hm-dark)}
.hm-hero.hm-theme-black{background:#000}
.hm-hero-image{position:absolute;right:0;top:0;width:64%;height:100%;object-fit:cover;object-position:center top;-webkit-mask-image:linear-gradient(to right,transparent,#000 38%);mask-image:linear-gradient(to right,transparent,#000 38%)}
.hm-hero-inner{position:relative;max-width:var(--hm-max);margin:0 auto;padding:30px 0 40px}
.hm-hero-copy{max-width:600px}
.hm-hero h1{font-size:clamp(40px,5.4vw,68px);line-height:1.04}
.hm-hero .hm-lead{max-width:440px}
.hm-search{display:flex;align-items:center;gap:12px;margin-top:34px;max-width:600px;padding:8px 8px 8px 20px;border-radius:999px;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.12)}
.hm-search-icon{width:20px;height:20px;color:var(--hm-ink)}
.hm-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:14.5px;color:var(--hm-ink)}
.hm-search-where{display:inline-flex;align-items:center;gap:6px;padding-left:14px;border-left:1px solid #e5e5e5;font-size:14px;white-space:nowrap}
.hm-where-icon{width:18px;height:18px}
.hm-search-go{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--hm-tan-deep);color:#fff;cursor:pointer}
.hm-search-go .hm-icon{width:20px;height:20px}
.hm-clinics{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;max-width:var(--hm-max);margin:0 auto;padding:0 0 36px}
.hm-clinic{display:block;overflow:hidden;border-radius:14px;background:#fff;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.hm-clinic-photo{position:relative;display:grid;place-items:center;height:96px;background:#e5e5e5 center/cover;color:#777777;font-family:Georgia,serif;font-size:24px}
.hm-clinic-heart{position:absolute;right:8px;top:8px;width:24px;height:24px;padding:4px;border-radius:50%;background:#fff;color:var(--hm-ink)}
.hm-clinic-body{display:grid;gap:3px;padding:12px 14px 14px}
.hm-clinic-body strong{font-size:13px}
.hm-clinic-body small{font-size:12px;color:var(--hm-muted)}
.hm-clinic-rating{font-size:12px;font-weight:600}
.hm-clinic-rating span{color:#111111}
.hm-clinic-view{margin-top:6px;font-size:12px;font-weight:600}

/* Text and picture */
.hm-split-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center;max-width:var(--hm-max);margin:0 auto}
.hm-image-left .hm-split-media{order:-1}
.hm-split-media img{display:block;width:100%;height:auto;border-radius:12px}
.hm-no-image .hm-split-inner{grid-template-columns:minmax(0,720px);justify-content:center}

/* Strip */
.hm-strip{padding:26px var(--hm-gutter);border-top:1px solid rgba(255,255,255,.08)}
.hm-strip-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:22px;max-width:var(--hm-max);margin:0 auto}
.hm-strip-item{display:flex;align-items:center;gap:14px}
.hm-strip-item .hm-icon{width:32px;height:32px;color:var(--hm-tan)}
.hm-strip-item strong,.hm-tile strong{display:block;font-size:13.5px;font-weight:600}
.hm-strip-item small,.hm-tile small{display:block;margin-top:2px;font-size:12px;color:#a3a3a3}

/* Tiles */
.hm-tiles-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:48px;align-items:center;max-width:var(--hm-max);margin:0 auto}
.hm-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hm-tile{display:flex;align-items:center;gap:14px;padding:20px 18px;border:1px solid #e5e5e5;border-radius:10px;background:rgba(255,255,255,.62)}
.hm-tile .hm-icon{width:30px;height:30px;color:var(--hm-tan-deep)}
.hm-tile small{color:var(--hm-muted)}
.hm-theme-dark .hm-tile .hm-icon,.hm-theme-black .hm-tile .hm-icon{color:#ffffff}
.hm-theme-dark .hm-tile{background:#1a1a1a;border-color:#333333}
.hm-theme-black .hm-tile{background:#141414;border-color:#2c2c2c}

/* Testimonials */
.hm-testimonials-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:48px;align-items:center;max-width:var(--hm-max);margin:0 auto}
.hm-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hm-quote{margin:0;padding:24px 22px;border-radius:12px;background:#1a1a1a;border:1px solid #333333}
.hm-stars{color:var(--hm-tan);letter-spacing:.14em;font-size:14px}
.hm-theme-light .hm-stars,.hm-theme-beige .hm-stars{color:#111111}
.hm-quote blockquote{margin:14px 0 18px;font-size:14.5px;line-height:1.55;color:#e6e6e6}
.hm-quote figcaption strong{display:block;font-size:14px}
.hm-quote figcaption small{display:block;margin-top:2px;font-size:12.5px;color:#a3a3a3}
.hm-theme-beige .hm-quote,.hm-theme-light .hm-quote{background:#fff;border-color:#e5e5e5}
.hm-theme-beige .hm-quote blockquote,.hm-theme-light .hm-quote blockquote{color:var(--hm-ink)}

/* Call to action */
.hm-cta{position:relative;overflow:hidden}
.hm-cta-image{position:absolute;right:0;top:0;width:55%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(to right,transparent,#000 35%);mask-image:linear-gradient(to right,transparent,#000 35%)}
.hm-cta-inner{position:relative;max-width:var(--hm-max);margin:0 auto}
.hm-cta-inner>*{max-width:560px}
.hm-cta:not(:has(.hm-cta-image)) .hm-cta-inner>*{max-width:none}
.hm-cta h2{font-size:clamp(34px,4.2vw,50px)}

@media(max-width:1000px){
  .hm-nav,.hm-header-actions{display:none}
  .hm-menu{display:block}
  .hm-header{padding:16px 20px}
  .hm-hero{padding:0}
  .hm-hero-image{position:static;display:block;width:100%;height:240px;-webkit-mask-image:none;mask-image:none}
  .hm-hero-inner{padding:28px 20px 24px}
  .hm-clinics{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 20px 28px}
  .hm-search{flex-wrap:wrap;border-radius:26px}
  .hm-search-where{display:none}
  .hm-section{padding:52px 20px}
  .hm-split-inner,.hm-tiles-inner,.hm-testimonials-inner{grid-template-columns:1fr;gap:32px}
  .hm-image-left .hm-split-media{order:0}
  .hm-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm-quotes{grid-template-columns:1fr}
  .hm-cta-image{position:static;width:100%;height:220px;display:block;margin:-52px 0 28px;-webkit-mask-image:none;mask-image:none}
  .hm-cta{padding-top:0}
  .hm-cta-inner{padding-top:0}
}
@media(max-width:560px){
  .hm-tile-grid{grid-template-columns:1fr}
  .hm-strip-inner{grid-template-columns:1fr 1fr}
}

/* Banners: pictures that change one after another (CSS only - the page sets each banner's timing and the keyframes) */
.hm-section.hm-banners{padding:0}
.hm-banner-stage{display:grid;min-height:clamp(260px,36vw,520px);position:relative;overflow:hidden}
.hm-banner{grid-area:1/1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:inherit;background:#000;color:#fff}
.hm-banner-stage.is-rotating .hm-banner{opacity:0;visibility:hidden}
.hm-banner-stage:hover .hm-banner,.hm-banner-stage:focus-within .hm-banner{animation-play-state:paused!important}
.hm-banner::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.25) 60%,rgba(0,0,0,.35))}
.hm-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hm-banner-copy{position:relative;z-index:2;max-width:760px;padding:clamp(28px,5vw,72px) var(--hm-gutter)}
.hm-banner-copy h2{font-size:clamp(30px,4.4vw,54px);line-height:1.08;color:#fff}
.hm-banner-copy p{margin:14px auto 0;font-size:17px;line-height:1.55;color:#f0f0f0}
.hm-page .hm-banner-btn{margin-top:24px;background:#fff;color:#111}
.hm-page .hm-banner-btn:hover{background:#e5e5e5}
.hm-banner-hit{position:absolute;inset:0;z-index:2}
.hm-banner-copy .hm-banner-btn{position:relative;z-index:3}
@media (prefers-reduced-motion:reduce){.hm-banner-stage.is-rotating .hm-banner{animation:none!important;opacity:0;visibility:hidden}.hm-banner-stage.is-rotating .hm-banner:first-child{opacity:1;visibility:visible}}

/* Scrolling: a line of words, icons and logos sliding across, repeated so it never has a gap */
.hm-section.hm-scroller{padding:18px 0;overflow:hidden}
.hm-marquee{overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.hm-marquee-track{display:flex;width:max-content;animation:hm-marquee 30s linear infinite}
.hm-marquee:hover .hm-marquee-track,.hm-marquee:focus-within .hm-marquee-track{animation-play-state:paused}
.hm-marquee-group{display:flex;flex:none;align-items:center;justify-content:space-around;gap:56px;box-sizing:border-box;min-width:100vw;margin:0;padding:0 28px;list-style:none}
.hm-marquee-group li{flex:none}
.hm-marquee-group a,.hm-marquee-group span{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:600;text-decoration:none}
.hm-marquee-icon{width:24px;height:24px}
.hm-marquee-logo{display:block;height:38px;width:auto}
@keyframes hm-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.hm-marquee{overflow-x:auto}.hm-marquee-track{animation:none}.hm-marquee-group[aria-hidden]{display:none}}