/* Clinic introduction. Shared brand type, restrained colour and actual clinic photographs. */
.s-page-brand { padding-bottom:0 !important; }
.s-page-brand .w-quick { display:none !important; }
.s-page-brand #main { --content:1320px; }
.s-page-brand .breadcrumb { max-width:calc(1320px + 2*var(--gutter)); padding-top:28px; }
.b-page { --b-line:#dedfdd; --b-muted:#747975; --b-blue:#87a0b6; color:#303332; background:#fff; font:400 16px/1.85 'Weshe Min',Arial,sans-serif; }
.b-page * { min-width:0; }
.b-page [hidden] { display:none !important; }
.b-page h1,.b-page h2,.b-page h3,.b-page p,.b-page figure { margin:0; }
.b-page h1,.b-page h2,.b-page h3 { font-weight:400; word-break:keep-all; overflow-wrap:break-word; }
.b-page p { word-break:keep-all; overflow-wrap:break-word; }
.b-page h2 { font-size:clamp(28px,2.65vw,38px); line-height:1.5; letter-spacing:-.055em; }
.b-page h3 { font-size:23px; line-height:1.5; letter-spacing:-.04em; }
.b-page a { text-decoration:none !important; }
.b-page a:hover,.b-page button:hover { color:#6c899f; }
.b-page a:focus-visible,.b-page button:focus-visible,.b-track:focus-visible { outline:2px solid #87a0b6; outline-offset:5px; }
.b-page img { display:block; }
.b-shell { width:100%; max-width:calc(1320px + 2*var(--gutter)); margin-inline:auto; padding-inline:var(--gutter); }
.b-section { padding-block:92px; scroll-margin-top:90px; }
.b-page .b-label { font-size:10px; line-height:1.8; letter-spacing:.14em; color:#5d717e; margin-bottom:23px; }
.b-link { display:inline-flex; align-items:center; justify-content:space-between; gap:46px; min-height:44px; font-size:13px; }
.b-link span { font-size:23px; }
.b-mobile-break { display:none; }
.b-hero { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); align-items:center; gap:64px; padding-top:38px; padding-bottom:82px; }
.b-hero h1 { font-size:clamp(34px,3.2vw,47px); line-height:1.4; letter-spacing:-.065em; }
.b-hero-intro { margin-top:32px !important; color:#5c625f; line-height:1.95; }
.b-hero-copy > .b-link { margin-top:32px; }
.b-hero-photo > img { width:100%; height:535px; object-fit:cover; object-position:50% 50%; }
.b-hero-photo figcaption { display:flex; justify-content:space-between; gap:20px; font-size:8px; color:var(--b-muted); letter-spacing:.09em; margin-top:14px; }
.b-introduction { display:grid; grid-template-columns:1fr 1.55fr; gap:80px; position:relative; }
.b-introduction::before { content:''; position:absolute; top:0; left:var(--gutter); right:var(--gutter); height:1px; background:var(--b-line); }
.b-prose { max-width:680px; }
.b-prose p+p { margin-top:22px; }
.b-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:60px; margin-bottom:44px; }
.b-section-head > p { max-width:450px; font-size:15px; color:#5c625f; }
.b-principles { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 60px; margin:0; padding:0; }
.b-principles > li { display:grid; grid-template-columns:50px 1fr; gap:22px; border-top:1px solid var(--b-line); padding-block:34px 42px; }
.b-number { display:block; color:#7d96a8; font:400 28px/1.4 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.b-principles h3 { margin-bottom:15px; }
.b-principles p { font-size:15px; color:#626965; }
.b-principles > .b-principle-lab { grid-column:1/-1; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding-bottom:0; }
.b-principle-lab-copy { display:grid; grid-template-columns:50px 1fr; gap:22px; }
.b-principle-lab .b-link { margin-top:20px; }
.b-principle-lab figure img { width:100%; height:230px; object-fit:cover; object-position:center 48%; }
.b-hygiene { background:#f7f6f3; }
.b-hygiene .b-section-head { align-items:start; }
.b-hygiene-intro { flex:0 1 420px; padding-top:42px; color:#5c625f; font-size:15px; }
.b-hygiene-intro p+p { margin-top:15px; }
.b-hygiene-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:55px; margin-top:54px; }
.b-hygiene-cards article { border-top:1px solid #cdcfc9; padding-top:25px; }
.b-hygiene-cards .b-number { font-size:23px; margin-bottom:26px; }
.b-hygiene-cards h3 { font-size:22px; margin-bottom:14px; }
.b-hygiene-cards p { color:#626965; font-size:15px; }
.b-space { display:grid; grid-template-columns:300px minmax(0,1fr); gap:65px; padding-block:110px; }
.b-space-copy h2 { margin-bottom:32px; }
.b-space-copy > p:not(.b-label) { font-size:14px; color:#626965; }
.b-space-copy > p+p { margin-top:20px; }
.b-track { position:relative; display:grid; grid-auto-flow:column; grid-auto-columns:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.b-track::-webkit-scrollbar,.b-thumbnails::-webkit-scrollbar { display:none; }
.b-track > [data-b-slide] { scroll-snap-align:start; scroll-snap-stop:always; }
.b-space-slide > img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.b-space-slide figcaption { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:70px; padding-block:18px 8px; }
.b-space-slide figcaption > span { font:400 22px/1.3 Georgia,'Times New Roman',serif; }
.b-space-slide figcaption small { font:400 11px/1.6 'Weshe Min',Arial,sans-serif; display:block; margin-top:4px; color:var(--b-muted); }
.b-space-slide figcaption p { font-size:12px; color:var(--b-muted); text-align:right; }
.b-carousel-controls { display:flex; gap:16px; align-items:center; padding-top:17px; }
.b-counter { flex:none; min-width:68px; font-size:10px; color:#677b89; letter-spacing:.03em; }
.b-progress { flex:1; height:1px; background:var(--b-line); margin-right:15px; overflow:hidden; }
.b-progress > span { display:block; height:100%; width:100%; background:#536b7b; transform:scaleX(.111111); transform-origin:left; transition:transform .25s ease; }
.b-carousel-controls button { width:44px; height:44px; display:grid; place-items:center; background:transparent; border:0; padding:0; color:#343d42; font-size:26px; cursor:pointer; }
.b-carousel-controls button:disabled { color:#c2c6c7; cursor:default; }
.b-thumbnails { display:flex; gap:10px; overflow-x:auto; scrollbar-width:none; margin-top:22px; padding:4px; scroll-padding-inline:4px; }
.b-thumbnails button { flex:0 0 90px; width:90px; height:64px; border:0; background:#eeece7; padding:0; opacity:.52; cursor:pointer; transition:opacity .2s; }
.b-thumbnails button img { width:100%; height:100%; object-fit:cover; }
.b-thumbnails button:hover { opacity:.85; }
.b-thumbnails button[aria-current="true"] { opacity:1; outline:1px solid #3e4b50; outline-offset:3px; }
.b-equipment { padding-top:60px; }
.b-equipment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 36px; }
.b-equipment-grid article { border-top:1px solid var(--b-line); padding-top:24px; }
.b-equipment-grid figure { display:grid; place-items:center; height:210px; background:#fafaf8; margin-bottom:22px; padding:18px; }
.b-equipment-grid figure img { max-width:100%; max-height:174px; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.b-equipment-grid .b-equipment-pair { display:flex; align-items:center; justify-content:center; gap:15px; }
.b-equipment-pair img:first-child { max-width:64%; }
.b-equipment-pair img:last-child { max-width:28%; }
.b-equipment-grid h3 { font-size:19px; margin-bottom:13px; }
.b-equipment-grid p { font-size:14px; color:#626965; line-height:1.85; max-width:365px; }
.b-partners { padding-top:60px; }
.b-partner-track { grid-auto-columns:25%; border-block:1px solid var(--b-line); }
.b-partner { padding:34px 26px; text-align:center; }
.b-partner > div { height:76px; display:flex; align-items:center; justify-content:center; }
.b-partner img { width:var(--b-logo-width,190px); max-width:100%; max-height:60px; height:auto; object-fit:contain; }
.b-partner figcaption { margin-top:20px; font-size:12px; color:var(--b-muted); }
.b-partners-contact { display:flex; justify-content:space-between; gap:25px; align-items:center; margin-top:24px; }
.b-partners-contact p { color:var(--b-muted); font-size:12px; }
.b-ending { padding-block:95px; background:#f7f6f3; text-align:center; }
.b-ending h2 { font-size:clamp(26px,2.55vw,37px); line-height:1.6; }
.b-ending h2+p { margin-top:30px; color:#626965; font-size:15px; line-height:1.95; }
.b-ending-links { display:flex; justify-content:center; flex-wrap:wrap; gap:20px 70px; margin-top:34px; }
.s-page-brand .w-footer-opening { padding-block:36px; }
.s-page-brand .w-footer-opening h2 { font-size:30px; }
.s-page-brand .w-footer-book { font-size:17px; }
.s-page-brand .w-footer-book .w-circle { width:48px; height:48px; }
@media(max-width:1100px) {
  .b-hero { gap:40px; }
  .b-hero h1 { font-size:37px; }
  .b-hero-photo > img { height:470px; }
  .b-introduction { gap:45px; }
  .b-section-head { gap:35px; }
  .b-principles { column-gap:35px; }
  .b-principles > li,.b-principle-lab-copy { grid-template-columns:38px 1fr; gap:14px; }
  .b-principles > .b-principle-lab { grid-template-columns:1fr 1fr; gap:35px; }
  .b-principles h3 { font-size:21px; }
  .b-space { grid-template-columns:240px minmax(0,1fr); gap:36px; }
  .b-space-copy h2 { font-size:31px; }
  .b-space-slide figcaption { display:block; min-height:101px; }
  .b-space-slide figcaption p { text-align:left; margin-top:12px; }
  .b-equipment-grid { gap:40px 25px; }
  .b-partner-track { grid-auto-columns:33.333333%; }
  .b-partner img { max-width:100%; }
}
@media(max-width:767px) {
  .b-section { padding-block:60px; scroll-margin-top:76px; }
  .b-page h2 { font-size:28px; }
  .b-page .b-label { font-size:9px; margin-bottom:19px; }
  .b-mobile-break { display:block; }
  .b-desktop-break { display:none; }
  .b-hero { grid-template-columns:1fr; gap:32px; padding-top:30px; padding-bottom:48px; }
  .b-hero h1 { font-size:clamp(30px,8.6vw,40px); }
  .b-hero-intro { font-size:14px; margin-top:23px !important; }
  .b-hero-copy > .b-link { margin-top:22px; }
  .b-hero-photo > img { height:auto; aspect-ratio:4/3; }
  .b-hero-photo figcaption { font-size:7px; gap:10px; }
  .b-introduction { grid-template-columns:1fr; gap:26px; }
  .b-prose { font-size:14px; }
  .b-prose p+p { margin-top:19px; }
  .b-section-head { display:block; margin-bottom:30px; }
  .b-section-head > p { margin-top:20px; font-size:14px; }
  .b-principles { grid-template-columns:1fr; }
  .b-principles > li { padding-block:25px 30px; }
  .b-principles h3 { font-size:21px; margin-bottom:12px; }
  .b-principles p { font-size:14px; }
  .b-number { font-size:25px; }
  .b-principles > .b-principle-lab { grid-template-columns:1fr; gap:25px; }
  .b-principle-lab figure img { height:auto; aspect-ratio:16/9; }
  .b-hygiene-intro { padding-top:23px; font-size:14px; }
  .b-hygiene-cards { grid-template-columns:1fr; gap:24px; margin-top:30px; }
  .b-hygiene-cards article { display:grid; grid-template-columns:38px 1fr; gap:0 14px; padding-top:23px; }
  .b-hygiene-cards .b-number { grid-row:1/3; margin:0; }
  .b-hygiene-cards h3 { font-size:20px; margin-bottom:10px; }
  .b-hygiene-cards p { grid-column:2; font-size:14px; }
  .b-space { grid-template-columns:1fr; gap:30px; }
  .b-space-copy h2 { margin-bottom:22px; }
  .b-space-slide figcaption { min-height:98px; padding-top:18px; }
  .b-space-slide figcaption > span { font-size:23px; }
  .b-thumbnails { margin-top:16px; }
  .b-thumbnails button { flex-basis:76px; width:76px; height:54px; }
  .b-carousel-controls { gap:12px; padding-top:10px; }
  .b-progress { margin-right:0; }
  .b-equipment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
  .b-equipment-grid article { padding-top:17px; }
  .b-equipment-grid figure { height:145px; padding:12px; margin-bottom:17px; }
  .b-equipment-grid figure img { max-height:121px; }
  .b-equipment-grid h3 { font-size:17px; margin-bottom:10px; }
  .b-equipment-grid p { font-size:12px; }
  .b-partner-track { grid-auto-columns:50%; }
  .b-partner { padding:22px 10px; }
  .b-partner > div { height:60px; }
  .b-partner img { max-width:100%; max-height:44px; }
  .b-partner figcaption { font-size:10px; margin-top:14px; }
  .b-partners-contact { align-items:start; margin-top:20px; }
  .b-partners-contact p { font-size:11px; }
  .b-partners-contact .b-link { font-size:11px; gap:14px; flex:none; }
  .b-ending { padding-block:60px; }
  .b-ending h2 { font-size:clamp(23px,6.3vw,29px); }
  .b-ending h2+p { font-size:14px; margin-top:24px; }
  .b-ending-links { gap:14px 30px; margin-top:26px; }
  .b-ending-links .b-link { font-size:12px; gap:22px; }
  .s-page-brand .w-footer-opening h2 { font-size:26px; }
}
@media(prefers-reduced-motion:reduce) {
  .b-page * { scroll-behavior:auto !important; transition:none !important; }
}
