/* doctors-cosme.css: original cascade order */
/* Doctor's cosmetics: use the existing floral page-title band and clinic palette. */
.doctors-cosme-page .main { width:min(calc(100% - 48px),1160px);margin:32px auto 100px; }
.doctors-cosme-page .page-heading .cosme-title-en { position:relative;z-index:1;margin:4px 0 0;color:#667b65;font:italic 12px Georgia,serif;letter-spacing:.12em; }
.cosme-hero { width:100%;margin:88px 0 0;background:#f1f4ed; }
.cosme-hero-inner { display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);align-items:center;width:min(100%,1160px);min-height:430px;margin:0 auto;padding:0 24px;box-sizing:border-box; }
.cosme-hero-copy { padding:24px clamp(28px,4vw,55px); }
.cosme-eyebrow,.cosme-section-heading>span { display:block;color:#738b73;font-family:Georgia,serif;font-size:max(var(--site-readable-min, 0px), 11px);letter-spacing:.17em; }
.cosme-hero h2 { margin:12px 0 13px;color:#3d4e3e;font-size:max(var(--site-readable-min, 0px), clamp(28px,2.6vw,35px));font-weight:500;line-height:1.5;letter-spacing:.045em; }
.cosme-hero-copy>p:not(.cosme-eyebrow) { max-width:470px;margin:0 0 20px;color:#4c5849;font-size:16px;line-height:1.8; }
.cosme-hero-cta { min-height:48px;display:inline-flex;align-items:center;gap:15px; }
.cosme-hero-image { display:block;width:100%;height:430px;object-fit:contain;object-position:center;background:transparent;mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 96%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 96%,transparent 100%); }
.cosme-brands { margin:60px 0 56px; }
.cosme-brand-intro { margin:0 0 20px;color:#566553;font-size:15px;line-height:1.8; }
.cosme-brand-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0; }
.cosme-brand-grid li { min-width:0; }
.cosme-brand-grid li a { display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:80px;padding:13px 16px;background:#f5f8f2;border:1px solid #e1e9df;border-radius:8px;text-decoration:none; }
.cosme-brand-grid li a:hover,.cosme-brand-grid li a:focus-visible { background:#edf4eb; }
.cosme-brand-grid li a:focus-visible { outline:2px solid #6e9278;outline-offset:3px; }
.cosme-brand-grid li span { flex:none;color:#849882;font:italic 19px Georgia,serif; }
.cosme-brand-grid li strong { color:#405340;font-size:16px;font-weight:500;line-height:1.5;overflow-wrap:anywhere; }
.cosme-brand-grid li .cosme-brand-count { margin-left:auto;color:#6f886e;font-size:max(var(--site-readable-min, 0px), 11px);line-height:1.5;white-space:nowrap; }
.cosme-brand-details { margin:0 0 80px; }
.cosme-brand-details-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;margin:0;padding:0;list-style:none; }
.cosme-brand-detail { display:flex;flex-direction:column;min-width:0;scroll-margin-top:158px;padding:25px 26px 21px;border:1px solid #e1e9df;border-radius:10px;background:#fff; }
.cosme-brand-detail:target { border-color:#91ae90;box-shadow:0 0 0 2px #e1eddd; }
.cosme-brand-detail-title { display:flex;align-items:baseline;gap:16px;padding-bottom:10px;border-bottom:1px solid #e6ebe1; }
.cosme-brand-detail-title>span { flex:none;color:#829781;font:italic 24px Georgia,serif; }
.cosme-brand-detail h3 { margin:0;color:#405340;font-size:21px;font-weight:500;line-height:1.5; }
.cosme-brand-feature { margin:17px 0 12px;color:#506b51;font-size:16px;font-weight:500;line-height:1.7; }
.cosme-brand-copy { margin:0;color:#4b5849;font-size:15px;line-height:1.85; }
.cosme-brand-caution { margin:15px 0 0;padding-left:12px;border-left:2px solid #c5d6bf;color:#576553;font-size:13px;line-height:1.75; }
.cosme-brand-official { display:inline-flex;min-height:44px;align-items:flex-end;align-self:flex-start;gap:5px;margin-top:auto;padding-top:18px;color:#59785c;font-size:13px;text-decoration:underline;text-underline-offset:3px; }
.cosme-brand-official:focus-visible { outline:2px solid #6e9278;outline-offset:3px; }
.cosme-section { margin:74px 0; }
.cosme-section-heading { margin-bottom:26px; }
.cosme-section-heading h2 { margin:10px 0 0;color:#4b604a;font-size:max(var(--site-readable-min, 0px), clamp(23px,2vw,28px));font-weight:500;line-height:1.6; }
.cosme-products { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:20px;margin:0;padding:0;list-style:none; }
.cosme-product { grid-column:span 2;display:flex;flex-direction:column;min-width:0;padding:20px 21px 17px;border:1px solid #e1e9df;border-radius:10px;background:#fff;box-shadow:0 4px 16px #53644b06; }
.cosme-product:nth-child(4) { grid-column:2 / span 2; }
.cosme-product:nth-child(5) { grid-column:4 / span 2; }
.cosme-product-photo { display:block;min-width:0;margin:0 0 15px; }
.cosme-product-photo img { display:block;width:100%;height:145px;object-fit:contain;object-position:center; }
.cosme-source { display:inline-flex;min-height:40px;align-items:flex-end;align-self:flex-start;margin:auto 0 0;padding-top:12px;color:#687f68;font-size:12px;text-decoration:underline;text-underline-offset:3px; }
.cosme-source:focus-visible { outline:2px solid #6e9278;outline-offset:3px; }
.cosme-product-meta { display:flex;align-items:center;gap:13px;margin:0 0 12px;padding:0 0 8px;border-bottom:1px solid #e6ebe1;color:#738b72;font-family:Georgia,serif;font-size:max(var(--site-readable-min, 0px), 11px);letter-spacing:.12em; }
.cosme-product-meta span:first-child { font-style:italic;font-size:24px;letter-spacing:-.04em; }
.cosme-product h3 { margin:0 0 9px;color:#405340;font-size:18px;font-weight:500;line-height:1.55;overflow-wrap:anywhere; }
.cosme-product-copy { margin:0;color:#4b5849;font-size:15px;line-height:1.8; }
.cosme-definition { margin:10px 0 0;color:#5d685b;font-size:12px;line-height:1.65; }
.cosme-spec { margin:12px 0 0;padding:9px 0 0;border-top:1px solid #e5ebe2;color:#566e57;font-size:14px;line-height:1.7; }
.cosme-care { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:26px;margin-top:82px;border-radius:10px;overflow:hidden;background:#f7f6ef; }
.cosme-care-copy { padding:40px 12px 40px 40px; }
.cosme-care h2 { margin:12px 0 20px;color:#405340;font-size:max(var(--site-readable-min, 0px), clamp(24px,2.3vw,30px));font-weight:500;line-height:1.7; }
.cosme-care-copy>p:not(.cosme-eyebrow) { color:#4d584a;font-size:15px;line-height:2; }
.cosme-care-actions { display:flex;flex-wrap:wrap;align-items:center;gap:13px 18px;margin:24px 0; }
.cosme-care-actions .button { min-height:48px;display:inline-flex;align-items:center;gap:12px; }
.cosme-phone { display:inline-flex;min-height:48px;align-items:center;gap:8px;color:#52684f;font-size:14px;text-decoration:underline;text-underline-offset:4px; }
.cosme-phone .phone-number { font-size:17px; }
.cosme-care-copy>.cosme-caution { margin:18px 0 0;color:#637261;font-size:13px;line-height:1.8; }
.cosme-care-image { display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain; }
.cosme-image-note { margin:26px 0 0;color:#697369;font-size:12px;line-height:1.8; }
.cosme-hero a:focus-visible,.cosme-care a:focus-visible,.cosme-home-teaser a:focus-visible { outline:2px solid #6e9278;outline-offset:4px; }
@media (min-width:768px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .cosme-product { transition:transform .25s ease,box-shadow .25s ease; }
  .cosme-product:hover,.cosme-product:focus-within { transform:translateY(-3px);box-shadow:0 10px 30px #52634212; }
}
@media (max-width:900px) {
  .cosme-hero-inner { grid-template-columns:1fr 1fr; }
  .cosme-hero-copy { padding:30px; }
  .cosme-brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cosme-brand-detail { padding:22px; }
  .cosme-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cosme-product,.cosme-product:nth-child(4),.cosme-product:nth-child(5) { grid-column:auto; }
  .cosme-care-copy { padding:28px 0 28px 28px; }
}
@media (max-width:767px) {
  .doctors-cosme-page .main { width:min(calc(100% - 36px),600px);margin:22px auto 56px; }
  .cosme-hero { margin-top:45px; }
  .cosme-hero-inner { display:flex;flex-direction:column;min-height:0;padding:0 18px; }
  .cosme-hero-image { order:-1;height:auto;aspect-ratio:3/2;object-fit:contain; }
  .cosme-hero-copy { width:100%;padding:18px 4px 26px;box-sizing:border-box; }
  .cosme-hero h2 { font-size:26px;letter-spacing:.02em;margin:10px 0 13px; }
  .cosme-hero-copy>p:not(.cosme-eyebrow) { font-size:16px;line-height:1.9; }
  .cosme-hero-cta { width:100%;justify-content:center; }
  .cosme-brands { margin:45px 0 50px; }
  .cosme-brand-grid { gap:10px; }
  .cosme-brand-grid li a { flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:80px;padding:10px 12px; }
  .cosme-brand-grid li span { font-size:16px; }
  .cosme-brand-grid li strong { font-size:15px; }
  .cosme-brand-grid li .cosme-brand-count { margin-left:0; }
  .cosme-brand-grid li:last-child strong { word-break:keep-all;overflow-wrap:normal; }
  .cosme-brand-details { margin-bottom:54px; }
  .cosme-brand-details-grid { grid-template-columns:minmax(0,1fr);gap:15px; }
  .cosme-brand-detail { scroll-margin-top:96px;padding:20px; }
  .cosme-brand-detail h3 { font-size:20px; }
  .cosme-brand-feature,.cosme-brand-copy { font-size:16px; }
  .cosme-section { margin:54px 0; }
  .cosme-section-heading { margin-bottom:18px; }
  .cosme-section-heading h2 { font-size:23px; }
  .cosme-products { grid-template-columns:minmax(0,1fr);gap:16px; }
  .cosme-product { padding:20px; }
  .cosme-product-photo img { height:145px; }
  .cosme-product h3 { font-size:18px; }
  .cosme-product-copy { font-size:16px; }
  .cosme-spec { font-size:14px; }
  .cosme-care { display:flex;flex-direction:column;margin-top:58px;gap:0; }
  .cosme-care-image { order:-1; }
  .cosme-care-copy { padding:24px 22px 30px; }
  .cosme-care h2 { font-size:24px; }
  .cosme-care-copy>p:not(.cosme-eyebrow) { font-size:16px; }
  .cosme-care-actions { align-items:stretch;flex-direction:column; }
  .cosme-care-actions .button,.cosme-phone { justify-content:center; }
  .cosme-image-note { margin-bottom:20px;font-size:12px; }
}
@media (max-width:359px) {
  .cosme-brand-grid li strong { font-size:14px;letter-spacing:-.02em; }
}
@media (prefers-reduced-motion:reduce) { .cosme-product { transition:none;transform:none; } }

/* A quiet introduction on the existing home page; all other sections retain their layout. */
.home main>.cosme-home-teaser { position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:26px;width:min(calc(100% - 48px),1160px);margin:64px auto;padding:38px 35px;border:1px solid #e0e9da;border-radius:9px;background:#f8f9f3; }
.home main>section.cosme-home-teaser:not(.home-hero):not(.top-information) { padding:38px 35px; }
.cosme-home-teaser>.cosme-teaser-art { position:absolute;z-index:0;right:225px;bottom:-62px;width:360px;height:auto;opacity:.19;pointer-events:none;user-select:none; }
.cosme-home-teaser>div,.cosme-home-teaser>a { position:relative;z-index:1; }
.cosme-home-teaser h2 { margin:9px 0 6px;color:#465a46;font-size:24px;font-weight:500;line-height:1.6; }
.cosme-teaser-nowrap { white-space:nowrap; }
.cosme-home-teaser p:not(.cosme-eyebrow) { margin:0;color:#5c6b5c;font-size:14px;line-height:1.8; }
.cosme-home-teaser>a { display:inline-flex;min-height:48px;align-items:center;justify-content:center;flex-shrink:0;padding:10px 17px;border:1px solid #aabd9e;border-radius:5px;color:#526b50;font-size:14px;text-decoration:none; }
.cosme-home-teaser>a:hover { background:#edf3e8; }
@media (max-width:767px) {
  .home main>.cosme-home-teaser { flex-direction:column;align-items:stretch;width:calc(100% - 36px);gap:17px;margin:40px auto;padding:26px 20px; }
  .home main>section.cosme-home-teaser:not(.home-hero):not(.top-information) { padding:26px 20px; }
  .cosme-home-teaser>.cosme-teaser-art { right:-18px;bottom:-30px;width:220px;opacity:.16; }
  .cosme-home-teaser h2 { font-size:21px; }
  .cosme-home-teaser p:not(.cosme-eyebrow) { font-size:15px; }
  .cosme-home-teaser>a { width:100%; }
}

/* Clinic inventory: brand guide and searchable, compact product catalogue. */
.cosme-catalog { margin:0 0 82px; }
.cosme-filter-intro { margin:-9px 0 18px;color:#526352;font-size:15px;line-height:1.8; }
.cosme-filter-controls { margin:0 0 32px;padding:22px 25px;border:1px solid #e1e9df;border-radius:10px;background:#f8f9f4; }
.cosme-entry-modes { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:19px; }
.cosme-entry-mode { min-height:50px;padding:10px;border:1px solid #b5c7b2;border-radius:7px;background:#fff;color:#405840;font-family:inherit;font-size:15px;cursor:pointer; }
.cosme-entry-mode[aria-pressed="true"] { border-color:#617d65;background:#617d65;color:#fff;font-weight:600; }
.cosme-entry-mode:focus-visible,.cosme-advanced-toggle:focus-visible,.cosme-active-chip:focus-visible { outline:2px solid #6d9278;outline-offset:3px; }
.cosme-filter-group { min-width:0;margin:0 0 14px;padding:0;border:0; }
.cosme-filter-group legend { margin:0 0 10px;color:#435b46;font-size:15px;font-weight:600; }
.cosme-filter-options { display:flex;flex-wrap:wrap;gap:8px; }
.cosme-options-panel[hidden],.cosme-advanced-filters[hidden],.cosme-filter-group[hidden],.cosme-active-filters[hidden],.cosme-inventory-reason[hidden] { display:none !important; }
.cosme-filter-note { margin:9px 0 0;color:#5e6b5c;font-size:12px;line-height:1.7; }
.cosme-filter-controls>label { display:block;margin-bottom:9px;color:#435b46;font-size:15px;font-weight:500; }
.cosme-filter-controls>input[type="search"] { display:block;box-sizing:border-box;width:100%;min-height:48px;padding:11px 16px;border:1px solid #bfcebd;border-radius:6px;background:#fff;color:#293d30;font-family:inherit;font-size:16px;line-height:1.5; }
.cosme-filter-controls>input[type="search"]:focus-visible { outline:2px solid #6d9278;outline-offset:2px; }
.cosme-filter-chip,.cosme-filter-reset { min-height:44px;padding:9px 13px;border:1px solid #bfcfbe;border-radius:6px;background:#fff;color:#425b46;cursor:pointer;font-family:inherit;font-size:14px;line-height:1.5; }
.cosme-filter-chip[aria-pressed="true"] { border-color:#668469;background:#617d65;color:#fff; }
.cosme-filter-chip[aria-pressed="true"]::before { content:'✓';margin-right:5px; }
.cosme-filter-chip:focus-visible,.cosme-filter-reset:focus-visible { outline:2px solid #6d9278;outline-offset:2px; }
.cosme-advanced-toggle { display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 17px;padding:6px 1px;border:0;background:transparent;color:#4b6e51;font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;text-decoration:underline;text-underline-offset:3px;cursor:pointer; }
.cosme-advanced-filters { padding:10px 0 5px;border-top:1px solid #e2e9df; }
.cosme-active-filters { display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 2px; }
.cosme-active-chip { min-height:44px;padding:8px 11px;border:1px solid #b1c5ae;border-radius:5px;background:#eff5ec;color:#345439;font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;cursor:pointer; }
.cosme-filter-status { display:flex;align-items:center;justify-content:space-between;gap:12px;color:#506450;font-size:14px; }
.cosme-filter-count { font-variant-numeric:tabular-nums; }
.cosme-filter-reset { padding-inline:15px;white-space:nowrap; }
.cosme-filter-actions { display:flex;flex-wrap:wrap;align-items:center;gap:8px; }
.cosme-filter-jump { display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid #acc4a8;border-radius:6px;background:#edf4e9;color:#3c6244;font-size:14px;line-height:1.5;text-decoration:none;white-space:nowrap; }
.cosme-filter-jump:focus-visible,.cosme-brand-description>summary:focus-visible { outline:2px solid #6d9278;outline-offset:3px; }
.cosme-filter-jump[hidden] { display:none !important; }
.cosme-filter-empty { margin:15px 0 0;padding:14px;border-radius:6px;background:#fff;color:#435645;font-size:15px;line-height:1.7; }
.cosme-filter-empty[hidden],.cosme-brand-block[hidden],.cosme-inventory-item[hidden] { display:none !important; }
.cosme-brand-results { scroll-margin-top:166px; }
.cosme-brand-block { scroll-margin-top:158px;padding:35px 0 39px;border-top:1px solid #dfe8da; }
.cosme-brand-block:target>.cosme-brand-copy-block { border-left:3px solid #95b090;padding-left:14px; }
.cosme-brand-copy-block { max-width:850px; }
.cosme-brand-copy-block .cosme-brand-detail-title { border-bottom:0;padding-bottom:0; }
.cosme-brand-brief { display:none;margin:7px 0 0;color:#567359;font-size:14px;line-height:1.5; }
.cosme-brand-block.is-compact .cosme-brand-brief { display:block; }
.cosme-brand-block:not(.is-compact) .cosme-brand-description>summary { display:none; }
.cosme-brand-description>summary { width:fit-content;min-height:44px;align-items:center;list-style:none;color:#59785c;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer; }
.cosme-brand-block.is-compact .cosme-brand-description>summary { display:inline-flex; }
.cosme-brand-description>summary::-webkit-details-marker { display:none; }
.cosme-brand-description>summary .cosme-brand-opened { display:none; }
.cosme-brand-description[open]>summary .cosme-brand-closed { display:none; }
.cosme-brand-description[open]>summary .cosme-brand-opened { display:inline; }
.cosme-brand-block.is-compact .cosme-inventory-grid { margin-top:9px; }
.cosme-brand-copy-block .cosme-brand-feature { margin:13px 0 7px; }
.cosme-brand-copy-block .cosme-brand-copy { line-height:1.75; }
.cosme-brand-copy-block .cosme-brand-caution { margin-top:11px; }
.cosme-brand-advice { margin:13px 0 0;color:#486749;font-size:15px;line-height:1.75; }
.cosme-brand-copy-block .cosme-brand-official { margin-top:6px;padding-top:0; }
.cosme-inventory-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:13px;margin:18px 0 0; }
.cosme-inventory-item { display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid #e0e8df;border-radius:9px;background:#fff;transition:transform 250ms ease,border-color 250ms ease,box-shadow 250ms ease; }
.cosme-inventory-photo { display:flex;align-items:center;justify-content:center;min-width:0;height:136px;margin:0 0 13px; }
.cosme-inventory-photo img { display:block;width:100%;height:100%;object-fit:contain;object-position:center; }
.cosme-inventory-info { display:flex;flex:1;flex-direction:column;min-width:0; }
.cosme-inventory-heading { min-width:0; }
.cosme-inventory-brand { display:block;margin-top:4px;color:#6b836d;font-size:12px;font-weight:500;line-height:1.4; }
.cosme-inventory-type { margin:0 0 8px;color:#647c65;font-size:13px;line-height:1.5; }
.cosme-name-tail { white-space:nowrap; }
.cosme-inventory-item[data-brand="brand-navision"] .cosme-inventory-type { word-break:keep-all; }
.cosme-inventory-details { display:flex;flex:1;flex-direction:column;min-width:0; }
.cosme-inventory-category { color:#789178;font-size:12px;line-height:1.4; }
.cosme-inventory-info h4 { margin:6px 0 7px;color:#3c523f;font-size:16px;font-weight:500;line-height:1.5;overflow-wrap:anywhere; }
.cosme-inventory-details>p { margin:0 0 8px;color:#4d594c;font-size:14px;line-height:1.72; }
.cosme-inventory-details>.cosme-inventory-definition { color:#617060;font-size:12px; }
.cosme-inventory-details>.cosme-inventory-reason { width:fit-content;margin:1px 0 10px;padding:5px 9px;border-left:2px solid #8eaa89;background:#f3f7ef;color:#466249;font-size:12px;line-height:1.6; }
.cosme-inventory-details>.cosme-inventory-spec { color:#536d56;font-size:12px; }
.cosme-inventory-source { display:inline-flex;align-items:flex-end;align-self:flex-start;min-height:44px;margin-top:auto;padding-top:8px;color:#56785c;font-size:12px;text-decoration:underline;text-underline-offset:3px; }
.cosme-inventory-source:focus-visible,.cosme-brand-back:focus-visible { outline:2px solid #6d9278;outline-offset:2px; }
.cosme-brand-back { display:inline-flex;min-height:44px;align-items:center;gap:6px;margin-top:14px;color:#5d785e;font-size:14px;text-decoration:underline;text-underline-offset:3px; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .cosme-inventory-item:hover,.cosme-inventory-item:focus-within { transform:translateY(-3px);border-color:#b2c7af;box-shadow:0 9px 22px rgba(68,86,67,.09); }
}
@media (prefers-reduced-motion:reduce) {
  .cosme-inventory-item { transition:none;transform:none !important; }
}
@media (min-width:768px) and (max-width:1050px) {
  .cosme-inventory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .cosme-catalog { margin-bottom:56px; }
  .cosme-filter-intro { margin-bottom:12px; }
  .cosme-filter-controls { margin-bottom:24px;padding:16px; }
  .cosme-entry-modes { gap:6px;margin-bottom:12px; }
  .cosme-entry-mode { min-height:60px;padding:8px 5px;font-size:13px;line-height:1.45; }
  .cosme-filter-group { margin-bottom:8px; }
  .cosme-filter-group legend { margin-bottom:7px; }
  .cosme-filter-options { gap:6px; }
  .cosme-filter-chip { font-size:13px;padding-inline:10px; }
  .cosme-advanced-toggle { margin-bottom:8px; }
  .cosme-filter-controls>label { margin-bottom:5px; }
  .cosme-active-filters { margin-top:9px; }
  .cosme-filter-status { align-items:flex-start;flex-direction:column;gap:8px;margin-top:9px; }
  .cosme-filter-actions { width:100%; }
  .cosme-filter-reset,.cosme-filter-jump { padding-inline:11px; }
  .cosme-brand-results { scroll-margin-top:96px; }
  .cosme-brand-block { scroll-margin-top:96px;padding:28px 0 30px; }
  .cosme-brand-block.is-compact { padding:16px 0 23px; }
  .cosme-brand-copy-block .cosme-brand-copy { font-size:15px; }
  .cosme-inventory-grid { grid-template-columns:minmax(0,1fr);gap:12px; }
  .cosme-inventory-item { display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:12px; }
  .cosme-inventory-photo { grid-column:1;grid-row:1;align-self:start;width:88px;height:118px;margin:0; }
  .cosme-inventory-info { display:contents; }
  .cosme-inventory-heading { grid-column:2;grid-row:1;align-self:start; }
  .cosme-inventory-details { grid-column:1 / -1;grid-row:2; }
  .cosme-inventory-info h4 { font-size:15px; }
  .cosme-inventory-details>p { font-size:14px;line-height:1.65; }
  .cosme-inventory-details>.cosme-inventory-definition,.cosme-inventory-details>.cosme-inventory-reason,.cosme-inventory-details>.cosme-inventory-spec { font-size:12px; }
  .cosme-inventory-source { font-size:12px; }
}
@media (max-width:350px) {
  .cosme-inventory-item { grid-template-columns:minmax(0,1fr); }
  .cosme-inventory-photo { grid-column:1;grid-row:1;width:100%;height:116px; }
  .cosme-inventory-heading { grid-column:1;grid-row:2; }
  .cosme-inventory-details { grid-column:1;grid-row:3; }
}

/* related-sites.css: original cascade order */
/* Official related sites: scoped entirely to the new section. */
.related-sites {
  width: 100%;
  max-width: 1160px;
  margin: 72px auto 80px;
  padding: 0 !important;
  color: #39483b;
}
.home .related-sites { width: calc(100% - 48px); }
.related-sites * { box-sizing: border-box; }
.related-sites-heading {
  margin: 0 0 26px;
  text-align: left;
}
.related-sites-eyebrow {
  display: block;
  margin-bottom: 11px;
  color: #788b70;
  font: 400 11px/1.5 Arial, sans-serif;
  font-size: max(var(--site-readable-min, 0px), 11px);
  letter-spacing: .18em;
}
.related-sites-heading h2 {
  margin: 0;
  color: #39483b;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: max(var(--site-readable-min, 0px), clamp(24px, 2.3vw, 29px));
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .06em;
}
.related-sites-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.related-site-card {
  display: grid;
  grid-template-columns: 40% minmax(0, 1fr);
  min-width: 0;
  min-height: 220px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: #fffefa;
  border: 1px solid #dbe3d6;
  border-radius: 7px;
  box-shadow: 0 6px 24px rgba(76, 91, 69, .035);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.related-site-photo {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 218px;
  overflow: hidden;
  background: #f1f2e9;
}
.related-site-photo img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center;
}
.related-site-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 22px 22px;
}
.related-site-overline {
  display: block;
  color: #82927b;
  font: 400 10px/1.5 Arial, sans-serif;
  font-size: max(var(--site-readable-min, 0px), 10px);
  letter-spacing: .14em;
}
.related-site-name {
  display: block;
  margin-top: 10px;
  color: #39483b;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: max(var(--site-readable-min, 0px), clamp(20px, 1.8vw, 24px));
  font-weight: 400;
  letter-spacing: .04em;
  line-height: 1.45;
}
.related-site-description {
  display: block;
  margin-top: 9px;
  color: #657061;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.8;
}
.related-site-cta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 19px;
  padding-top: 13px;
  border-top: 1px solid #e2e8df;
  color: #50694e;
  font-size: 12px;
  letter-spacing: .04em;
  line-height: 1.5;
}
.related-site-arrow {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #c9d6c5;
  border-radius: 50%;
  font: 400 13px/1 Arial, sans-serif;
}
@media (hover: hover) and (pointer: fine) {
  .related-site-card:hover {
    border-color: #aebbab;
    box-shadow: 0 13px 30px rgba(76, 91, 69, .095);
    transform: translateY(-2px);
  }
}
.related-site-card:focus-visible {
  outline: 3px solid #688566;
  outline-offset: 4px;
}
@media (max-width: 900px) {
  .related-sites-grid { grid-template-columns: 1fr; }
  .related-site-card { grid-template-columns: 38% minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .related-sites { margin: 42px auto 52px; }
  .home .related-sites { width: calc(100% - 40px); }
  .related-sites-heading { margin-bottom: 19px; }
  .related-sites-grid { gap: 18px; }
  .related-site-card { display: block; min-height: 0; }
  .related-site-photo { min-height: 0; height: auto; aspect-ratio: 2.1 / 1; }
  .related-site-copy { padding: 20px 21px 22px; }
  .related-site-name { margin-top: 6px; font-size: 23px; }
  .related-site-description { margin-top: 6px; font-size: 13px; }
  .related-site-cta { margin-top: 15px; padding-top: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .related-site-card { transition: none; }
  .related-site-card:hover { transform: none; }
}

/* nav-directory.css: original cascade order */
/* Directory expansion for the existing fixed navigation. */
@media (min-width: 768px) {
  .site-header #navigation { position: relative; overflow: visible; }
  .site-header #navigation > a[data-directory][aria-expanded="true"] { color: #53664f; }
  .site-header #navigation .nav-directory-panel {
    position: absolute; top: 100%; left: 50%; z-index: 60;
    width: min(1120px, calc(100vw - 40px)); max-height: min(580px, calc(100dvh - 155px));
    overflow: auto; overscroll-behavior: contain;
    padding: 28px 38px 32px; box-sizing: border-box;
    border: 1px solid #dce3d5; border-top: 1px solid #d5dfcf;
    border-radius: 0 0 8px 8px;
    background: #fbfcf9;
    box-shadow: 0 20px 42px rgba(54, 70, 48, .13);
    color: #455347;
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translate(-50%, -8px);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
  }
  .site-header #navigation .nav-directory-panel.is-open {
    opacity: 1; visibility: visible; pointer-events: auto;
    transform: translate(-50%, 0);
  }
  .nav-directory-head { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 20px; padding-bottom: 17px; border-bottom: 1px solid #dce3d5; }
  .nav-directory-head > div { display: flex; flex-direction: column; gap: 2px; }
  .nav-directory-head small { color: #87957f; font: 500 11px/1.6 Arial, sans-serif;font-size:max(var(--site-readable-min, 0px), 11px); letter-spacing: .2em; }
  .nav-directory-head strong { color: #435344; font: 500 25px/1.45 "Yu Mincho", "Hiragino Mincho ProN", serif; letter-spacing: .07em; }
  .site-header #navigation .nav-directory-page-link { display: block; margin: 0 0 3px; padding: 0; border: 0; color: #71806c; font-size: 13px; font-weight: 400; text-decoration: none; }
  .site-header #navigation .nav-directory-page-link:hover { color: #4b7654; text-decoration: underline; text-underline-offset: 4px; }
  .site-header #navigation .nav-directory-page-link:focus-visible { outline: 2px solid #778d70; outline-offset: 4px; }
  .nav-directory-links { display: grid; grid-template-columns: repeat(var(--directory-columns, 2), minmax(0, 1fr)); gap: 3px 24px; }
  .site-header #navigation .nav-directory-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 43px; padding: 9px 5px 9px 0; box-sizing: border-box; border-bottom: 1px solid #e8ede4; color: #49594a; font-size: 13px; font-weight: 400; letter-spacing: .02em; line-height: 1.5; }
  .site-header #navigation .nav-directory-link::after { content: "↗"; flex: none; color: #9ba895; font: 14px/1 Arial, sans-serif; }
  .site-header #navigation .nav-directory-link:hover,
  .site-header #navigation .nav-directory-link:focus-visible { color: #4b7654; background: #f2f6ed; }
  .nav-directory-mobile { display: none; }
}
@media (min-width: 768px) and (max-width: 980px) {
  .site-header #navigation .nav-directory-panel { padding: 22px 26px 25px; }
  .nav-directory-links { column-gap: 15px; }
  .site-header #navigation .nav-directory-link { font-size: 12px; }
}
@media (max-width: 767px) {
  .site-header #navigation .nav-directory-panel { display: none !important; }
  .site-header #navigation.open .nav-directory-mobile { display: block; margin-top: 12px; }
  .site-header #navigation .nav-mobile-finder { margin-bottom: 12px; }
  .site-header #navigation .nav-directory-mobile-item > .nav-directory-mobile-overview { margin: 11px 13px 0; }
  .site-header #navigation .nav-directory-mobile > p { margin: 0 0 8px; padding: 0 2px; color: #798a74; font-size: max(var(--site-readable-min, 0px), 11px); letter-spacing: .12em; }
  .site-header #navigation .nav-directory-mobile-item { border-top: 1px solid #dbe3d5; }
  .site-header #navigation .nav-directory-mobile-item:last-child { border-bottom: 1px solid #dbe3d5; }
  .site-header #navigation .nav-directory-mobile-item > summary { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 9px 13px; box-sizing: border-box; list-style: none; color: #4d5b4b; font-size: 14px; font-weight: 500; cursor: pointer; }
  .site-header #navigation .nav-directory-mobile-item > summary::-webkit-details-marker { display: none; }
  .site-header #navigation .nav-directory-mobile-item > summary::after { content: "+"; color: #738370; font: 20px/1 Arial, sans-serif; }
  .site-header #navigation .nav-directory-mobile-item[open] > summary { background: #f0f5ed; }
  .site-header #navigation .nav-directory-mobile-item[open] > summary::after { content: "−"; }
  .site-header #navigation .nav-directory-mobile-links { display: grid; grid-template-columns: 1fr; padding: 0 13px 12px; background: #fbfcf9; }
  .site-header #navigation .nav-directory-mobile-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 9px 3px; box-sizing: border-box; border-bottom: 1px solid #ebeee8; color: #465648; font-size: 13px; font-weight: 400; line-height: 1.45; }
  .site-header #navigation .nav-directory-mobile-link::after { content: "›"; flex: none; color: #8a9a82; font: 20px/1 Arial, sans-serif; }
  .site-header #navigation .nav-directory-mobile-item > summary:focus-visible,
  .site-header #navigation .nav-directory-mobile-link:focus-visible { outline: 2px solid #778d70; outline-offset: -2px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header #navigation .nav-directory-panel { transition: none; }
}

/* Rich access directory: the same verified beauty-floor map and information on both layouts. */
.nav-access-card { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); gap: 28px; min-width: 0; }
.nav-access-map { min-width: 0; overflow: hidden; border: 1px solid #d9e2d5; border-radius: 5px; background: #eef2e9; }
.nav-access-map iframe { display: block; width: 100%; height: 100%; min-height: 285px; border: 0; }
.nav-access-content { min-width: 0; }
.nav-access-label { margin: 0 0 7px!important; color: #81917c!important; font: 500 10px/1.6 Arial, sans-serif!important;font-size:max(var(--site-readable-min, 0px), 10px) !important; letter-spacing: .17em; }
.nav-access-content address { color: #3d4b3e; font: normal 500 17px/1.55 "Yu Mincho", "Hiragino Mincho ProN", serif; letter-spacing: .035em; }
.nav-access-route { margin: 8px 0 4px!important; color: #627260!important; font-size: 12px!important; line-height: 1.65!important; }
.nav-access-phone { display: inline-block; margin: 0 0 10px; color: #445b47!important; font: 500 17px/1.5 Arial, sans-serif!important; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.nav-access-hours { display: grid; gap: 2px; padding: 10px 0 11px; border-top: 1px solid #dfe7dc; border-bottom: 1px solid #dfe7dc; color: #61705e; font-size: 12px; line-height: 1.6; }
.nav-access-hours strong { color: #435744; font-size: 12px; font-weight: 600; }
.nav-access-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 12px; margin-top: 10px; }
.site-header #navigation .nav-access-actions a { display: flex; align-items: center; min-height: 38px; padding: 6px 2px; border-bottom: 1px solid #e1e7dc; color: #405741; font-size: 12px; line-height: 1.4; }
.site-header #navigation .nav-access-actions .nav-access-line { color: #497350; font-weight: 600; }
.site-header #navigation .nav-access-actions a:hover,
.site-header #navigation .nav-access-actions a:focus-visible { background: #eff4ec; color: #42654a; outline: 2px solid #819a7d; outline-offset: 1px; }
@media (min-width: 768px) and (max-width: 1024px) {
  .nav-access-card { gap: 16px; }
  .nav-access-map iframe { min-height: 310px; }
  .nav-access-content address { font-size: 15px; }
  .nav-access-actions { gap: 3px 7px; }
}
@media (max-width: 767px) {
  .site-header #navigation .nav-directory-mobile-item .nav-access-card { grid-template-columns: minmax(0,1fr); gap: 14px; padding: 12px 13px 15px; background: #fbfcf9; }
  .site-header #navigation .nav-access-map iframe { height: 190px; min-height: 190px; }
  .site-header #navigation .nav-access-content address { font-size: 16px; }
  .site-header #navigation .nav-access-actions { gap: 3px 9px; }
  .site-header #navigation .nav-access-hours { font-size: 12px; }
}

/* One-step beauty mega menus: all 17 facial / 5 body treatment destinations are visible. */
.nav-directory-mega { min-width: 0; }
.site-header #navigation .nav-directory-mega-overview { display: inline-flex; align-items: center; min-height: 38px; margin: 0 0 16px; padding: 7px 13px; border: 1px solid #b9c9b4; border-radius: 3px; background: #f1f5ef; color: #425a43; font-size: 13px; font-weight: 600; line-height: 1.45; }
.site-header #navigation .nav-directory-mega-overview::after { content: " →"; margin-left: 9px; font-weight: 400; }
.nav-directory-mega-columns { display: grid; grid-template-columns: repeat(var(--mega-columns,4),minmax(0,1fr)); gap: 20px; }
.nav-directory-mega-group { min-width: 0; }
.nav-directory-group-title { margin: 0 0 5px; padding: 0 0 10px; border-bottom: 1px solid #cbd8c7; color: #586f58; font: 600 13px/1.4 "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif; letter-spacing: .065em; }
.site-header #navigation .nav-directory-mega-item { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 41px; padding: 7px 2px 7px 0; border-bottom: 1px solid #e9ede6; box-sizing: border-box; color: #455847; font-size: 13px; font-weight: 400; line-height: 1.5; }
.site-header #navigation .nav-directory-mega-item::after { content: "↗"; flex: none; color: #9aa994; font: 13px/1 Arial,sans-serif; }
.site-header #navigation .nav-directory-mega-related { display: inline-flex; min-height: 38px; align-items: center; margin-top: 16px; color: #627961; font-size: 12px; }
.site-header #navigation .nav-directory-mega-related::after { content: " →"; margin-left: 7px; }
.site-header #navigation :is(.nav-directory-mega-item,.nav-directory-mega-overview,.nav-directory-mega-related):hover,
.site-header #navigation :is(.nav-directory-mega-item,.nav-directory-mega-overview,.nav-directory-mega-related):focus-visible { outline: 2px solid #82997e; outline-offset: 1px; background: #eaf1e8; color: #385a3c; }
.site-header #navigation .nav-access-actions .nav-access-line { gap: 6px; }
.site-header #navigation .nav-access-line img { width: 22px; height: 22px; flex: none; object-fit: contain; }
/* The dated campaign's short summary uses the existing directory palette and spacing. */
.site-header #navigation .nav-campaign-overview { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 3px 18px; margin: 0 0 8px; padding: 0 0 16px; border-bottom: 1px solid #e0e7db; }
.site-header #navigation .nav-campaign-overview strong { color: #495c48; font: 500 18px/1.6 "Yu Mincho", "Hiragino Mincho ProN", serif; letter-spacing: .04em; }
.site-header #navigation .nav-campaign-overview span { color: #697c66; font: 500 12px/1.5 Arial, sans-serif; }
.site-header #navigation .nav-campaign-overview p { grid-column: 1/-1; margin: 3px 0 0; color: #667563; font-size: 13px; line-height: 1.65; }
@media (min-width: 768px) and (max-width: 980px) {
  .nav-directory-mega-columns { gap: 12px; }
  .site-header #navigation .nav-directory-mega-item { font-size: 12px; }
}
@media (min-width: 768px) and (max-width: 1150px) {
  .nav-directory-panel .nav-directory-mega-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 22px; }
  .site-header #navigation .nav-directory-panel .nav-directory-mega-item { font-size: 14px; line-height: 1.55; }
}
@media (max-width: 767px) {
  .site-header #navigation .nav-directory-mega { padding: 11px 13px 15px; background: #fbfcf9; }
  .site-header #navigation .nav-directory-mobile-item .nav-campaign-overview { grid-template-columns: minmax(0,1fr); gap: 3px; margin: 0; padding: 12px 13px; background: #fbfcf9; }
  .site-header #navigation .nav-directory-mobile-item .nav-campaign-overview strong { font-size: 16px; }
  .site-header #navigation .nav-directory-mega-overview { display: flex; justify-content: space-between; min-height: 45px; margin: 0 0 9px; font-size: 13px; }
  .site-header #navigation .nav-directory-mega-columns { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .site-header #navigation .nav-directory-group-title { margin-bottom: 2px; padding-bottom: 7px; font-size: 12px; }
  .site-header #navigation .nav-directory-mega-item { min-height: 45px; font-size: 13px; }
  .site-header #navigation .nav-directory-mega-related { margin-top: 12px; font-size: 12px; }
}

/* site-menu.css: original cascade order */
/* PC whole-site directory; the existing single mobile drawer is unchanged. */
.site-menu-layer[hidden], .site-menu-layer [hidden] { display: none!important; }
@media (min-width: 768px) {
  .site-header .header-actions .site-menu-trigger {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    flex: none; min-width: 112px; min-height: 43px; margin-left: 12px; padding: 8px 12px;
    border: 1px solid #a8b79f; border-radius: 4px; background: #f8faf5;
    color: #465c47; cursor: pointer; white-space: nowrap;
    font: 500 13px/1.3 "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
    letter-spacing: .09em; transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
  }
  .site-header .header-actions .site-menu-trigger:focus-visible { background: #e8efe5; border-color: #82957e; color: #344f3a; outline: 2px solid #81977a; outline-offset: 2px; }
  .site-menu-bars { display: grid; gap: 4px; width: 17px; }
  .site-menu-bars i { display: block; height: 1px; background: currentColor; }
  .site-menu-bars i:nth-child(2) { width: 12px; }
  .site-menu-layer { position: fixed; z-index: 300; inset: 0; display: grid; place-items: center; padding: 16px; box-sizing: border-box; }
  .site-menu-shade { position: absolute; inset: 0; background: rgba(31,42,31,.48); backdrop-filter: blur(3px); }
  .site-menu-dialog { position: relative; display: grid; grid-template-rows: auto auto minmax(0,1fr); width: min(1280px,calc(100vw - 40px)); height: min(780px,calc(100dvh - 32px)); min-height: 0; overflow: hidden; border: 1px solid #d4dfcf; border-radius: 8px; background: #fafbf7; box-shadow: 0 25px 70px rgba(16,31,17,.22); color: #435346; animation: site-menu-in 180ms ease both; font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; }
  .site-menu-top { z-index: 2; display: grid; grid-template-columns: 270px minmax(220px,1fr) auto; align-items: center; gap: 24px; padding: 16px 25px; border-bottom: 1px solid #dce4d8; background: #fafbf7; }
  .site-menu-kicker { display: block; color: #7d8f78; font: 500 10px/1.5 Arial,sans-serif;font-size:max(var(--site-readable-min, 0px), 10px); letter-spacing: .17em; }
  .site-menu-top h2 { margin: 2px 0 0; color: #435748; font: 500 21px/1.4 "Yu Mincho", "Hiragino Mincho ProN",serif; letter-spacing: .04em; white-space: nowrap; }
  .site-menu-close { display: inline-flex; align-items: center; gap: 7px; min-width: 86px; min-height: 42px; padding: 7px 11px; border: 1px solid #b9c9b4; border-radius: 4px; background: #fff; color: #405a43; font: 500 15px/1.4 sans-serif; cursor: pointer; }
  .site-menu-close span:first-child { font: 24px/1 Arial,sans-serif; }
  .site-menu-finder { position: relative; min-width: 0; }
  .site-menu-search-label { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
  .site-menu-input-row { display: flex; align-items: center; gap: 8px; }
  .site-menu-input-row input { width: 100%; min-width: 0; min-height: 43px; box-sizing: border-box; padding: 8px 12px; border: 1px solid #b4c5af; border-radius: 4px; background: #fff; color: #324835; font: 15px/1.5 sans-serif; }
  .site-menu-input-row button { flex: none; min-height: 41px; padding: 7px 10px; border: 1px solid #c4d0c0; border-radius: 4px; background: #f8faf5; color: #495f4b; cursor: pointer; font-size: 14px; }
  .site-menu-primary { display: flex; align-items: center; gap: 10px; margin: 0; padding: 9px 25px; border-bottom: 1px solid #dce4d8; background: #f2f5ed; }
  .site-menu-primary a { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 36px; padding: 5px 12px; box-sizing: border-box; border: 1px solid #c7d4c1; border-radius: 4px; background: #fafcf8; color: #415a45; font-size: 15px; font-weight: 500; line-height: 1.45; text-decoration: none; }
  .site-menu-primary a:first-child { border-color: #637b60; background: #596f58; color: #fff; }
  .site-menu-primary a[href^="tel:"] { font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
  .site-menu-line-label { display: inline-flex; align-items: center; gap: 8px; }
  .site-menu-line-label img { display: block; width: 23px; height: 23px; box-sizing: border-box; padding: 1px; border-radius: 4px; background: #fff; object-fit: contain; }
  .site-menu-workspace { display: grid; grid-template-columns: 200px minmax(0,1fr); min-height: 0; }
  .site-menu-tabs { display: flex; flex-direction: column; gap: 7px; padding: 20px 12px; border-right: 1px solid #d8e2d3; background: #f0f4ed; min-height: 0; overflow: auto; }
  .site-menu-tab { position: relative; display: grid; gap: 7px; width: 100%; padding: 15px 13px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #5a6e57; cursor: pointer; text-align: left; }
  .site-menu-tab > span { font: 500 15px/1.55 "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; overflow-wrap: anywhere; }
  .site-menu-tab-phrase { white-space: nowrap; }
  .site-menu-tab > small { font: 400 12px/1.5 sans-serif; color: #7b8c77; }
  .site-menu-tab[aria-selected="true"] { border-color: #bbceb1; background: #fbfcf8; color: #344f36; box-shadow: inset 3px 0 #6d8764, 0 2px 7px #354a3410; }
  .site-menu-content { display: grid; grid-template-rows: auto minmax(0,1fr); min-width: 0; min-height: 0; }
  .site-menu-content-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 16px 24px 12px; border-bottom: 1px solid #e2e8dd; background: #fafbf7; }
  .site-menu-panel-title { margin: 0; color: #3f5742; font: 500 20px/1.45 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing: .025em; }
  .site-menu-result { margin: 0; color: #6a7c65; font: 400 13px/1.5 sans-serif; }
  .site-menu-scroll { min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 16px 24px 22px; }
  .site-menu-panel { outline-offset: -1px; }
  .site-menu-overviews { display: flex; gap: 12px; margin-bottom: 14px; }
  .site-menu-overviews .site-menu-item { border: 1px solid #c9d7c2; border-radius: 4px; padding: 7px 12px; background: #f1f6ed; min-height: 36px; }
  .site-menu-treatment-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
  .site-menu-treatment-column { min-width: 0; }
  .site-menu-group { min-width: 0; margin: 0 0 18px; }
  .site-menu-group:last-child { margin-bottom: 0; }
  .site-menu-group-title { margin: 0 0 7px; padding: 0 0 9px; border-bottom: 1px solid #c9d7c1; color: #425b43; font: 600 16px/1.5 "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif; letter-spacing: .015em; }
  .site-menu-group-links { display: grid; grid-template-columns: minmax(0,1fr); }
  .site-menu-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; min-height: 38px; padding: 7px 4px 7px 0; box-sizing: border-box; border-bottom: 1px solid #e7ece3; color: #415743; font-size: 15px; font-weight: 400; line-height: 1.6; text-decoration: none; line-break: strict; word-break: normal; overflow-wrap: anywhere; }
  .site-menu-link-label { min-width: 0; }
  .site-menu-link-condition { white-space: nowrap; }
  .site-menu-item::after { content: "→"; flex: none; color: #819579; font: 15px/1 Arial,sans-serif; }
  .site-menu-item[target="_blank"]::after { content: "↗"; }
  .site-menu-concern-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px 24px; }
  .site-menu-concern-grid .site-menu-group { margin: 0; }
  .site-menu-campaign-note { margin: 12px 0 0; max-width: 720px; color: #64775e; font-size: 15px; line-height: 1.8; }
  .site-menu-guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 30px; }
  .site-menu-guide-grid > .site-menu-group:first-child { grid-row: span 2; margin-bottom: 0; }
  .site-menu-social .site-menu-item { justify-content: flex-start; gap: 9px; }
  .site-menu-social .site-menu-item::after { margin-left: auto; }
  .site-menu-social .site-menu-outbound img { display: block; width: auto; max-width: 29px; height: 25px; flex: none; object-fit: contain; }
  .site-menu-results-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 24px; }
  .site-menu-search-link { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2px 8px; padding: 10px 7px; }
  .site-menu-search-link > span { grid-column: 1; }
  .site-menu-search-link > small { grid-column: 1; color: #7b8e75; font-size: 12px; line-height: 1.5; }
  .site-menu-search-link::after { grid-column: 2; grid-row: 1 / span 2; }
  .site-menu-empty { margin: 0; padding: 18px; border: 1px solid #dce5d9; color: #586b59; font-size: 15px; }
  .site-menu-dialog :is(a,button,input,[role="tabpanel"]):focus-visible { outline: 2px solid #6b8962; outline-offset: 2px; border-radius: 3px; }
  .site-menu-tab:active, .site-menu-item:active { background: #e8efe2; }
  @keyframes site-menu-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
  html.site-menu-open { overscroll-behavior: none; }
  @media (max-width: 1150px) {
    .site-menu-top { grid-template-columns: 245px minmax(180px,1fr) auto; gap: 14px; padding: 14px 20px; }
    .site-menu-treatment-columns { display: block; columns: 2; column-gap: 22px; }
    .site-menu-treatment-column { display: contents; }
    .site-menu-treatment-columns .site-menu-group { display: inline-block; width: 100%; margin: 0 0 18px; break-inside: avoid; }
    .site-menu-concern-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  }
  @media (max-width: 1050px) {
    .site-header .header-actions .site-menu-trigger { min-width: 104px; gap: 8px; margin-left: 7px; padding: 7px 9px; }
  }
  @media (max-width: 900px) {
    .site-menu-workspace { grid-template-columns: 185px minmax(0,1fr); }
    .site-menu-top { grid-template-columns: minmax(0,1fr) auto; }
    .site-menu-finder { grid-row: 2; grid-column: 1/-1; }
    .site-menu-top .site-menu-close { grid-column: 2; grid-row: 1; }
    .site-menu-primary { padding: 8px 18px; gap: 7px; flex-wrap: wrap; }
    .site-menu-primary a { font-size: 14px; gap: 7px; padding: 5px 9px; }
    .site-menu-scroll { padding: 14px 17px 20px; }
    .site-menu-content-head { padding: 13px 17px; }
    .site-menu-treatment-columns, .site-menu-concern-grid { column-gap: 17px; }
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .site-menu-dialog :is(.site-menu-item,.site-menu-tab,.site-menu-close,.site-menu-clear):hover { background: #eaf1e5; color: #314e34; }
  .site-menu-dialog .site-menu-primary a:hover { background: #eaf1e5; color: #314e34; }
  .site-menu-dialog .site-menu-primary a:first-child:hover { background: #405c44; color: #fff; }
}
@media (max-width: 767px) {
  .site-menu-trigger, .site-menu-layer { display: none!important; }
  .site-header #navigation.open .nav-mobile-finder { display: grid; gap: 7px; padding: 14px 13px; border: 1px solid #d5e0d1; border-radius: 5px; background: #f8faf5; }
  .nav-mobile-finder label { color: #536853; font-size: 13px; font-weight: 600; }
  .nav-mobile-finder-row { display: flex; gap: 7px; min-width: 0; }
  .nav-mobile-finder-row input { min-width: 0; flex: 1; min-height: 43px; padding: 7px 9px; border: 1px solid #aebfaa; border-radius: 4px; background: #fff; color: #405541; font-size: 14px; }
  .nav-mobile-finder-row button { min-height: 43px; padding: 6px 10px; border: 1px solid #bdccba; border-radius: 4px; background: #fff; color: #4b604c; font-size: 12px; }
  .nav-mobile-finder-row :is(input,button):focus-visible, .nav-mobile-search-link:focus-visible { outline: 2px solid #789271; outline-offset: 2px; }
  .nav-mobile-finder-count { margin: 0!important; color: #6b7e69; font-size: 12px!important; line-height: 1.5; }
  .site-header #navigation.open .nav-mobile-search-results { display: grid; max-height: min(390px,48dvh); overflow: auto; padding: 3px 0; overscroll-behavior: contain; border-top: 1px solid #dfe7db; }
  .site-header #navigation.open .nav-mobile-search-link { display: flex; align-items: center; min-height: 42px; padding: 8px 3px; border-bottom: 1px solid #e6ece4; color: #405841; font-size: 13px; line-height: 1.4; }
  .site-header #navigation.open .nav-mobile-search-link::after { content: "›"; margin-left: auto; color: #8fa18a; font-size: 20px; }
  .site-header #navigation.open .nav-directory-mobile.is-searching > .nav-directory-mobile-item { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .site-menu-dialog { animation: none; }
  .site-menu-trigger { transition: none!important; }
}

/* first-visit-refresh.css: original cascade order */
/* 2026-10-07 staged revision: first-visit pricing, the dated campaign and visible patient information. */
.home .papa-campaign-banner {
  padding-top: 46px;
  padding-bottom: 48px;
  background: linear-gradient(115deg, #fbfaf5, #f7faf5);
}
.home .papa-campaign-banner .top-campaign-head { margin-bottom: 18px; }
.papa-campaign-card {
  max-width: 1000px;
  margin: 0 auto;
  padding: clamp(24px, 3.8vw, 46px);
  border: 1px solid #d9e1d4;
  border-radius: 7px;
  background: linear-gradient(120deg, #fffdf9, #f5f8f1);
  box-shadow: 0 10px 32px #5263420a;
}
.papa-campaign-copy { max-width: 790px; }
.papa-campaign-copy h3,
.papa-campaign-page h2 {
  margin: 12px 0 20px;
  color: #425445;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: max(var(--site-readable-min, 0px), clamp(23px, 2.4vw, 31px));
  font-weight: 500;
  line-height: 1.5;
}
.papa-campaign-copy p:not(.campaign-current-status) { margin: 0 0 11px; color: #475449; font-size: 14px; line-height: 1.85; }
.campaign-current-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 11px;
  border: 1px solid #cdd9c8;
  border-radius: 2px;
  background: #f4f8f0;
  color: #405946;
  font-size: 12px;
  line-height: 1.5;
}
.campaign-current-status[data-state="ended"] { border-color: #d8d4cf; background: #f5f3ef; color: #5d625c; }
.papa-campaign-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin-top: 9px;
  border-bottom: 1px solid #829883;
  color: #415e48;
  font-size: 14px;
  text-underline-offset: 4px;
}
.papa-campaign-link:hover,
.papa-campaign-link:focus-visible { color: #2e4834; border-color: currentColor; }
.papa-campaign-page { max-width: 960px; margin: 0 auto 62px; }
.papa-campaign-page .second-text { width: 100%; }
.papa-campaign-page .news-campaign-article { margin-top: 24px; }
.papa-campaign-page .campaign-original-source,
.papa-campaign-page .campaign-price-guide { font-size: 14px; line-height: 1.8; }
.papa-campaign-page a,
.first-visit-intro a { text-underline-offset: 4px; }
.first-visit-intro { max-width: 900px; margin: 0 auto 28px; color: #4b5b4c; font-size: 15px; line-height: 1.85; }
.home .first-visit-section .top-campaign-content { max-width: 1160px; }
.home .first-visit-section .top-campaign-head-comment { max-width: 620px; }

/* Each displayed amount has its own visible tax indication; table captions cover every cell. */
.amount-tax-note {
  display: inline-block;
  margin-left: .3em;
  color: #596b5b;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: max(var(--site-readable-min, 0px), 10px) !important;
  font-style: normal;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  white-space: nowrap;
  vertical-align: baseline;
}
.offer-special .amount-tax-note,
.normal-fee-amount--initial .amount-tax-note { color: #9a5147; }
.price-tbl .tax-caption,
.news-campaign-price .tax-caption {
  caption-side: top;
  margin: 0;
  padding: 4px 0 10px;
  color: #4a594b;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  text-align: right;
}
.news-campaign-price th .tax-label { font-size: max(var(--site-readable-min, 0px), .85em); font-weight: 400; white-space: nowrap; }
.price-first-visit-link { margin: -4px 0 24px; font-size: 13px; line-height: 1.6; }
.price-first-visit-link a { color: #526b53; text-decoration: underline; text-underline-offset: 3px; }
.price-first-visit-link a:hover,
.price-first-visit-link a:focus-visible { color: #385c42; }

/* Seven concern doors. Existing artwork stays untouched; new doors use quiet typeset art. */
.home .top-search-concerns { gap: 15px; }
.home .top-search-concerns-list { min-width: 0; padding: 17px; }
.home .top-search-concerns-list .concern-caption { grid-column: 1 / -1; margin: 0 0 12px; color: #455748; font-size: 13px; line-height: 1.65; }
.home .top-search-concerns-list .namelist { margin-bottom: 0; }
.home .top-search-concerns-list .namelist a { min-height: 29px; }
.concern-controls,
.concern-position { display: none; }
.concern-buttons { display: flex; gap: 7px; }
.concern-buttons button { width: 38px; height: 38px; border: 1px solid #c7d6c4; border-radius: 50%; background: #fff; color: #486047; font-size: 20px; cursor: pointer; }
.concern-buttons button:disabled { opacity: .4; cursor: default; }
.concern-buttons button:focus-visible,
#concern-track:focus-visible { outline: 2px solid #657f68; outline-offset: 2px; }
.concern-new .concern-simple-art {
  display: grid;
  place-items: center;
  min-height: 150px;
  margin-bottom: 14px;
  border: 1px solid #e2e9de;
  border-radius: 3px;
  background: radial-gradient(circle at 20% 25%, #eaf0e5, transparent 42%),
              linear-gradient(150deg, #fafbf6, #eff4ec);
  color: #869883;
  font-family: Georgia, serif;
  font-size: 12px;
  font-style: italic;
  letter-spacing: .14em;
}
.concern-new .concern-awaiting { color: #586a59; font-size: 13px; line-height: 1.7; }
.eye-care-guide { max-width: 1080px; margin: 36px auto 0; padding: 32px; border: 1px solid #dbe4d6; background: #fafbf7; }
.eye-care-inner { max-width: 800px; margin: 0 auto; }
.eye-care-kicker { color: #72886f; font-size: max(var(--site-readable-min, 0px), 11px); letter-spacing: .14em; }
.eye-care-guide h3 { margin: 7px 0 15px; color: #425a44; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 23px; font-weight: 500; }
.eye-care-guide p { margin: 0 0 12px; color: #344438; font-size: 14px; line-height: 1.85; }
.eye-care-guide a { display: inline-block; min-height: 44px; margin-top: 9px; border-bottom: 1px solid #748b76; color: #405d45; font-size: 14px; line-height: 44px; }

/* The supplied medical copy remains fully visible, never in an accordion. */
.medical-disclosure {
  clear: both;
  margin: 36px 0 32px;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid #d7e1d3;
  border-left: 3px solid #8da48b;
  background: #fafcf8;
  color: #344438;
}
.medical-disclosure h2,
.medical-disclosure h3 { margin: 0 0 16px; color: #3a503e; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: max(var(--site-readable-min, 0px), clamp(19px, 2vw, 23px)); font-weight: 500; line-height: 1.6; }
.medical-disclosure dl { margin: 0; }
.medical-disclosure dt { margin: 16px 0 4px; color: #405a45; font-size: 15px; font-weight: 700; line-height: 1.6; }
.medical-disclosure dd,
.medical-disclosure p { margin: 0; color: #354438; font-size: 15px; line-height: 1.9; }
.medical-disclosure .medical-cost { margin-top: 20px; padding-top: 14px; border-top: 1px solid #dbe4d8; }
.medical-source-list { margin: 34px 0; padding: 22px; border-top: 1px solid #dbe4d8; }
.medical-source-list h2 { font-size: 20px; }
.medical-source-list li { margin: 7px 0; font-size: 13px; overflow-wrap: anywhere; }
.medical-shared-note { margin: 28px 0 32px; padding: 18px 22px; border: 1px solid #dae4d7; color: #344438; background: #f8faf6; font-size: 14px; line-height: 1.85; }

@media (max-width: 767px) {
  .home .papa-campaign-banner { padding: 30px 22px 34px; }
  .papa-campaign-card { padding: 19px 17px; }
  .papa-campaign-copy h3 { margin: 10px 0 12px; font-size: 22px; }
  .papa-campaign-copy p:not(.campaign-current-status) { font-size: 13px; line-height: 1.7; }
  .home .first-visit-section { padding-top: 38px; padding-bottom: 38px; }
  .home .first-visit-section .top-campaign-head { margin-bottom: 8px; }
  .home .first-visit-section .campaign-controls { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin: 14px auto 10px; }
  .home .first-visit-section .campaign-controls p { font-size: 12px; line-height: 1.6; }
  .home .first-visit-section .campaign-hint-desktop { display: none; }
  .home .first-visit-section .campaign-hint-mobile { display: inline; }
  .home .first-visit-section .campaign-buttons { display: flex; }
  .home .first-visit-section .campaign-position { display: block; margin: 8px auto 14px; }
  .home .first-visit-section .home-offers,
  .home .first-visit-section .home-offers.edge-auto-scrolling,
  .home .first-visit-section .home-offers.edge-auto-settled {
    display: flex;
    grid-template-columns: none;
    align-items: stretch;
    gap: 14px;
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding: 2px 32px 13px 2px;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: auto;
  }
  .home .first-visit-section .home-offers .offer-card,
  .home .first-visit-section .home-offers .offer-card:hover,
  .home .first-visit-section .home-offers .offer-card:focus-within {
    display: flex;
    flex: 0 0 calc(100% - 42px);
    align-self: stretch;
    width: auto;
    min-width: 0;
    scroll-snap-align: start;
    transform: none !important;
  }
  .home .first-visit-section .offer-content { padding: 15px 15px 11px; }
  .home .first-visit-section .offer-heading { padding-bottom: 8px; }
  .home .first-visit-section .offer-variant { padding: 8px 0; }
  .home .first-visit-section .offer-tags li { font-size: max(var(--site-readable-min, 0px), 11px); }
  .home .first-visit-section .offer-detail { min-height: 44px; padding-top: 8px; }

  .home #treatments { padding-top: 42px; padding-bottom: 46px; }
  .home #treatments .treatment-controls { display: flex; }
  .home #treatments .treatment-position { display: block; margin: 8px auto 12px; }
  .home #treatments .treatment-track,
  .home #treatments .treatment-track.edge-auto-scrolling,
  .home #treatments .treatment-track.edge-auto-settled {
    display: flex;
    grid-template-columns: none;
    align-items: stretch;
    gap: 14px;
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding: 2px 32px 14px 2px;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: auto;
  }
  .home #treatments .treatment-slide,
  .home #treatments .treatment-slide:hover,
  .home #treatments .treatment-slide:focus-visible {
    display: flex;
    flex: 0 0 calc(100% - 42px);
    align-self: stretch;
    width: auto;
    min-width: 0;
    scroll-snap-align: start;
    transform: none !important;
  }
  .home #treatments .treatment-slide > img { aspect-ratio: 3/2; height: auto; object-fit: contain; }
  .home #treatments .treatment-slide-text { padding: 15px 13px 15px; }
  .home #treatments .treatment-controls p { font-size: 12px; }
  .home .top-search-concerns-list { padding: 13px 14px; }
  .home .concern-controls { display: flex; align-items: center; justify-content: space-between; gap: 9px; max-width: 680px; margin: 12px auto 7px; color: #586f5a; font-size: 12px; line-height: 1.5; }
  .home .concern-position { display: block; max-width: 680px; margin: 6px auto 10px; color: #627662; font-size: 12px; text-align: right; font-variant-numeric: tabular-nums; }
  .home #concern-track { display: flex; align-items: stretch; gap: 12px; width: 100%; max-width: 680px; margin: 0 auto; padding: 2px 32px 10px 2px; box-sizing: border-box; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; touch-action: auto; }
  .home #concern-track .top-search-concerns-list { flex: 0 0 calc(100% - 40px); align-self: stretch; width: auto; min-width: 0; scroll-snap-align: start; }
  .home .top-search-concerns-list > img.concern-detail { height: 82px; width: 82px; }
  .home .concern-new .concern-simple-art { width: 82px; height: 82px; min-height: 0; margin: 0; font-size: max(var(--site-readable-min, 0px), 10px); letter-spacing: .06em; }
  .home .concern-new .concern-awaiting { align-self: center; margin: 0; }
  .home .top-search-concerns-list .top-search-concerns-title { margin-bottom: 8px; }
  .home .top-search-concerns-list .concern-caption { margin-bottom: 9px; font-size: 12px; line-height: 1.6; }
  .eye-care-guide { margin: 22px auto 0; padding: 20px 16px; }
  .eye-care-guide h3 { font-size: 21px; }
  .medical-disclosure { margin: 26px 0; padding: 18px 16px; }
  .medical-disclosure dd, .medical-disclosure p { font-size: 14px; }
}
@media (max-width: 359px) {
  .home .first-visit-section .home-offers .offer-card,
  .home #treatments .treatment-slide { flex-basis: calc(100% - 36px); }
  .home .first-visit-section .offer-prices { flex-wrap: wrap; }
  .home .top-search-concerns-list > img.concern-detail,
  .home .concern-new .concern-simple-art { width: 72px; height: 72px; }
  .home #concern-track .top-search-concerns-list { flex-basis: calc(100% - 35px); }
}
@media (prefers-reduced-motion: reduce) {
  .home .first-visit-section .home-offers,
  .home #treatments .treatment-track,
  .home #concern-track { scroll-behavior: auto; }
}

/* Mobile density: keep every paragraph, photo and link; avoid repeated tall card stacks. */
@media (max-width: 767px) {
  .home main > .top-search { padding: 34px 18px !important; }
  .home main > .first-visit-section { padding: 34px 18px !important; }
  .home main > .home-message { padding: 38px 18px !important; gap: 28px !important; }
  .home main > .top-clinic { padding: 38px 18px !important; }
  .home main > .home-social { padding: 38px 18px !important; gap: 28px !important; }
  .home #treatments { padding: 32px 18px 36px !important; }
  .home #treatments .treatment-slide { align-self: flex-start; }
  .home #treatments .treatment-controls { margin-bottom: 12px; }
  .home #treatments .treatment-browse { margin-top: 16px; }
  .home .space-gallery { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
  .home .space-gallery figure:first-child { grid-column: auto !important; }
  .home .space-gallery img,
  .home .space-gallery figure:first-child img { width: 100% !important; height: 95px !important; object-fit: cover !important; }
  .home .top-clinic .clinic-map-block { margin-top: 25px !important; }
  .home .top-clinic .clinic-map-frame { height: 250px !important; }
  .home .related-sites { margin: 24px 16px 28px !important; }
  .home .related-sites-heading h2 { text-wrap: balance; }
  .home .related-sites-grid { gap: 10px !important; }
  .home .related-sites-grid .related-site-card { display: grid !important; grid-template-columns: 100px minmax(0, 1fr) !important; min-height: 158px !important; }
  .home .related-site-photo { width: 100% !important; height: 100% !important; }
  .home .related-site-photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .home .related-site-copy { padding: 10px 11px !important; }
  .home .social-links { gap: 8px !important; margin-top: 12px !important; }
  .home .social-card { padding: 14px !important; }
  .home .cosme-home-teaser { margin-top: 24px !important; margin-bottom: 24px !important; }
}
@media (max-width: 359px) {
  .home main > .top-search,
  .home main > .first-visit-section,
  .home main > .home-message,
  .home main > .top-clinic,
  .home main > .home-social,
  .home #treatments { padding-right: 12px !important; padding-left: 12px !important; }
  .home .first-visit-section .home-offers .offer-card,
  .home #treatments .treatment-slide { flex-basis: calc(100% - 24px); }
  .home .first-visit-section .offer-heading h3 { font-size: 18.5px !important; letter-spacing: 0; }
  .home .related-sites-grid .related-site-card { grid-template-columns: 82px minmax(0, 1fr) !important; min-height: 148px !important; }
  .home .related-site-copy { padding: 8px !important; }
  .home .related-site-name { font-size: 17px !important; }
  .home .related-site-description,
  .home .related-site-cta { font-size: 12px !important; line-height: 1.45 !important; }
  .home .papa-campaign-banner { padding-top: 24px; padding-bottom: 24px; }
  .home .papa-campaign-card { padding: 15px 13px; }
}

/* lower-links.css: original cascade order */
/* Shared lower-page links: feedback only, without changing their content or layout. */
.related-site-card,
.home .social-links .social-card {
  transition: background-color 180ms ease, border-color 180ms ease,
              box-shadow 180ms ease, transform 180ms ease;
}
.site-footer .footer-nav a {
  border-radius: 3px;
  transition: background-color 180ms ease, color 180ms ease,
              text-decoration-color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .related-site-card:hover,
  .home .social-links .social-card:hover {
    background-color: #f2f6ed;
    border-color: #a2b69d;
    box-shadow: 0 10px 24px rgba(66, 87, 62, .15);
    transform: translateY(-2px);
  }
  .site-footer .footer-nav a:hover {
    background-color: rgba(218, 231, 211, .78);
    color: #365841;
    text-decoration: underline;
    text-decoration-color: #608565;
    text-underline-offset: 3px;
  }
}

.related-site-card:focus-visible,
.home .social-links .social-card:focus-visible {
  outline: 3px solid #607f61;
  outline-offset: 3px;
  background-color: #f2f6ed;
  border-color: #a2b69d;
  box-shadow: 0 10px 24px rgba(66, 87, 62, .15);
}
.site-footer .footer-nav a:focus-visible {
  outline: 2px solid #607f61;
  outline-offset: 2px;
  background-color: rgba(218, 231, 211, .78);
  color: #365841;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.related-site-card:active,
.home .social-links .social-card:active {
  background-color: #edf3e7;
  border-color: #b0c1aa;
  transform: none;
}
.site-footer .footer-nav a:active { background-color: #e2ecdc; }

/* Ignore sticky emulated hover on touch devices; active and focus remain perceptible. */
@media (hover: none), (pointer: coarse) {
  .related-site-card:hover:not(:active):not(:focus-visible) {
    background-color: #fffefa;
    border-color: #dbe3d6;
    box-shadow: 0 6px 24px rgba(76, 91, 69, .035);
    transform: none;
  }
  .home .social-links .social-card:hover:not(:active):not(:focus-visible) {
    background-color: #fcfbf8;
    border-color: #909f89;
    box-shadow: none;
    transform: none;
  }
  .site-footer .footer-nav a:hover:not(:active):not(:focus-visible) {
    background-color: transparent;
    text-decoration: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .related-site-card,
  .home .social-links .social-card,
  .site-footer .footer-nav a { transition: none; }
  .related-site-card:hover,
  .home .social-links .social-card:hover { transform: none; }
}

/* header-feedback.css: original cascade order */
/* Feedback only for the fixed header and the eight directory triggers. */
@media (min-width: 768px) {
  .site-header #navigation > a[data-directory] {
    transition: background-color 165ms ease, color 165ms ease, box-shadow 165ms ease;
  }
  .site-header #navigation > a[data-directory][aria-expanded="true"] {
    background-color: #edf3e9;
    color: #35553b;
    box-shadow: inset 0 -2px #718f70;
  }
  .site-header .header-actions > .branded-line {
    transition: background-color 165ms ease, border-color 165ms ease, box-shadow 165ms ease;
  }
  .site-header .header-actions .site-menu-trigger {
    transition: background-color 165ms ease, border-color 165ms ease,
                color 165ms ease, box-shadow 165ms ease;
  }
  .site-header .header-actions .site-menu-trigger[aria-expanded="true"] {
    background-color: #eaf1e6;
    border-color: #789374;
    color: #354e39;
    box-shadow: 0 4px 12px rgba(62, 81, 58, .12);
  }
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .site-header #navigation > a[data-directory]:hover:not([data-directory-suppressed]) {
    background-color: #edf3e9;
    color: #35553b;
    box-shadow: inset 0 -2px #718f70;
  }
  .site-header .header-actions > .branded-line:hover {
    background-color: #5a6e55;
    border-color: #5a6e55;
    color: #fff;
    box-shadow: 0 5px 14px rgba(56, 80, 52, .2);
    transform: none;
  }
  .site-header .header-actions .site-menu-trigger:hover {
    background-color: #eaf1e6;
    border-color: #789374;
    color: #354e39;
    box-shadow: 0 4px 12px rgba(62, 81, 58, .12);
    outline: none;
  }
}

@media (min-width: 768px) {
  .site-header #navigation > a[data-directory]:focus-visible {
    outline: 2px solid #617f60;
    outline-offset: -2px;
    background-color: #edf3e9;
    color: #35553b;
    box-shadow: inset 0 -2px #718f70;
  }
  .site-header .header-actions > .branded-line:focus-visible {
    outline: 3px solid #506c4e;
    outline-offset: 3px;
    background-color: #5a6e55;
    border-color: #5a6e55;
    box-shadow: 0 5px 14px rgba(56, 80, 52, .2);
  }
  .site-header .header-actions .site-menu-trigger:focus-visible {
    outline: 2px solid #617f60;
    outline-offset: 2px;
    background-color: #eaf1e6;
    border-color: #789374;
    box-shadow: 0 4px 12px rgba(62, 81, 58, .12);
  }
  .site-header .header-actions > .branded-line:active { background-color: #52674f; }
  .site-header .header-actions .site-menu-trigger:active { background-color: #e0eadb; }
}

@media (max-width: 767px) {
  .site-header .header-actions .menu-toggle:active:not([aria-expanded="true"]) {
    background-color: #e9f0e4;
    border-color: #688162;
  }
  .site-header .header-actions .menu-toggle:focus-visible {
    outline: 2px solid #617f60;
    outline-offset: 2px;
  }
}

@media (max-width: 767px) and (hover: none),
       (max-width: 767px) and (pointer: coarse) {
  .site-header .header-actions .menu-toggle:hover:not([aria-expanded="true"]):not(:active):not(:focus-visible) {
    background-color: #fdfcf8;
    border-color: #788a72;
    color: #344434;
    box-shadow: none;
  }
}

/* A touch device may emulate hover after tapping: only active/focus shows feedback. */
@media (min-width: 768px) and (hover: none),
       (min-width: 768px) and (pointer: coarse) {
  .site-header .header-actions > .branded-line:hover:not(:active):not(:focus-visible) {
    background-color: #737d69;
    border-color: #737d69;
    box-shadow: none;
    transform: none;
  }
  .site-header .header-actions .site-menu-trigger:hover:not([aria-expanded="true"]):not(:active):not(:focus-visible) {
    background-color: #f8faf5;
    border-color: #a8b79f;
    box-shadow: none;
    outline: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header #navigation > a[data-directory],
  .site-header .header-actions > .branded-line,
  .site-header .header-actions .site-menu-trigger { transition: none; }
}

/* clinical-content.css: original cascade order */
.clinical-supervision{max-width:1120px;margin:14px auto 0;padding:0 24px;color:#626b57;font-size:12px;line-height:1.8}.clinical-supervision a{text-decoration:underline;text-underline-offset:3px}.clinical-guide{max-width:1040px;margin:36px auto;padding:clamp(20px,3vw,44px);border:1px solid #dce0d3;border-radius:5px;background:#faf9f4;color:#394233;line-height:1.95;text-align:left}.clinical-guide h2{margin:32px 0 14px;font-family:var(--serif,serif);font-size:max(var(--site-readable-min, 0px), clamp(21px,2.2vw,28px));line-height:1.6;color:#435039}.clinical-guide h2:first-child{margin-top:0}.clinical-guide h3{margin:24px 0 10px;font-size:18px;line-height:1.7}.clinical-guide p{margin:12px 0;font-size:16px;overflow-wrap:anywhere}.clinical-guide li{margin:9px 0;font-size:16px}.clinical-guide ul,.clinical-guide ol{padding-left:1.6em}.clinical-guide a{color:#526343;text-decoration:underline;text-underline-offset:4px}.clinical-flow{padding:16px 20px 16px 42px;background:#eef0e7;border-radius:4px}.clinical-faq{margin:12px 0;border:1px solid #d8ddd0;background:#fffef9;border-radius:4px}.clinical-faq summary{cursor:pointer;padding:17px 20px;line-height:1.65;font-size:16px;font-weight:600;list-style-position:outside;margin-left:18px}.clinical-faq p{margin:0;padding:2px 22px 20px}.clinical-faq[open] summary{color:#4c603c}.clinical-faq summary:focus-visible{outline:2px solid #6e805c;outline-offset:3px}.clinical-table-wrap{overflow:auto;max-width:100%;margin:22px 0}.clinical-guide table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7;text-align:left}.clinical-guide th,.clinical-guide td{padding:13px 15px;border:1px solid #dce0d3;vertical-align:top;overflow-wrap:anywhere}.clinical-guide th{background:#eef0e8}.clinical-guide table caption{padding:10px 0;text-align:left}.clinical-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px!important}.clinical-links a{padding:9px 13px;background:#edf0e5;border:1px solid #cfd7c3;border-radius:3px}.clinical-notice{max-width:1000px;margin:24px auto;padding:15px 20px;border-left:3px solid #a5ae8e;background:#f0f2e9;line-height:1.8}.campaign-ended-action{color:#666e5c;font-weight:600}.concern-hero{max-width:800px;margin:20px auto;text-align:center}.concern-hero img{width:min(100%,400px);height:auto;border-radius:5px}.ai-image-caption{display:block;color:#727968;font-size:max(var(--site-readable-min, 0px), 11px);line-height:1.7;margin:7px 0 13px;text-align:center}.clinical-overview-note{margin:16px 0;font-size:14px;line-height:1.85}.concern-overview-link{display:block;padding:10px 13px;margin:14px 0 0;color:#526343;background:#f0f2e9;font-size:14px;font-weight:600;text-align:center;text-decoration:none;border:1px solid #dce1d1;border-radius:3px}.concern-overview-link:focus-visible{outline:2px solid #728364;outline-offset:3px}.site-menu-group-title,.nav-directory-group-title{margin:0 0 10px;color:#55634a;font-weight:600;font-size:16px;line-height:1.7}.clinical-guide .medication-update-table{margin:20px 0 28px}.clinical-guide .clinical-faq p{font-size:15px}.privacy h1{font-size:24px;line-height:1.6}.privacy{margin:30px auto;padding:24px;max-width:960px;font-size:16px;line-height:1.8}.clinical-guide .comparison-note{font-size:14px;color:#65705a}@media(max-width:767px){.clinical-guide{margin:24px 0;padding:20px 16px;border-radius:0}.clinical-guide h2{font-size:22px}.clinical-guide p,.clinical-guide li{font-size:15px}.clinical-table-wrap table{min-width:650px}.clinical-supervision{font-size:max(var(--site-readable-min, 0px), 11px);padding:0 18px}.clinical-links{flex-direction:column}.clinical-faq summary{padding:15px 13px;font-size:15px}.clinical-faq p{padding:0 16px 16px}.clinical-guide td,.clinical-guide th{padding:10px 12px}.ai-image-caption{font-size:max(var(--site-readable-min, 0px), 10px)}}@media(hover:hover) and (pointer:fine){.clinical-links a:hover,.concern-overview-link:hover{background:#e1e8d7;color:#34492b}.clinical-faq summary:hover{background:#f1f3e9}}@media(prefers-reduced-motion:reduce){.clinical-guide *{scroll-behavior:auto}}

.home-hero .hero-ai-caption { position: absolute; inset-inline-end: 2%; bottom: .625rem; max-width: 48%; padding: .2rem .35rem; z-index: 3; background: rgba(250,247,241,.86); }
.treatment-slide > .ai-image-caption { padding-inline: .75rem; margin-bottom: 0; }

/* aga-seo-layout.css: original cascade order */
/*
 * AGA/SEO layout addition — load after the existing page styles.
 * This file intentionally does not replace site-core or change menu JavaScript.
 */

:root {
  /* ResizeObserver supplied by the integrating parent: content height only, excluding safe area. */
  --aga-fixed-bar-content-height: 0px;
  --aga-safe-area-bottom: env(safe-area-inset-bottom, 0px);
  --aga-fixed-bar-reserve: calc(
    var(--aga-fixed-bar-content-height) + var(--aga-safe-area-bottom)
  );
}

/* Reserve document space only on pages that actually include the fixed booking bar. */
body:has(.mobile-book) {
  padding-bottom: var(--aga-fixed-bar-reserve);
}

.mobile-book {
  padding-bottom: var(--aga-safe-area-bottom);
}

/* CSS backgrounds have no img srcset/sizes. image-set selects one density candidate.
   Existing background-size/position/repeat declarations remain in the current CSS cascade. */
.home .home-hero .hero-flora {
  background-image: image-set(
    url("/speed-assets/hero-flora-transparent-lossless-v1-480w-q78.762d76c930447c67.webp") type("image/webp") 1x,
    url("/speed-assets/hero-flora-transparent-lossless-v1-936w-q78.5237a06a619a3634.webp") type("image/webp") 2x
  );
}

/* Keep the existing horizontal concerns scroller. Only each individual card becomes a column. */
.home .top-search-concerns-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-block-size: 0;
}

/* Equal minimum text regions align each card image at its top edge at the normal text size.
   There is deliberately no fixed/max height: browser text enlargement may grow the region. */
.home .top-search-concerns-list > .top-search-concerns-title {
  min-block-size: 1.75em;
}

.home .top-search-concerns-list > .concern-caption {
  min-block-size: 7.2em;
  overflow: visible;
}

.home .top-search-concerns-list > .concern-detail {
  display: block;
  flex: none;
  margin-block-start: 0;
}

/* Do not change .top-search-concerns to flex-wrap; it remains the existing horizontal slider. */
.home .top-search-concerns-list > .namelist {
  margin-block-start: auto;
}

/* A separate, optional static grid is available only if a future non-slider card list is added.
   It does not target .top-search-concerns and therefore cannot turn the live slider into wrapping flex. */
.home .concern-card-grid[data-concern-layout="grid"] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
}

.home .concern-card-grid[data-concern-layout="grid"] > * {
  flex: 0 1 min(100%, 20rem);
}

/* Preserve the 24-treatment horizontal scroller; make every card's detail CTA sit on its lower edge. */
.home #treatments .treatment-slide {
  display: flex;
  flex-direction: column;
  min-block-size: 100%;
}

.home #treatments .treatment-slide > img {
  flex: none;
}

.home #treatments .treatment-slide-text {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-block-size: 0;
}

.home #treatments .treatment-slide-text > span:last-child {
  margin-top: auto;
}

/* The previously large bottom gap is reduced from 80px to roughly half without changing card styling. */
.home .related-sites {
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .home .top-search-concerns-list > .top-search-concerns-title {
    min-block-size: auto;
  }

  .home .top-search-concerns-list > .concern-caption {
    min-block-size: 6.6em;
  }

  .home .related-sites {
    margin-bottom: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .treatment-slide,
  .home .top-search-concerns-list {
    scroll-behavior: auto;
  }
}

/* mobile-layout-refine.css: original cascade order */
/* A-1〜A-3: mobile-only layout refinements. Desktop keeps the original table and header. */
.concern-mobile-cards {
  display: none;
}

@media (max-width: 767px) {
  /* A-1: keep the closed header close to 64px and remove only the English brand line. */
  .site-header .header-inner {
    height: 64px;
    padding: 8px 20px;
    gap: 10px;
  }

  .site-header .brand {
    min-width: 0;
  }

  .site-header .brand-name {
    font-size: 16px !important;
    line-height: 1.25;
    white-space: nowrap;
  }

  .site-header .brand-name small {
    font-size: 12px;
    line-height: 1.3;
  }

  .site-header .brand-name small span {
    display: none;
  }

  .site-header .header-actions {
    flex: none;
    gap: 0;
    margin: 0;
  }

  .site-header .header-actions > :not(.menu-toggle) {
    display: none;
  }

  .site-header .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 11px;
    font-size: 12px;
    line-height: 1.3;
  }

  /* The existing drawer styling applies below this point; this extends its breakpoint to 767px. */
  .site-header #navigation:not(.open) {
    display: none;
  }

  @media (min-width: 761px) {
    .site-header #navigation.open {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      max-height: 70dvh;
      overflow: auto;
      padding: 15px 22px;
      font-size: 12px;
    }
  }

  /* A-3: phrase-aware breaking where supported; otherwise use ordinary natural line wrapping. */
  body :is(
    h1,
    h2,
    h3,
    h4,
    a,
    button,
    th,
    td,
    .price-tbl .ttl,
    .price-tbl .sub,
    .price-tbl .price,
    .price-item,
    .price-name,
    .price-title,
    .price-label,
    .price-menu
  ) {
    overflow-wrap: normal;
    word-break: normal;
  }

  @supports (word-break: auto-phrase) {
    body :is(
      h1,
      h2,
      h3,
      h4,
      a,
      button,
      th,
      td,
      .price-tbl .ttl,
      .price-tbl .sub,
      .price-tbl .price,
      .price-item,
      .price-name,
      .price-title,
      .price-label,
      .price-menu
    ) {
      word-break: auto-phrase;
    }
  }

  /* A-2: the original table remains in the DOM but is replaced visually by linked content clones. */
  .clinical-table-wrap.has-concern-mobile-cards {
    overflow: visible;
  }

  .clinical-table-wrap.has-concern-mobile-cards > table {
    display: none;
  }

  .concern-mobile-cards {
    display: grid;
    gap: 14px;
    margin: 22px 0;
  }

  .concern-mobile-card {
    min-width: 0;
    overflow: visible;
    border: 1px solid #d8ddd0;
    border-radius: 5px;
    background: #fffef9;
    color: #394233;
  }

  .concern-mobile-card__header {
    padding: 13px 14px 12px;
    border-bottom: 1px solid #d8ddd0;
    background: #eef0e8;
  }

  .concern-mobile-card__label {
    display: block;
    margin-bottom: 4px;
    color: #5d6a55;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.55;
    letter-spacing: .04em;
  }

  .concern-mobile-card__title {
    margin: 0;
    color: #435039;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.6;
  }

  .concern-mobile-card__fields {
    margin: 0;
  }

  .concern-mobile-card__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding: 11px 14px 12px;
    border-top: 1px solid #e1e4db;
  }

  .concern-mobile-card__field:first-child {
    border-top: 0;
  }

  .concern-mobile-card__field dt {
    margin: 0;
    color: #5a6754;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.55;
    letter-spacing: .035em;
  }

  .concern-mobile-card__field dd {
    margin: 0;
    min-width: 0;
    color: #394233;
    font-size: 15px;
    line-height: 1.8;
  }

  .concern-mobile-card :is(a, button, small, sub, sup) {
    font-size: inherit;
  }

  .concern-mobile-card a {
    color: #526343;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
}

@media (max-width: 767px) {
  article.second .intro .text { min-width: 0; max-width: 100%; }
}

/* mobile-detail-refine.css: original cascade order */
/* B5 / B6 / B8 / B13 — mobile-only. Desktop retains the original document and cascade. */
@media (max-width: 767px) {
  .mobile-detail-rate-summary {
    max-width: 680px;
    margin: 18px auto 28px;
    padding: 15px 16px 14px;
    border: 1px solid #d8e1d3;
    border-left: 3px solid #8da48b;
    background: #fafcf8;
    color: #344438;
    box-sizing: border-box;
  }

  .mobile-detail-rate-summary__heading {
    margin: 0 0 8px;
    color: #405a45;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.6;
  }

  .mobile-detail-rate-summary__list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .mobile-detail-rate-summary__list li {
    display: grid;
    gap: 1px;
    font-size: 13px;
    line-height: 1.7;
    overflow-wrap: anywhere;
    word-break: auto-phrase;
  }

  .mobile-detail-rate-summary__target {
    color: #4c5d4d;
    font-weight: 600;
  }

  .mobile-detail-rate-summary__rates {
    color: #344438;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .mobile-detail-rate-summary__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 8px;
    border-bottom: 1px solid #748b76;
    color: #405d45;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
    text-decoration: none;
  }

  .mobile-detail-rate-summary__link:focus-visible {
    outline: 2px solid #657f68;
    outline-offset: 3px;
  }

  table#mobile-detail-refine-price-table {
    scroll-margin-top: 78px;
  }

  /* The original heading remains in the HTML and is restored at desktop width. */
  .mobile-detail-refine--same-as-h1 {
    display: none !important;
  }

  /* This line is relocated immediately before reference material by the reversible script. */
  .clinical-supervision.mobile-detail-refine--supervision {
    max-width: 1040px;
    margin: 20px auto 10px;
    padding: 0 18px;
    color: #626b57;
    font-size: 12px;
    line-height: 1.7;
    text-align: right;
  }

  .first-visit-page .mobile-detail-refine--first-visit-guide {
    margin: 22px 0 28px;
    padding: 18px 16px;
  }

  .first-visit-page .mobile-detail-refine--first-visit-guide h2 {
    margin-top: 24px;
  }

  .first-visit-page .mobile-detail-refine--first-visit-guide h2:first-child {
    margin-top: 0;
  }

  .first-visit-page .offer-machine.mobile-detail-refine--duplicate-subname {
    display: none;
  }
}

/* mobile-content-refine.css: original cascade order */
.mobile-greeting-excerpt,.mobile-treatment-categories,.mobile-line-social,.mobile-line-footer,.mobile-facial-groups,.mobile-price-jumps,.mobile-post-navigation{display:none}
@media(max-width:767px){
 .home .category-gateway,.home .top-hero-comment,.home .top-hero-sign{display:none!important}
 .mobile-greeting-excerpt{display:block;font-size:16px;line-height:1.9;margin:0 0 18px}
 .home #treatments>.treatment-controls,.home #treatment-track,.home #treatments>.treatment-position{display:none!important}
 .mobile-treatment-categories{display:block;min-width:0;width:100%}
 .mobile-category-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
 .mobile-category-count,.mobile-category-conditions{font-size:12px;line-height:1.7;color:#5d6351}
 .mobile-category-buttons{display:flex;gap:8px}
 .mobile-category-buttons button{width:44px;height:44px;border:1px solid #d6dacb;border-radius:50%;background:#faf9f5;color:#425040;font-size:18px;cursor:pointer}
 .mobile-category-track{display:flex;position:relative;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 12px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
 .mobile-category-card{flex:0 0 84%;scroll-snap-align:start;display:block;color:inherit;text-decoration:none;background:#f8f7f1;border:1px solid #dddcca;border-radius:16px;overflow:hidden;max-width:360px}
 .mobile-category-card>img{display:block;width:100%;height:170px;object-fit:cover}
 .mobile-category-copy{padding:16px}
 .mobile-category-copy h3{font-size:20px;line-height:1.5;margin:0 0 10px;min-height:30px}
 .mobile-category-fee{font-family:Arial,sans-serif;font-size:15px;line-height:1.6;color:#9A5147;white-space:nowrap;margin:0 0 12px}
 .mobile-category-link{font-size:14px;color:#4d5a43}
 .mobile-category-conditions{margin:8px 0 0}
 .mobile-line-social{display:flex!important}
 .mobile-line-footer{display:inline-block}
 .mobile-facial-page article.second .second-text>h3.midashi03{display:none}
 .mobile-facial-page article.second .second-text>ul.treatment-list{display:none!important}
 .mobile-facial-groups{display:block}
 .mobile-facial-group{scroll-margin-top:110px;margin:28px 0}
 .mobile-facial-group>h3{font-size:22px;line-height:1.5;margin:0 0 16px;color:#44513d}
 .mobile-facial-page .mobile-facial-list{display:flex!important;flex-direction:column;gap:12px;margin:0!important;padding:0!important;list-style:none}
 .mobile-facial-page .mobile-facial-list>li{width:100%!important;max-width:none!important;margin:0!important;min-height:0!important}
 .mobile-facial-page .mobile-facial-list>li>a{display:grid!important;grid-template-columns:92px minmax(0,1fr);align-items:start;column-gap:12px;row-gap:6px;padding:14px!important;min-height:0!important;border-radius:14px}
 .mobile-facial-page .mobile-facial-list>li>a>img,.mobile-facial-page .mobile-facial-list .campaign-image-wrap{grid-column:1;grid-row:1;width:92px!important;min-width:0!important;height:auto!important;margin:0!important;aspect-ratio:1}
 .mobile-facial-page .mobile-facial-list>li>a>img,.mobile-facial-page .mobile-facial-list .campaign-image-wrap img{width:92px!important;height:92px!important;object-fit:cover;max-width:100%}
 .mobile-facial-page .mobile-facial-list>li>a>dl{grid-column:2;grid-row:1;margin:0!important;min-width:0}
 .mobile-facial-page .mobile-facial-list dt{font-size:16px!important;line-height:1.55;margin:0 0 6px}
 .mobile-facial-page .mobile-facial-list dt>span{font-size:12px;line-height:1.5}
 .mobile-facial-page .mobile-facial-list dd{font-size:13px!important;line-height:1.75;margin:0!important}
 .mobile-facial-page .mobile-facial-list .normal-fee{grid-column:2;margin:0!important;min-height:0!important;padding:8px 0 0!important}
 .mobile-facial-page .mobile-facial-list .normal-fee-line{margin:0!important;padding:4px 0!important}
 .mobile-facial-page .mobile-facial-list .normal-fee-pair{display:flex!important;flex-wrap:wrap;gap:5px 10px;align-items:center}
 .mobile-facial-page .mobile-facial-list .normal-fee-amount{font-size:14px!important;min-height:0!important;padding:0!important}
 .mobile-facial-page .mobile-facial-list .normal-fee-unit,.mobile-facial-page .mobile-facial-list .normal-fee-condition,.mobile-facial-page .mobile-facial-list .normal-fee-note{font-size:12px!important;line-height:1.6}
 .mobile-facial-page .mobile-facial-list .normal-fee-money{font-size:15px!important;white-space:nowrap}
 .mobile-facial-page .mobile-facial-list .normal-fee-value{font-size:15px!important}
 .mobile-facial-page .mobile-facial-list .ai-image-caption{grid-column:1 / -1;font-size:12px!important;margin:0!important;line-height:1.6}
 .mobile-facial-page .mobile-facial-list .treatment-number{display:none}
 .mobile-facial-page .mobile-facial-list .mobile-duplicate-subname{display:none}
 .mobile-price-page article.second .tax-caption,.mobile-price-page article.second .second-text>.tab{display:none!important}
 .mobile-price-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
 .mobile-price-jumps a{display:block;background:#f1f3e8;border:1px solid #d2d8c4;border-radius:20px;padding:9px 13px;font-size:14px;color:#45513b;text-decoration:none}
 .mobile-price-anchor{display:block;scroll-margin-top:110px}
 .mobile-news-post .mobile-archive-obsolete,.mobile-news-post .pre_next_btns{display:none!important}
 .mobile-post-navigation{display:flex;flex-direction:column;gap:10px;margin:24px 0;padding:18px;border:1px solid #d9ddcb;border-radius:14px;background:#f8f8f1}
 .mobile-post-navigation a{display:block;font-size:16px;line-height:1.7;color:#45513b;text-decoration:none;padding:6px 0}
 .mobile-post-back{border-block:1px solid #dddcca;padding:12px 0!important}
 .nav-directory-mobile-concern-link{font-size:14px;line-height:1.7}
 .mobile-category-card:focus-visible,.mobile-category-buttons button:focus-visible,.mobile-price-jumps a:focus-visible,.mobile-post-navigation a:focus-visible{outline:2px solid #526244;outline-offset:3px}
}
@media(max-width:360px){.mobile-category-fee{font-size:14px}.mobile-facial-page .mobile-facial-list>li>a{grid-template-columns:76px minmax(0,1fr);column-gap:10px}.mobile-facial-page .mobile-facial-list>li>a>img,.mobile-facial-page .mobile-facial-list .campaign-image-wrap{width:76px!important}.mobile-facial-page .mobile-facial-list .campaign-image-wrap img{width:76px!important;height:76px!important}}
@media(prefers-reduced-motion:reduce){.mobile-category-track{scroll-behavior:auto}}

@media(min-width:768px){.mobile-greeting-excerpt,.mobile-treatment-categories,.mobile-line-social,.mobile-line-footer,.mobile-facial-groups,.mobile-price-jumps,.mobile-post-navigation{display:none!important}}
@media(max-width:767px){.mobile-category-card>.ai-image-caption{display:block;position:static;font-size:12px;line-height:1.6;margin:6px 12px 0;color:#676f5b}}
