/* Cloud9 × Doctor Nonney live homepage. */
body.c9-mobile-home-page {
  margin: 0;
  padding: 0;
  background: #F4F1EF;
}
body.c9-mobile-home-page:has(#c9-mobile-home.is-sheet-open) {
  overflow: hidden;
  overscroll-behavior: none;
}
#c9-mobile-home {
  --ui: var(--c9-font-ui);
  --home-title-font: var(--ui);
  --home-title-weight: var(--c9-weight-strong);
  --home-heading: #74463F;
  --bg: #F4F1EF;
  --paper: #FFFCFA;
  --ink: #382A25;
  --soft: #6F564D;
  --accent: #8B4D48;
  --accent-soft: #EBD9D6;
  --line: #E4D6D1;
  --deep: #623A33;
  --admin-height: var(--wp-admin--admin-bar--height, 0px);
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  min-height: calc(100vh - var(--admin-height));
  min-height: calc(100dvh - var(--admin-height));
  margin: 0;
  padding: 0;
  color: var(--ink);
  background: var(--bg);
  color-scheme: light;
  font: 400 var(--c9-size-body)/var(--c9-leading-body) var(--ui);
}
body.c9-mobile-home-page.admin-bar #c9-mobile-home {
  --admin-height: var(--wp-admin--admin-bar--height, 32px);
}
@media (max-width: 782px) {
  body.c9-mobile-home-page.admin-bar #c9-mobile-home {
    --admin-height: var(--wp-admin--admin-bar--height, 46px);
  }
}

#c9-mobile-home:lang(en) { --home-title-font:var(--c9-font-serif);--home-title-weight:400 }
#c9-mobile-home .language-button option:lang(zh) { font-family:var(--c9-font-zh) }
#c9-mobile-home, #c9-mobile-home * { box-sizing:border-box }
#c9-mobile-home button, #c9-mobile-home input, #c9-mobile-home select { font:inherit }
#c9-mobile-home button, #c9-mobile-home a { -webkit-tap-highlight-color:transparent }
#c9-mobile-home button { cursor:pointer;color:inherit }
#c9-mobile-home a { color:inherit }
#c9-mobile-home button:focus-visible, #c9-mobile-home a:focus-visible, #c9-mobile-home input:focus-visible, #c9-mobile-home select:focus-visible { outline:2px solid #986448;outline-offset:3px }
#c9-mobile-home [hidden] { display:none!important }
#c9-mobile-home .screen, #c9-mobile-home .sheet-content { overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent }
#c9-mobile-home .clinic-header { display:flex;justify-content:space-between;align-items:center;gap:5px;padding:8px 15px 7px;min-height:60px }
#c9-mobile-home .brand { display:flex;align-items:center;gap:8px;color:var(--ink);line-height:1.16 }
#c9-mobile-home .brand-emblem { width:29px;height:29px;flex:none;background:url("cloud9-mark.png") center / contain no-repeat }
#c9-mobile-home .brand strong, #c9-mobile-home .brand small { display:block }
#c9-mobile-home .brand strong { font-size:15px;font-weight:600 }
#c9-mobile-home .brand small { font-size:11px;margin-top:3px;color:var(--soft) }
#c9-mobile-home .header-actions { display:flex;gap:2px }
#c9-mobile-home .icon-button { display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;background:transparent;border-radius:50%;text-decoration:none;color:var(--accent) }
#c9-mobile-home .icon-button:hover { background:var(--accent-soft) }
#c9-mobile-home .icon { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex:none }
#c9-mobile-home .home { padding:0 14px 13px }
#c9-mobile-home .hero { position:relative;overflow:hidden;border-radius:17px;background:#EBD9D6 }
#c9-mobile-home .eyebrow { display:block;letter-spacing:.095em;font-size:9px;font-weight:700;color:var(--accent) }
#c9-mobile-home .hero h2 { font-family:var(--home-title-font);font-weight:var(--home-title-weight);margin:6px 0 7px;color:var(--home-heading) }
#c9-mobile-home .hero p { font-size:12px;color:var(--soft);margin:0 0 11px;max-width:155px }
#c9-mobile-home .primary { display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid transparent;border-radius:8px;background:var(--accent);color:white;text-decoration:none;font-size:12px;font-weight:700;padding:8px 11px;text-align:center }
#c9-mobile-home .primary:hover { background:var(--deep) }
#c9-mobile-home .primary .icon { width:15px;height:15px }
#c9-mobile-home .hero .fee-note { display:block;color:var(--soft);font-size:10px;font-weight:600;margin-top:7px }
#c9-mobile-home .section-head { display:flex;justify-content:space-between;align-items:center;gap:5px;margin:10px 0 3px }
#c9-mobile-home .section-head h2 { font-family:var(--home-title-font);font-weight:var(--home-title-weight);line-height:var(--c9-leading-title);margin:0;color:var(--home-heading) }
#c9-mobile-home .section-head p { font-size:11px;color:var(--soft);margin:3px 0 0 }
#c9-mobile-home .quick-grid, #c9-mobile-home .goals { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px }
#c9-mobile-home .quick { min-height:62px;display:grid;grid-template-columns:30px 1fr auto;gap:6px;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);text-align:left;padding:7px;text-decoration:none }
#c9-mobile-home .quick:hover, #c9-mobile-home .goal:hover, #c9-mobile-home .more-row:hover { background:var(--accent-soft) }
#c9-mobile-home .quick-icon, #c9-mobile-home .goal-icon { width:28px;height:28px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:50% }
#c9-mobile-home .quick-icon .icon, #c9-mobile-home .goal-icon .icon { width:16px;height:16px }
#c9-mobile-home .quick strong, #c9-mobile-home .quick small { display:block;line-height:1.28 }
#c9-mobile-home .quick strong { font-size:13px }
#c9-mobile-home .quick small { font-size:10px;color:var(--soft);margin-top:3px }
#c9-mobile-home .quick>.icon { width:10px;height:10px;color:var(--soft) }
#c9-mobile-home .more { margin-top:7px;display:grid;gap:0 }
#c9-mobile-home .more-row { min-height:44px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 3px;border:0;border-bottom:1px solid var(--line);text-decoration:none;background:none;text-align:left;font-size:11px;font-weight:600 }
#c9-mobile-home .more-row .icon { width:14px;height:14px;color:var(--accent) }
#c9-mobile-home .mini-footer { font-size:9px;color:var(--soft);display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 9px;padding:12px 0 0 }
#c9-mobile-home .mini-footer a { text-underline-offset:2px }
#c9-mobile-home .dock { display:grid;grid-template-columns:repeat(4,1fr);padding:3px 5px max(4px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);z-index:2 }
#c9-mobile-home .dock button, #c9-mobile-home .dock a { min-height:46px;padding:3px 1px;display:grid;justify-items:center;align-content:center;gap:2px;border:0;background:none;color:var(--soft);text-decoration:none;font-size:11px;line-height:1.2;font-weight:600;border-radius:9px }
#c9-mobile-home .dock .icon { width:18px;height:18px }
#c9-mobile-home .dock [aria-current="page"] { color:var(--accent);background:var(--accent-soft) }
#c9-mobile-home .dock .dock-book { background:var(--accent);color:#fff }
#c9-mobile-home .goals { grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:7px }
#c9-mobile-home .goal { min-height:65px;display:grid;justify-items:start;align-content:center;gap:3px;border:1px solid var(--line);border-radius:9px;background:var(--paper);text-align:left;padding:7px;color:var(--ink);font-size:12px;font-weight:700;line-height:1.2 }
#c9-mobile-home .goal-icon { width:25px;height:25px }
#c9-mobile-home .goal-icon .icon { width:15px;height:15px }
#c9-mobile-home .goal[aria-pressed=true] { border-color:var(--accent);background:var(--accent-soft) }
#c9-mobile-home .guide-all { min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;border:0;background:none;color:var(--accent);padding:3px 0;font-size:11px;font-weight:700;text-align:left }
#c9-mobile-home .guide-all .icon { width:15px;height:15px }
#c9-mobile-home .sheet { position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr);z-index:4;background:var(--bg) }
#c9-mobile-home .sheet-top { display:grid;grid-template-columns:44px 1fr 44px;align-items:center;justify-items:center;border-bottom:1px solid var(--line);padding:4px 8px;background:var(--paper);color:var(--accent) }
#c9-mobile-home .sheet-top .sheet-brand { font-family:var(--ui);font-size:var(--c9-size-caption);font-weight:600 }
#c9-mobile-home .sheet-content { padding:13px 14px 20px }
#c9-mobile-home .sheet h2 { font:var(--home-title-weight) var(--c9-size-title)/var(--c9-leading-title) var(--home-title-font);margin:4px 0 8px;letter-spacing:normal }
#c9-mobile-home .sheet h3 { font:var(--c9-weight-strong) var(--c9-size-subtitle)/var(--c9-leading-title) var(--ui);margin:4px 0 }
#c9-mobile-home .sheet p { margin:5px 0 9px }
#c9-mobile-home .sheet-lead, #c9-mobile-home .panel-lead { color:var(--soft);font-size:var(--c9-size-body) }
#c9-mobile-home .sheet-card, #c9-mobile-home .fact, #c9-mobile-home .account-card { margin:8px 0;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--paper) }
#c9-mobile-home .sheet-card p, #c9-mobile-home .fact p { font-size:var(--c9-size-control) }
#c9-mobile-home .list-row { display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;width:100%;min-height:59px;padding:5px 6px;border:1px solid var(--line);border-radius:9px;background:var(--paper);text-align:left;margin:5px 0 }
#c9-mobile-home .list-row:hover { background:var(--accent-soft) }
#c9-mobile-home .list-row strong, #c9-mobile-home .list-row small { display:block }
#c9-mobile-home .list-row strong { font-size:var(--c9-size-label);font-weight:600;line-height:var(--c9-leading-title) }
#c9-mobile-home .list-row small { color:var(--soft);font-size:.75rem;line-height:var(--c9-leading-control) }
#c9-mobile-home .list-row .icon { width:16px;height:16px;color:var(--accent) }
#c9-mobile-home .thumb { width:40px;height:40px;object-fit:cover;background:var(--accent-soft);border-radius:6px;color:var(--accent);display:grid;place-items:center;flex:none }
#c9-mobile-home .program-hero { width:100%;max-height:235px;display:block;object-fit:contain;object-position:center;border-radius:11px;background:var(--accent-soft);margin:10px 0 }
#c9-mobile-home .fact h3 { font-size:var(--c9-size-control);color:var(--accent) }
#c9-mobile-home .fact p { margin:0 }
#c9-mobile-home .panel-actions { display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:12px 0 }
#c9-mobile-home .panel-actions .primary { min-width:105px }
#c9-mobile-home .sheet .primary { font-size:var(--c9-size-control);font-weight:var(--c9-weight-strong);line-height:var(--c9-leading-control) }
#c9-mobile-home .secondary { min-height:44px;display:inline-flex;align-items:center;gap:5px;justify-content:center;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-decoration:none;font-size:var(--c9-size-control);font-weight:var(--c9-weight-strong);line-height:var(--c9-leading-control);color:var(--accent) }
#c9-mobile-home .secondary .icon { width:14px;height:14px }
#c9-mobile-home .plain-link { display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:var(--c9-size-caption);color:var(--accent);font-weight:600;text-underline-offset:3px }
#c9-mobile-home .filter-bar { display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 }
#c9-mobile-home .filter-bar button { min-height:44px;padding:4px 7px;background:var(--paper);border:1px solid var(--line);border-radius:7px;font-size:.75rem;text-align:center }
#c9-mobile-home .filter-bar button[aria-pressed=true] { background:var(--accent);color:white;border-color:var(--accent) }
#c9-mobile-home .result-count { color:var(--soft);font-size:.75rem;margin:4px 0 }
#c9-mobile-home .service-search { width:100%;min-height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:6px 8px;margin-top:6px }
#c9-mobile-home .service-summary { min-height:44px;cursor:pointer;color:var(--accent);font-size:var(--c9-size-control);font-weight:600;padding:6px 0 }
#c9-mobile-home .branch-details { color:var(--soft);font-size:var(--c9-size-label) }
#c9-mobile-home .service-summary small { display:block;color:var(--soft);font-size:var(--c9-size-caption);font-weight:400 }
#c9-mobile-home .about-photo { width:100%;max-height:230px;object-fit:cover;object-position:center 30%;border-radius:10px }
@media(max-width:350px) {
  #c9-mobile-home .clinic-header { padding-left:9px;padding-right:9px }
  #c9-mobile-home .home { padding-left:9px;padding-right:9px }
  #c9-mobile-home .quick { gap:4px;padding:6px }
  #c9-mobile-home .quick strong { font-size:12px }
  #c9-mobile-home .quick small { font-size:9px }
  #c9-mobile-home .quick-icon { width:24px;height:24px }
}
@media(prefers-reduced-motion:reduce) {
  #c9-mobile-home, #c9-mobile-home * { scroll-behavior:auto!important }
}
#c9-mobile-home .clinic-header { padding:7px 11px 7px 14px;min-height:61px }
#c9-mobile-home .brand { gap:6px;min-width:0 }
#c9-mobile-home .brand small { white-space:nowrap }
#c9-mobile-home .header-actions, #c9-mobile-home .sheet-actions { display:flex;gap:0;align-items:center;flex:none }
#c9-mobile-home .language-button { position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:700 8px/1 var(--ui);letter-spacing:.06em }
#c9-mobile-home .language-button select { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer }
#c9-mobile-home .language-button:focus-within { outline:2px solid #986448;outline-offset:2px }
#c9-mobile-home .flag { display:block;width:20px;height:13px;overflow:hidden;border:1px solid #8b6b604d;border-radius:2px }
#c9-mobile-home .hybrid-hero { display:grid;grid-template-columns:minmax(0,1fr) 46%;align-items:stretch;padding:5px;border-radius:22px;background:radial-gradient(ellipse at 25% 15%,#fbf4f0 0%,transparent 69%),linear-gradient(110deg,#f3e5e0 10%,#EBD9D6 70%,#e9d9cf 100%) }
#c9-mobile-home .hero-copy { position:relative;z-index:1;align-self:center;padding:10px 0 10px 11px;min-width:0 }
#c9-mobile-home .hybrid-hero h2 { font-size:var(--c9-size-compact-display);margin-top:8px;line-height:var(--c9-leading-title) }
#c9-mobile-home .hero-heading-link { display:inline-flex;align-items:center;gap:4px;text-align:left;min-height:44px;max-width:100%;padding:0;border:0;background:transparent;font:inherit;color:inherit;letter-spacing:inherit }
#c9-mobile-home .hero-heading-link:hover { color:var(--accent) }
#c9-mobile-home .hero-heading-link .icon { display:inline-block;width:13px;height:13px;flex:none;color:var(--accent) }
#c9-mobile-home .hybrid-hero p { font-size:var(--c9-size-caption);line-height:var(--c9-leading-control);margin-bottom:9px }
#c9-mobile-home .hero-portrait { position:relative;overflow:hidden;min-height:184px;border-radius:20px 18px 18px 20px;mask-image:linear-gradient(90deg,transparent 0%,#000 21%) }
#c9-mobile-home .hero-portrait img { display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43% }
#c9-mobile-home .hero-portrait::after { content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#efdcd423,transparent 25%) }
#c9-mobile-home .hero-copy .primary { padding-inline:7px;font-size:var(--c9-size-label);font-weight:var(--c9-weight-strong);line-height:var(--c9-leading-control);gap:4px }
#c9-mobile-home .hero-copy .primary .icon { width:13px;height:13px }
#c9-mobile-home .goal-section { margin-top:13px }
#c9-mobile-home .goal-section .section-head { margin:0 0 5px }
#c9-mobile-home .goal-section .eyebrow { margin-bottom:4px }
#c9-mobile-home .goal-section .section-head h2 { font-size:var(--c9-size-title) }
#c9-mobile-home .goal-section .goals { margin-top:8px }
#c9-mobile-home .goal { min-height:65px;background:#fffaf8;border-radius:10px;font-size:12px;font-weight:600;line-height:1.35;padding:7px 6px 6px 8px }
#c9-mobile-home .goal-icon { background:#f3e3df }
#c9-mobile-home .guide-all { border-bottom:1px solid var(--line);font-size:12px;font-weight:600 }
#c9-mobile-home .quick-section { margin:11px 0 5px }
#c9-mobile-home .quick-section h2 { width:100%;margin:0 0 4px }
#c9-mobile-home .packages-link { display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:50px;padding:8px 11px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(100deg,#EBD9D6,#f5eae6);color:#663b35;text-decoration:none;font:600 var(--c9-size-control)/var(--c9-leading-control) var(--ui);letter-spacing:0 }
#c9-mobile-home .packages-link:hover { background:#e7d3cf }
#c9-mobile-home .packages-link .icon { width:16px;height:16px;color:var(--accent) }
#c9-mobile-home .quick { min-height:56px;padding:6px;gap:5px }
#c9-mobile-home .quick strong { font-size:12px;font-weight:600 }
#c9-mobile-home .quick small { font-size:10px }
#c9-mobile-home .more-row { font-size:12px }
#c9-mobile-home .staff-row { color:var(--soft) }
#c9-mobile-home .staff-row:hover { background:none }
#c9-mobile-home .staff-row span { display:flex;align-items:center;gap:6px }
#c9-mobile-home .staff-row small { font-weight:400;font-size:9px }
#c9-mobile-home .sheet-top { grid-template-columns:44px minmax(0,1fr) 88px }
#c9-mobile-home .sheet-top .sheet-brand { grid-column:2;line-height:1.15;text-align:center }
#c9-mobile-home .sheet-actions { grid-column:3 }
#c9-mobile-home .sheet-content { padding-top:17px }
#c9-mobile-home .sheet-card, #c9-mobile-home .fact, #c9-mobile-home .list-row { border-color:var(--line) }
#c9-mobile-home .global-search { display:flex;align-items:center;min-height:49px;gap:8px;margin:12px 0;padding:0 10px;border:1px solid #D49A93;border-radius:10px;background:var(--paper);color:var(--accent) }
#c9-mobile-home .global-search:focus-within { outline:2px solid #9D5E57;outline-offset:2px }
#c9-mobile-home .global-search input { width:100%;min-width:0;min-height:46px;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px }
#c9-mobile-home .global-search input:focus-visible { outline:0 }
#c9-mobile-home .global-search input::placeholder { font-size:13px;color:var(--soft) }
#c9-mobile-home .suggestions button { min-height:44px;padding:4px 9px;margin:0 4px 4px 0;border:1px solid var(--line);border-radius:100px;background:var(--paper);font-size:12px;color:var(--accent) }
#c9-mobile-home .suggestions button:hover { background:var(--accent-soft) }
#c9-mobile-home .search-result .thumb { background:#f3e3df }
#c9-mobile-home .steps { font-size:var(--c9-size-label);margin:7px 0;padding-left:19px }
#c9-mobile-home .steps li+li { margin-top:4px }
#c9-mobile-home .about-profile { display:grid;grid-template-columns:33% minmax(0,1fr);gap:12px;align-items:center;margin:12px 0 16px }
#c9-mobile-home .sheet[data-view="about"] h2 { color:var(--home-heading) }
#c9-mobile-home .about-profile h3 { font-size:1.25rem;color:var(--home-heading) }
#c9-mobile-home .about-profile p { font-size:14px;line-height:1.7 }
#c9-mobile-home .about-portrait { display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 40%;border-radius:11px;background:var(--accent-soft) }
#c9-mobile-home .about-clinic { margin:0 0 8px }
#c9-mobile-home .about-clinic .about-photo { display:block;aspect-ratio:16/9;max-height:none }
#c9-mobile-home .about-clinic figcaption { margin-top:4px;color:var(--soft);font-size:12px }
#c9-mobile-home .sheet[data-view="about"] .more-row { font-size:13px }
#c9-mobile-home:lang(en) .hybrid-hero h2 { font-size:clamp(21px,6.2vw,29px) }
#c9-mobile-home:lang(zh-CN) .hybrid-hero h2 { font-size:clamp(20px,5.8vw,24px);letter-spacing:0 }
@media(max-width:350px) {
  #c9-mobile-home .clinic-header { padding-left:9px;padding-right:6px }
  #c9-mobile-home .brand-emblem { width:26px;height:26px }
  #c9-mobile-home .brand strong { font-size:14px }
  #c9-mobile-home .brand small { font-size:10px }
  #c9-mobile-home .hero-copy { padding-left:7px }
  #c9-mobile-home .hero-portrait { min-height:165px }
  #c9-mobile-home .quick strong { font-size:11px }
}

/* Full-page scrolling, with a fixed dock and an independently scrollable panel. */
#c9-mobile-home :is(#c9-screen, .sheet[data-view="about"]) .eyebrow { font-size:10px;font-weight:600 }
#c9-mobile-home .screen {
  width: 100%;
  min-width: 0;
  overflow: visible;
  overscroll-behavior: auto;
}
#c9-mobile-home .home {
  width: 100%;
  margin: 0 auto;
  padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
}
#c9-mobile-home .dock {
  position: fixed;
  inset: auto 0 0;
  z-index: 30;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 3px max(5px, env(safe-area-inset-right, 0px)) calc(4px + env(safe-area-inset-bottom, 0px)) max(5px, env(safe-area-inset-left, 0px));
}
#c9-mobile-home .dock :is(a, button) {
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  overflow-wrap: anywhere;
  text-align: center;
  font-size: var(--c9-size-caption);
  line-height: 1.3;
}
#c9-mobile-home .sheet {
  position: fixed;
  inset: var(--admin-height) 0 0;
  z-index: 100;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  max-height: calc(100vh - var(--admin-height));
  max-height: calc(100dvh - var(--admin-height));
  overflow: hidden;
}
#c9-mobile-home .sheet-top {
  min-width: 0;
  padding: max(4px, env(safe-area-inset-top, 0px)) max(8px, env(safe-area-inset-right, 0px)) 4px max(8px, env(safe-area-inset-left, 0px));
}
#c9-mobile-home .sheet-actions { justify-self: end; }
#c9-mobile-home .sheet-top .sheet-brand { max-width: 100%; overflow-wrap: anywhere; }
#c9-mobile-home .sheet-content {
  min-width: 0;
  min-height: 0;
  padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  -webkit-overflow-scrolling: touch;
}
#c9-mobile-home .language-button select { display: block; z-index: 1; }
#c9-mobile-home :is(.goal, .quick, .list-row, .filter-bar button, .primary, .secondary) { min-width: 0; overflow-wrap: anywhere; }
#c9-mobile-home :is(.goal, .quick, .list-row) > span { min-width: 0; }
#c9-mobile-home .hero-heading-link { text-decoration: none; }
#c9-mobile-home .hero-portrait img { max-width: none; }
#c9-mobile-home .brand > span:last-child { min-width: 0; }
#c9-mobile-home .brand small { white-space: normal; }
#c9-mobile-home .global-search input { box-shadow: none; }
#c9-mobile-home .service-search { font-size: 16px; }

@media (min-width: 761px) {
  #c9-mobile-home :is(.clinic-header, .home) {
    width: 100%;
    max-width: 1220px;
    margin-inline: auto;
    padding-inline: clamp(24px, 3.3vw, 48px);
  }
  #c9-mobile-home .clinic-header { min-height: 82px; padding-block: 13px; }
  #c9-mobile-home .brand { gap: 11px; }
  #c9-mobile-home .brand-emblem { width: 42px; height: 42px; }
  #c9-mobile-home .brand strong { font-size: 20px; }
  #c9-mobile-home .brand small { font-size: 13px; }
  #c9-mobile-home .header-actions { gap: 5px; }
  #c9-mobile-home .home { padding-bottom: 34px; }
  #c9-mobile-home .dock { display: none; }
  #c9-mobile-home .hybrid-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    min-height: clamp(340px, 34vw, 450px);
    padding: clamp(9px, 1.2vw, 16px);
    border: 1px solid #E6D5CD;
    border-radius: 28px;
  }
  #c9-mobile-home .hero-copy { padding: 28px 18px 28px clamp(28px, 5vw, 75px); }
  #c9-mobile-home .hybrid-hero h2,
  #c9-mobile-home:lang(en) .hybrid-hero h2 {
    margin: 12px 0;
    font-size: var(--c9-size-display);
    line-height: var(--c9-leading-title);
  }
  #c9-mobile-home:lang(zh-CN) .hybrid-hero h2 { font-size: var(--c9-size-display); }
  #c9-mobile-home .hero-heading-link { gap: 8px; }
  #c9-mobile-home .hero-heading-link .icon { width: 19px; height: 19px; }
  #c9-mobile-home .hybrid-hero p { max-width: 340px; margin-bottom: 16px; font-size: var(--c9-size-body); line-height: var(--c9-leading-body); }
  #c9-mobile-home .hero-copy .primary { gap: 8px; min-height: 48px; padding-inline: 15px; font-size: var(--c9-size-control); }
  #c9-mobile-home .hero .fee-note { margin-top: 9px; font-size: 12px; }
  #c9-mobile-home .hero-portrait { min-height: 0; border-radius: 23px; }
  #c9-mobile-home .hero-portrait img { object-position: center 23%; }
  #c9-mobile-home .eyebrow { font-size: 11px; }
  #c9-mobile-home :is(#c9-screen, .sheet[data-view="about"]) .eyebrow { font-size: 11px; }
  #c9-mobile-home .goal-section { margin-top: 28px; }
  #c9-mobile-home .goal-section .section-head h2,
  #c9-mobile-home:lang(en) .goal-section .section-head h2 { font-size: var(--c9-size-title); }
  #c9-mobile-home .goal-section .goals { margin-top: 14px; }
  #c9-mobile-home .goals { gap: 12px; }
  #c9-mobile-home .goal {
    min-height: 92px;
    gap: 7px;
    padding: 11px 13px;
    border-radius: 13px;
    font-size: 15px;
    line-height: 1.35;
  }
  #c9-mobile-home :is(.goal-icon, .quick-icon) { width: 34px; height: 34px; }
  #c9-mobile-home :is(.goal-icon, .quick-icon) .icon { width: 18px; height: 18px; }
  #c9-mobile-home .guide-all { min-height: 49px; margin-top: 4px; font-size: 14px; }
  #c9-mobile-home .quick-section { margin-top: 20px; }
  #c9-mobile-home .packages-link { min-height: 55px; padding: 10px 16px; font-size: 17px; }
  #c9-mobile-home .quick-grid { gap: 12px; }
  #c9-mobile-home .quick { grid-template-columns: 34px minmax(0, 1fr) auto; min-height: 67px; gap: 9px; padding: 10px; }
  #c9-mobile-home .quick strong { font-size: 15px; }
  #c9-mobile-home .quick small { font-size: 12px; }
  #c9-mobile-home .more { margin-top: 13px; }
  #c9-mobile-home .more-row { min-height: 48px; font-size: 14px; }
  #c9-mobile-home .staff-row small { font-size: 11px; }
  #c9-mobile-home .mini-footer { padding-top: 15px; font-size: 12px; }
  #c9-mobile-home .sheet-top { padding-inline: max(14px, calc((100% - 960px) / 2)); }
  #c9-mobile-home .sheet-top .sheet-brand { font-size: var(--c9-size-control); }
  #c9-mobile-home .sheet-content { width: min(100%, 960px); margin-inline: auto; padding: 24px 24px 32px; }
  #c9-mobile-home :is(.sheet-lead, .panel-lead, .sheet-card p, .fact p) { font-size: var(--c9-size-body); }
  #c9-mobile-home :is(.sheet-card, .fact, .account-card) { margin-block: 10px; padding: 14px 15px; }
  #c9-mobile-home .fact h3 { font-size: 16px; }
  #c9-mobile-home .list-row { min-height: 66px; gap: 11px; padding: 7px 10px; }
  #c9-mobile-home .list-row strong { font-size: 15px; }
  #c9-mobile-home .list-row small { font-size: 13px; }
  #c9-mobile-home .filter-bar button { padding-inline: 11px; font-size: 13px; }
  #c9-mobile-home .result-count { font-size: 13px; }
  #c9-mobile-home :is(.sheet .primary, .secondary, .plain-link) { font-size: var(--c9-size-control); }
  #c9-mobile-home .program-hero { max-height: 390px; }
  #c9-mobile-home .about-profile { grid-template-columns: minmax(150px, 230px) minmax(0, 1fr); gap: 22px; }
  #c9-mobile-home .sheet[data-view="about"] .more-row { font-size: 14px; }
  #c9-mobile-home .about-profile h3 { font-size: var(--c9-size-subtitle); }
  #c9-mobile-home .about-profile p { font-size: var(--c9-size-body); }
  #c9-mobile-home .about-clinic .about-photo { max-height: 480px; }
}
@media (min-width: 1000px) {
  #c9-mobile-home .quick-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  #c9-mobile-home .goals { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* Interior views use the shop palette and the shared site typography. */
#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="guide"], [data-view="program"], [data-view="contact"]) {
  --inner-title: #64433B;
  --inner-text: #6B554D;
  --inner-rose: #9D5E57;
  --inner-rose-dark: #71443D;
  --inner-border: #DFD0C9;
  --inner-soft: #F3E7E2;
  --inner-gap: clamp(10px, 1.6vw, 16px);
  --inner-card-padding: clamp(13px, 2vw, 20px);
}

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="guide"], [data-view="program"], [data-view="contact"]) .sheet-top {
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 3px;
  min-height: 54px;
  border-color: var(--inner-border);
  color: var(--inner-rose-dark);
}

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="guide"], [data-view="program"], [data-view="contact"]) .sheet-top:has([data-back][hidden]) {
  grid-template-columns: minmax(0, 1fr) auto;
}

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="guide"], [data-view="program"], [data-view="contact"]) .sheet-top:has([data-back][hidden]) .sheet-brand {
  grid-column: 1;
  justify-self: start;
  padding-inline-start: 5px;
  text-align: start;
}

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="guide"], [data-view="program"], [data-view="contact"]) .sheet-actions {
  grid-column: -2;
}

#c9-mobile-home .inner-hero {
  margin-block-end: var(--inner-gap);
  padding: clamp(15px, 3.8vw, 30px);
  border: 1px solid var(--inner-border);
  border-radius: 22px;
  background:
    radial-gradient(ellipse at 100% 5%, var(--accent-soft) 0%, transparent 67%),
    linear-gradient(125deg, var(--paper), #F7EEE9 90%);
}

#c9-mobile-home .inner-hero .eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--c9-size-brand-note);
  font-weight: var(--c9-weight-strong);
  line-height: var(--c9-leading-control);
  color: var(--inner-rose-dark);
}

#c9-mobile-home .inner-hero .eyebrow::before {
  content: "";
  width: 15px;
  height: 1px;
  flex: none;
  background: var(--inner-rose);
}

#c9-mobile-home .inner-hero h2 {
  margin: 8px 0;
  color: var(--inner-title);
  font-size: var(--c9-size-display);
  overflow-wrap: anywhere;
}

#c9-mobile-home .inner-hero .sheet-lead {
  max-width: 56ch;
  margin: 0;
  color: var(--inner-text);
  font-size: var(--c9-size-body);
  line-height: var(--c9-leading-body);
}

#c9-mobile-home .inner-hero .panel-actions { margin-block: var(--inner-gap) 0; }

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="program"], [data-view="contact"]) :is(.primary, .secondary) {
  padding: 9px 12px;
  border-radius: 12px;
  font-size: var(--c9-size-control);
  font-weight: var(--c9-weight-strong);
  line-height: var(--c9-leading-control);
}

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="program"], [data-view="contact"]) .primary {
  background: var(--inner-rose);
}

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="program"], [data-view="contact"]) .primary:hover {
  background: var(--inner-rose-dark);
}

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="program"], [data-view="contact"]) .secondary {
  border-color: var(--inner-border);
  color: var(--inner-rose-dark);
}

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="program"], [data-view="contact"]) .secondary:hover {
  background: var(--inner-soft);
}

#c9-mobile-home .sheet:is([data-view="booking"], [data-view="services"], [data-view="program"], [data-view="contact"]) .plain-link {
  min-width: 0;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: var(--inner-rose-dark);
  font-size: var(--c9-size-control);
  line-height: var(--c9-leading-control);
  text-decoration: underline;
  overflow-wrap: anywhere;
}

#c9-mobile-home .sheet :is(.booking-fee, .booking-steps, .inner-notice, .service-item, .branch-card, .program-facts .fact) {
  margin: 0 0 var(--inner-gap);
  padding: var(--inner-card-padding);
  border-color: var(--inner-border);
  border-radius: 17px;
}

#c9-mobile-home .sheet :is(.booking-fee, .booking-steps, .inner-notice, .service-list, .branch-card, .program-facts) h3 {
  margin: 0 0 5px;
  color: var(--inner-title);
  overflow-wrap: anywhere;
}

#c9-mobile-home .sheet :is(.booking-fee, .booking-steps, .inner-notice, .branch-card, .program-facts) p {
  margin: 0;
  color: var(--inner-text);
  font-size: var(--c9-size-body);
  line-height: var(--c9-leading-body);
}

#c9-mobile-home .fee-top {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 3px 12px;
  margin-block-end: 5px;
}

#c9-mobile-home .fee-top strong {
  color: var(--inner-rose-dark);
  font-size: var(--c9-size-title);
  line-height: var(--c9-leading-title);
  font-weight: var(--c9-weight-strong);
}

#c9-mobile-home .booking-steps .steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
  padding: 0;
  list-style: none;
}

#c9-mobile-home .booking-steps .steps li {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 6px;
  margin: 0;
  color: var(--inner-title);
  text-align: center;
  font-size: var(--c9-size-label);
  font-weight: var(--c9-weight-strong);
  line-height: var(--c9-leading-title);
  overflow-wrap: anywhere;
}

#c9-mobile-home .booking-steps .steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  inset-block-start: 14px;
  inset-inline-end: -25%;
  width: 40%;
  border-top: 1px solid var(--inner-border);
}

#c9-mobile-home .step-num {
  z-index: 1;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--inner-soft);
  color: var(--inner-rose-dark);
  font-size: var(--c9-size-caption);
  font-weight: var(--c9-weight-strong);
  line-height: 1;
}

#c9-mobile-home .booking-steps p.panel-lead {
  margin-block-start: 12px;
  padding-block-start: 8px;
  border-top: 1px solid var(--inner-border);
  font-size: var(--c9-size-caption);
}

#c9-mobile-home .sheet .inner-notice { border-inline-start: 4px solid var(--inner-rose); }

#c9-mobile-home .service-query {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  margin-block-end: var(--inner-gap);
  padding-inline: 12px;
  border: 1px solid var(--inner-border);
  border-radius: 12px;
  background: var(--paper);
  color: var(--inner-rose-dark);
}

#c9-mobile-home .service-query:focus-within {
  outline: 2px solid var(--inner-rose-dark);
  outline-offset: 2px;
}

#c9-mobile-home .service-query .service-search {
  flex: 1;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 7px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: var(--c9-size-body);
}

#c9-mobile-home .service-query .service-search:focus-visible { outline: 0; }
#c9-mobile-home .service-query .service-search::placeholder { color: var(--inner-text); }
#c9-mobile-home .sheet .service-item { padding: 0; }

#c9-mobile-home .service-item .service-summary {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 9px;
  min-height: 58px;
  padding: 9px 11px;
  border-radius: 16px;
  color: var(--inner-title);
  line-height: var(--c9-leading-title);
  list-style: none;
}

#c9-mobile-home .service-item .service-summary::-webkit-details-marker { display: none; }
#c9-mobile-home .service-item .service-summary:focus-visible { outline: 2px solid var(--inner-rose-dark); outline-offset: 3px; }
#c9-mobile-home .service-item .service-summary:hover { background: var(--inner-soft); }
#c9-mobile-home .service-summary strong { display: block; overflow-wrap: anywhere; }
#c9-mobile-home .service-summary small { margin-top: 2px; color: var(--inner-text); }
#c9-mobile-home .service-summary > .icon { width: 14px; height: 14px; color: var(--inner-rose-dark); }
#c9-mobile-home .service-item[open] .service-summary { border-bottom: 1px solid var(--inner-border); border-end-start-radius: 0; border-end-end-radius: 0; }
#c9-mobile-home .service-item[open] .service-summary > .icon { transform: rotate(90deg); }

#c9-mobile-home .service-motif {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--inner-soft);
  color: var(--inner-rose-dark);
}

#c9-mobile-home .service-motif .icon { width: 17px; height: 17px; }
#c9-mobile-home .service-body { padding: var(--inner-card-padding); }
#c9-mobile-home .service-body > p { margin: 0; color: var(--inner-text); }

#c9-mobile-home .service-products .fact {
  margin: 0;
  padding: 11px 0;
  border: 0;
  border-block-end: 1px solid var(--inner-border);
  border-radius: 0;
  background: transparent;
}

#c9-mobile-home .service-products :is(h3, p, a) { overflow-wrap: anywhere; }
#c9-mobile-home .service-products p { color: var(--inner-text); font-size: var(--c9-size-body); }

#c9-mobile-home .sheet[data-view="guide"] .filter-bar { gap: 7px; margin: 0 0 var(--inner-gap); }

#c9-mobile-home .sheet[data-view="guide"] .filter-bar button {
  padding: 5px 11px;
  border-color: var(--inner-border);
  border-radius: 24px;
  color: var(--inner-title);
  font-size: var(--c9-size-caption);
  font-weight: var(--c9-weight-strong);
  line-height: var(--c9-leading-control);
}

#c9-mobile-home .sheet[data-view="guide"] .filter-bar button:not([aria-pressed="true"]):hover { background: var(--inner-soft); }

#c9-mobile-home .sheet[data-view="guide"] .filter-bar button[aria-pressed="true"] {
  border-color: var(--inner-rose);
  background: var(--inner-rose);
  color: #fff;
}

#c9-mobile-home .sheet:is([data-view="guide"], [data-view="services"]) .result-count {
  color: var(--inner-text);
  font-size: var(--c9-size-caption);
}

#c9-mobile-home .guide-list { display: grid; gap: 7px; }

#c9-mobile-home .guide-list .list-row {
  grid-template-columns: auto minmax(0, 1fr) 15px;
  gap: 10px;
  min-height: 69px;
  margin: 0;
  padding: 7px 9px;
  border-color: var(--inner-border);
  border-radius: 13px;
}

#c9-mobile-home .guide-list .list-row:hover { background: #FDF5F0; }
#c9-mobile-home .guide-list .list-row strong { color: var(--inner-title); font-size: var(--c9-size-control); }
#c9-mobile-home .guide-list .list-row small { margin-top: 2px; color: var(--inner-text); font-size: var(--c9-size-caption); }
#c9-mobile-home .guide-list .thumb { width: 52px; height: 52px; border-radius: 8px; }

#c9-mobile-home .program-image {
  overflow: hidden;
  margin: 0 0 var(--inner-gap);
  border: 1px solid var(--inner-border);
  border-radius: 17px;
  background: var(--paper);
}

#c9-mobile-home .program-image .program-hero {
  width: min(100%, 420px);
  max-height: none;
  aspect-ratio: 1;
  height: auto;
  margin: 0 auto;
  border-radius: 0;
  object-fit: contain;
}

#c9-mobile-home .program-facts .fact {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 9px;
}

#c9-mobile-home .program-facts .fact h3 { font-size: var(--c9-size-subtitle); }
#c9-mobile-home .program-facts .fact p { overflow-wrap: anywhere; }

#c9-mobile-home .branch-grid {
  display: grid;
  gap: var(--inner-gap);
  margin-block: var(--inner-gap);
}

#c9-mobile-home .branch-grid .branch-card { margin: 0; }
#c9-mobile-home .branch-card .eyebrow { margin-block-end: 4px; color: var(--inner-rose-dark); font-size: var(--c9-size-brand-note); }
#c9-mobile-home .branch-card :is(h3, p) { overflow-wrap: anywhere; }
#c9-mobile-home .branch-card .branch-actions { margin: 11px 0 0; }

#c9-mobile-home .branch-socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-block-start: 13px;
  padding-block-start: 10px;
  border-top: 1px solid var(--inner-border);
}

#c9-mobile-home .branch-socials .social-label {
  margin-inline-end: auto;
  color: var(--inner-text);
  font-size: var(--c9-size-caption);
}

#c9-mobile-home .branch-socials .social-link {
  display: grid;
  flex: none;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--inner-border);
  border-radius: 12px;
  background: #fff;
}

#c9-mobile-home .branch-socials .social-link:hover { background: var(--inner-soft); }
#c9-mobile-home .branch-socials .social-link :is(svg, img) { display: block; width: 25px; height: 25px; border-radius: 5px; }

#c9-mobile-home .branch-socials .instagram svg {
  background: radial-gradient(circle at 25% 105%, #FEDA75, #FA7E1E 27%, #D62976 55%, #962FBF 75%, #4F5BD5);
}

@media (min-width: 761px) {
  #c9-mobile-home .branch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
