@font-face { font-family: Sora; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/contractors-sora-latin-500.woff2?v=1') format('woff2'); }
@font-face { font-family: Inter; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/contractors-inter-latin-400.woff2?v=1') format('woff2'); }
@font-face { font-family: Inter; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/contractors-inter-latin-500.woff2?v=1') format('woff2'); }
:root {
  --canvas:#fff; --card:#fff; --overlay:#fffffff0;
  --ink:#18201f; --muted:#727b77; --line:#e0e6e2;
  --mint:#a7e5cd; --mint-hover:#91d9bd; --mint-ink:#173b2b; --mint-soft:#e5f5ec;
  --blue:#567e8d; --surface:#f4f7f4; --service-line:#e5ebe5;
  --icon-surface:#eaf4ed; --icon-ink:#3e6a56; --subtle-ink:#596b61; --arrow-ink:#84968b;
  --hover-line:#b4d7c4; --hover-surface:#ebf7ee; --selected-surface:#e6eee7;
  --disabled-bg:#e2e8e1; --disabled-ink:#7d8980; --calendar-muted:#b1b8b2;
  --danger:#9e4734; --scroll:#ccd7d0; --shadow:#18352915; --film-base:#dbe2df;
  color:var(--ink); background:var(--canvas); color-scheme:light;
  font:400 14px/1.5 Inter,system-ui,sans-serif; font-synthesis:none; text-rendering:optimizeLegibility;
}
:root[data-theme='dark'] {
  --canvas:#101714; --card:#202d25; --overlay:#17241ef0;
  --ink:#f3f6f2; --muted:#a4afa8; --line:#334039; --mint-soft:#253e31;
  --blue:#9cbdc2; --surface:#18231d; --service-line:#334039;
  --icon-surface:#2b4335; --icon-ink:#b6dcc0; --subtle-ink:#b2c6b9; --arrow-ink:#a2bca9;
  --hover-line:#537962; --hover-surface:#2a3d30; --selected-surface:#2c4032;
  --disabled-bg:#29372e; --disabled-ink:#819487; --calendar-muted:#596c60;
  --danger:#ffa08a; --scroll:#4c6555; --shadow:#00000055; --film-base:#1b2a21;
  color-scheme:dark;
}
* { box-sizing:border-box; }
body { margin:0; min-width:280px; }
button,a,summary,textarea { -webkit-tap-highlight-color:transparent; }
button,textarea { font:inherit; color:inherit; }
button { border:0; cursor:pointer; }
button:disabled { cursor:default; }
a { color:inherit; text-decoration:none; }
button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
[tabindex='-1']:focus { outline:none; }
[hidden] { display:none!important; }
p,h1,h2,h3 { margin:0; }
summary { list-style:none; cursor:pointer; }
summary::-webkit-details-marker { display:none; }
.icon-definitions { position:absolute; width:0; height:0; overflow:hidden; }
.icon { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.spark { width:20px; height:20px; fill:currentColor; flex:none; }
.icon-button { display:grid; place-items:center; width:42px; height:42px; padding:0; border-radius:50%; background:transparent; flex:none; }
.back-arrow { transform:rotate(180deg); }
.chevron-down { transform:rotate(90deg); width:12px; height:12px; }
.visually-hidden,.skip-link:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; top:8px; left:16px; z-index:40; padding:10px 18px; border-radius:12px; background:var(--canvas); }
.lotia-header { position:relative; z-index:10; display:grid; grid-template-columns:minmax(0,1fr) 156px minmax(0,1fr); align-items:center; gap:44px; min-height:88px; padding:16px max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left)); background:var(--canvas); }
.header-side,.header-start,.header-actions,.desktop-nav { display:flex; align-items:center; min-width:0; }
.header-side { justify-content:space-between; gap:26px; }
.header-start { gap:10px; }
.header-actions { gap:16px; }
.desktop-nav { gap:clamp(26px,2.3vw,40px); }
.desktop-nav button { padding:0; min-height:44px; background:none; font-size:12px; font-weight:500; white-space:nowrap; }
.desktop-nav button:hover { color:var(--blue); }
.language-picker,.call-picker,.mobile-menu { position:relative; }
.language-button { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; font-size:11px; font-weight:500; }
.call-button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:0 16px; background:var(--surface); border-radius:999px; font-size:12px; font-weight:500; white-space:nowrap; }
.header-popover { position:absolute; top:calc(100% + 12px); left:0; width:250px; padding:14px; border:1px solid var(--line); border-radius:20px; background:var(--card); box-shadow:0 18px 50px var(--shadow); }
.language-options { width:190px; }
.language-options button { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; width:100%; padding:10px 12px; border-radius:12px; background:none; text-align:left; }
.language-options button span { font-size:10px; color:var(--muted); }
.language-options button[aria-pressed='true'],.language-options button:hover { background:var(--mint-soft); }
.mobile-menu { display:block; }
.menu-toggle { background:var(--surface); color:var(--ink); }
.menu-toggle .menu-close-icon,.mobile-menu[open] .menu-open-icon { display:none; }
.mobile-menu[open] .menu-close-icon { display:block; }
.menu-options { left:auto; right:0; width:min(360px,calc(100vw - 24px)); max-height:calc(100dvh - 108px); padding:14px; border-radius:26px; display:grid; grid-template-rows:minmax(0,1fr) auto; }
.menu-links { min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--scroll) transparent; display:flex; flex-direction:column; gap:2px; }
.menu-row { display:grid; grid-template-columns:24px minmax(0,1fr) 14px; align-items:center; gap:16px; min-height:51px; width:100%; padding:12px 14px; border-radius:14px; background:none; text-align:left; font-size:15px; font-weight:500; flex:none; }
.menu-row > .icon { width:23px; height:23px; }
.menu-row .menu-chevron { width:13px; height:13px; color:var(--muted); transition:transform 160ms ease; }
.menu-row:hover,.menu-row:focus-visible { background:var(--surface); }
.menu-row:hover .menu-chevron { transform:translateX(2px); }
.menu-footer { display:flex; flex-direction:column; gap:12px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.menu-accounts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.menu-access { display:flex; align-items:center; justify-content:center; gap:8px; min-height:50px; padding:10px; border-radius:14px; background:var(--surface); font-size:11px; font-weight:500; line-height:1.35; }
.menu-access .icon { width:18px; height:18px; }
.menu-access:hover { background:var(--mint-soft); }
.menu-booking { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; width:100%; padding:8px 8px 8px 20px; border-radius:999px; background:var(--ink); color:var(--canvas); font-size:14px; font-weight:500; text-align:left; }
.menu-booking-arrow { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--canvas); color:var(--ink); flex:none; }
.menu-booking-arrow .icon { transform:rotate(-45deg); transition:transform 160ms ease; }
.menu-booking:hover .icon { transform:rotate(-45deg) translateX(2px); }
.menu-preference { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:42px; padding-left:10px; }
.menu-preference-label { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:500; }
.menu-segmented { display:flex; flex:none; gap:2px; padding:4px; border-radius:999px; background:var(--surface); }
.menu-segmented button { min-height:32px; padding:6px 10px; border-radius:999px; background:none; font-size:11px; }
.menu-segmented button[aria-pressed='true'] { background:var(--ink); color:var(--canvas); }
.menu-segmented button:not([aria-pressed='true']):hover { background:var(--mint-soft); }
.menu-languages button { min-width:34px; padding-inline:8px; }
.call-popover { padding:22px; }
.call-popover > strong { display:block; font:500 20px/1.3 Sora,Inter,sans-serif; letter-spacing:-.04em; }
.call-popover .contact-option { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }
.contact-option strong { display:block; font-size:12px; font-weight:500; }
.contact-option small { display:block; margin-top:4px; font-size:13px; }
.contact-option .icon { width:16px; height:16px; transform:rotate(-45deg); color:var(--muted); }
.call-popover p { margin-top:12px; font-size:11px; line-height:1.6; color:var(--muted); }
.lotia-brand { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; border-radius:8px; font:500 32px/1 Sora,Inter,sans-serif; letter-spacing:-.055em; }
.lotia-brand-mark { display:block; width:36px; height:36px; flex:none; background:var(--blue); mask:url('/assets/lotia-mark.svg?v=1') center/contain no-repeat; }
.chat-trigger { display:flex; align-items:center; justify-content:center; gap:9px; min-height:42px; padding:0; background:none; font-size:12px; font-weight:500; white-space:nowrap; }
.chat-trigger .spark { width:17px; height:17px; }
.pricing-header { min-height:42px; padding:0 20px; background:var(--mint); border-radius:999px; font-size:12px; font-weight:500; white-space:nowrap; }
.pricing-header .icon { display:none; }
.pricing-header:hover,.primary-button:not(:disabled):hover { background:var(--mint-hover); }
.pricing-header,.primary-button:not(:disabled),.confirmation-mark,.chat-composer .icon-button,.calendar-days button[aria-pressed='true'] { color:var(--mint-ink); }
.lotia-main { padding:0 max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left)); }
.lotia-hero { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:16px; height:calc(100svh - 112px); min-height:510px; }
.care-panel { min-width:0; min-height:0; padding:clamp(24px,2.2vw,40px); border-radius:28px; background:var(--surface); overflow:auto; scrollbar-width:thin; scrollbar-color:var(--scroll) transparent; }
.services-view { display:flex; flex-direction:column; gap:24px; height:100%; min-height:0; }
.eyebrow { font-size:10px; font-weight:500; letter-spacing:.12em; line-height:1.4; color:var(--subtle-ink); }
.care-heading h1 { margin-top:17px; font:500 clamp(34px,3.1vw,56px)/1.08 Sora,Inter,sans-serif; letter-spacing:-.063em; white-space:pre-line; }
.service-grid { flex:1; min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(100px,1fr)); gap:12px; }
.service-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:20px; border:1px solid var(--service-line); border-radius:19px; background:var(--card); text-align:left; transition:background 180ms ease,border-color 180ms ease; }
.service-icon { width:48px; height:48px; padding:4px; border-radius:12px; background:var(--icon-surface); margin-bottom:auto; fill:none; stroke:var(--icon-ink); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.service-arrow { position:absolute; top:20px; right:17px; width:17px; height:17px; color:var(--arrow-ink); transform:rotate(-45deg); }
.service-name { display:block; max-width:100%; margin-top:14px; font-size:14px; font-weight:500; line-height:1.3; letter-spacing:-.03em; }
.service-duration { display:block; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.3; }
.service-card:hover,.service-card:focus-visible { border-color:var(--hover-line); background:var(--hover-surface); }
.mint-dot { width:6px; height:6px; border-radius:50%; background:#5db993; flex:none; display:inline-block; }
.clinic-panel { display:grid; grid-template-rows:minmax(0,1fr) auto; gap:16px; min-width:0; min-height:0; }
.clinic-film { position:relative; min-height:0; overflow:hidden; border-radius:28px; background:var(--film-base); }
.clinic-video { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.film-top { position:absolute; z-index:1; top:24px; right:24px; left:24px; display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.video-toggle { width:36px; height:36px; background:var(--overlay); }
.video-toggle .icon { width:15px; height:15px; }
.pause-symbol,.video-toggle[data-playing='true'] .play-symbol { display:none; }
.video-toggle[data-playing='true'] .pause-symbol { display:block; }
.film-caption { position:absolute; left:24px; right:24px; bottom:24px; width:fit-content; max-width:calc(100% - 48px); padding:14px 18px; border-radius:18px; background:var(--overlay); }
.film-caption > span { display:block; font:500 clamp(16px,1.45vw,25px)/1.2 Sora,Inter,sans-serif; letter-spacing:-.045em; }
.film-caption small { display:block; margin-top:6px; color:var(--muted); font-size:9px; }
.visit-card { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; align-items:center; gap:24px; padding:20px 24px; border-radius:24px; background:var(--surface); }
.directions-block { min-width:0; }
.visit-heading { display:flex; align-items:flex-start; gap:12px; }
.location-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:var(--mint-soft); flex:none; }
.visit-heading h2 { font-size:13px; font-weight:500; line-height:1.3; letter-spacing:-.02em; }
.visit-heading p { margin-top:7px; font-size:12px; line-height:1.6; color:var(--muted); white-space:pre-line; }
.directions-link { display:inline-flex; align-items:center; gap:14px; min-height:28px; margin-top:10px; font-size:11px; font-weight:500; }
.directions-link .icon { width:16px; height:16px; }
[aria-disabled='true'] { cursor:default; }
.directions-link[aria-disabled='true'] { color:var(--muted); }
.reviews-block { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; align-self:stretch; border-left:1px solid var(--line); padding-left:24px; min-width:0; }
.reviews-top { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:5px; }
.google-word { font-size:20px; font-weight:500; line-height:1.3; letter-spacing:-.055em; }
.rating-value { font:500 28px/1.2 Sora,Inter,sans-serif; letter-spacing:-.065em; }
.review-stars { color:var(--icon-ink); letter-spacing:1px; font-size:12px; line-height:1.25; white-space:nowrap; }
.review-count { display:inline-block; margin-top:7px; color:var(--muted); font-size:11px; line-height:1.4; }
.review-count[href]:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.clinic-award { display:block; width:102px; aspect-ratio:1011/1024; background:var(--icon-ink); mask:url('/assets/lotia/beauty-innovation-award.png?v=1') center/contain no-repeat; }
.booking-view { display:flex; flex-direction:column; gap:14px; height:100%; }
.back-button { display:inline-flex; align-items:center; align-self:flex-start; gap:8px; min-height:26px; padding:0; background:none; font-size:11px; color:var(--subtle-ink); }
.back-button .icon { width:15px; height:15px; }
.booking-view h2,.confirmation-view h2 { font:500 clamp(25px,2.1vw,36px)/1.14 Sora,Inter,sans-serif; letter-spacing:-.05em; }
.selected-treatment { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:43px; padding:10px 13px; border-radius:12px; background:var(--selected-surface); font-size:12px; line-height:1.3; }
.selected-treatment button { padding:3px 0; background:none; color:var(--subtle-ink); font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.calendar-section { display:flex; flex-direction:column; flex:1; min-height:190px; }
.section-label { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:7px; }
.booking-view h3 { font-size:11px; font-weight:500; }
.month-controls { display:flex; align-items:center; gap:5px; }
.month-controls .icon-button { width:28px; height:28px; }
.month-controls .icon-button .icon { width:13px; height:13px; }
.month-controls .icon-button:disabled { opacity:.25; }
.month-controls > span { min-width:91px; text-align:center; font-size:11px; text-transform:capitalize; }
.calendar-weekdays,.calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.calendar-weekdays { margin-bottom:5px; color:var(--muted); font-size:9px; text-align:center; }
.calendar-days { flex:1; grid-auto-rows:minmax(23px,1fr); }
.calendar-days button { min-width:0; min-height:23px; padding:2px; border-radius:9px; background:var(--card); font-size:11px; }
.calendar-days button:disabled { color:var(--calendar-muted); background:transparent; }
.calendar-days button:not(:disabled):hover { background:var(--mint-soft); }
.calendar-days button[aria-pressed='true'] { background:var(--mint); font-weight:500; }
.times-section { flex:none; }
.times-label { flex-wrap:wrap; margin-bottom:0; gap:3px 10px; }
.times-label > span { font-size:10px; color:var(--muted); }
.time-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:8px; }
.time-slots button { min-height:34px; padding:5px 2px; border:1px solid var(--line); border-radius:10px; background:var(--card); font-size:11px; }
.time-slots button[aria-pressed='true'] { border-color:#8cc8ae; background:var(--mint-soft); box-shadow:inset 0 0 0 1px #8cc8ae; }
.empty-slots { margin-top:10px; font-size:12px; color:var(--muted); }
.booking-footer { margin-top:auto; }
.availability-note { display:flex; align-items:center; gap:7px; margin-bottom:10px; font-size:9px; color:var(--muted); }
.primary-button { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; min-height:48px; padding:12px 19px; border-radius:999px; background:var(--mint); font-size:13px; font-weight:500; }
.primary-button:disabled { background:var(--disabled-bg); color:var(--disabled-ink); }
.form-status { margin-top:7px; color:var(--danger); font-size:10px; }
.form-status:empty { display:none; }
.confirmation-view { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:18px; height:100%; }
.confirmation-mark { display:grid; place-items:center; width:66px; height:66px; margin-bottom:10px; border-radius:50%; background:var(--mint); }
.confirmation-mark .icon { width:30px; height:30px; }
.booking-summary { width:100%; margin:6px 0 0; padding:20px; border-radius:17px; background:var(--card); }
.booking-summary div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:7px 0; }
.booking-summary dt { font-size:10px; color:var(--muted); }
.booking-summary dd { margin:0; font-size:12px; text-align:right; }
.confirmation-note { font-size:12px; line-height:1.65; color:var(--muted); }
.plain-button { padding:8px 0; background:none; font-size:11px; align-self:center; }
.info-dialog { width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:40px; border:1px solid var(--line); border-radius:26px; color:var(--ink); background:var(--card); }
.info-dialog::backdrop { background:#132c244f; }
.dialog-close { position:absolute; top:12px; right:12px; }
.dialog-lotus { width:40px; height:40px; margin-bottom:24px; }
.info-dialog h2 { font:500 28px/1.2 Sora,Inter,sans-serif; letter-spacing:-.045em; }
.info-dialog p { margin-top:18px; font-size:14px; line-height:1.75; color:var(--muted); }
html.has-lotia-chat,html.has-lotia-chat body { overflow:hidden; }
.lotia-chat { position:fixed; z-index:25; inset:var(--chat-viewport-top,0px) 0 auto; display:flex; flex-direction:column; width:100%; max-width:none; height:var(--chat-viewport-height,100dvh); max-height:none; margin:0; padding:0; border:0; border-radius:0; overflow:hidden; color:var(--ink); background:var(--canvas); }
.lotia-chat:not([open]) { display:none; }
.lotia-chat::backdrop { background:var(--canvas); }
.chat-header { display:flex; align-items:center; justify-content:space-between; gap:14px; flex:none; min-height:88px; padding:20px max(32px,env(safe-area-inset-right)) 20px max(32px,env(safe-area-inset-left)); }
.chat-header > div { display:flex; align-items:center; gap:10px; }
.chat-header h2 { font-size:16px; font-weight:500; letter-spacing:-.03em; }
.chat-header .spark { width:20px; height:20px; color:var(--blue); }
.chat-header > button { background:var(--surface); }
.chat-log { position:relative; flex:1; min-height:0; width:min(100%,768px); align-self:center; overflow:auto; overscroll-behavior:contain; padding:24px 24px 0; scrollbar-width:none; }
.chat-log::-webkit-scrollbar { display:none; }
.chat-log > .chat-message:last-child { margin-bottom:calc(24px + var(--chat-tail-space,0px)); }
.chat-welcome { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; min-height:0; text-align:center; padding:18px 18px 8vh; }
.chat-welcome .lotia-brand-mark { width:80px; height:80px; margin-bottom:28px; background:#67b592; }
.chat-welcome h3 { font:500 clamp(28px,3vw,40px)/1.2 Sora,Inter,sans-serif; letter-spacing:-.05em; }
.chat-welcome p { margin-top:16px; color:var(--muted); font-size:15px; }
.chat-message { margin:0 0 24px; font-size:16px; line-height:1.75; overflow-wrap:anywhere; white-space:pre-wrap; }
.chat-message-user { width:fit-content; max-width:90%; margin-left:auto; padding:12px 20px; border-radius:24px; background:var(--surface); }
.chat-message-assistant { padding:0 3px; }
.chat-message-assistant.is-thinking { color:var(--muted); }
.chat-message-assistant.is-thinking::after { content:' '; display:inline-block; width:5px; height:5px; margin-left:7px; border-radius:50%; background:var(--blue); animation:chat-breathe 1.2s ease-in-out infinite alternate; }
.chat-bottom { flex:none; width:min(100%,768px); align-self:center; padding:16px 24px max(24px,env(safe-area-inset-bottom)); }
.chat-starters { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:16px; }
.chat-starters button { min-height:44px; padding:10px 18px; border-radius:999px; background:var(--surface); font-size:13px; }
.chat-composer { display:flex; align-items:flex-end; gap:10px; padding:8px 8px 8px 22px; border:1px solid var(--line); border-radius:32px; background:var(--surface); }
.chat-composer:focus-within { outline:1.5px solid var(--blue); outline-offset:1px; }
.chat-composer textarea { flex:1; min-width:0; max-height:160px; min-height:44px; resize:none; padding:10px 0 8px; border:0; outline:none; background:none; font-size:16px; line-height:1.55; }
.chat-composer .icon-button { width:44px; height:44px; background:var(--mint); }
.send-symbol { transform:rotate(-90deg); }
.stop-symbol { display:none; width:10px; height:10px; border-radius:2px; background:var(--mint-ink); }
.chat-composer.is-replying .send-symbol { display:none; }
.chat-composer.is-replying .stop-symbol { display:block; }
.chat-notice { margin:10px 4px 0; color:var(--muted); font-size:10px; line-height:1.45; text-align:center; }
.lotia-chat.has-chat-keyboard .chat-bottom { padding-bottom:12px; }
.lotia-chat.has-chat-keyboard .chat-welcome { padding-bottom:12px; }
.pricing-list { margin:24px 0 0; }
.pricing-list > div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:15px 0; border-top:1px solid var(--line); }
.pricing-list dt { font-size:12px; }
.pricing-list dd { margin:0; color:var(--muted); font-size:11px; white-space:nowrap; }
@keyframes chat-breathe { from { opacity:.3; } to { opacity:1; } }
@media (max-width:1320px) {
  .lotia-header { grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr); gap:28px; }
  .desktop-nav { display:none; }
  .header-right { justify-content:flex-end; }
  .mobile-menu { display:block; }
  .menu-options { right:0; left:auto; }
  .care-panel { padding:24px; }
  .service-card { padding:16px; }
  .service-arrow { top:17px; right:14px; }
  .service-name { font-size:13px; }
  .visit-card { gap:16px; padding:20px; }
  .clinic-award { width:90px; }
  .reviews-block { padding-left:16px; }
  .reviews-top { gap:6px; }
  .google-word { font-size:18px; }
  .review-stars { letter-spacing:0; font-size:11px; }
}
@media (min-width:801px) and (max-height:760px) {
  .lotia-hero { min-height:480px; }
  .care-panel { padding:20px 24px; }
  .services-view { gap:16px; }
  .care-heading h1 { margin-top:10px; font-size:34px; }
  .service-grid { gap:8px; grid-template-rows:repeat(3,minmax(90px,1fr)); }
  .service-card { padding:13px 15px; }
  .service-icon { width:38px; height:38px; padding:3px; border-radius:10px; }
  .service-name { margin-top:8px; font-size:12px; }
  .service-duration { margin-top:3px; font-size:10px; }
  .service-arrow { top:15px; right:12px; width:14px; height:14px; }
  .booking-view { gap:8px; }
  .booking-view h2 { font-size:25px; }
  .selected-treatment { min-height:34px; padding:7px 11px; font-size:11px; }
  .calendar-section { min-height:176px; }
  .calendar-days { gap:2px; }
  .time-slots { margin-top:5px; gap:4px; }
  .time-slots button { min-height:30px; }
  .availability-note { margin-bottom:7px; }
  .primary-button { min-height:43px; padding-block:10px; }
  .visit-card { padding:17px 22px; }
  .directions-link { margin-top:6px; min-height:32px; }
  .film-caption { padding:12px 16px; }
}
@media (max-width:800px) {
  .lotia-header { min-height:72px; padding:12px 16px; gap:12px; grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr); }
  .header-actions { gap:10px; }
  .chat-trigger span { display:none; }
  .chat-trigger { width:38px; }
  .lotia-brand { font-size:28px; }
  .lotia-main { padding:0 16px 16px; }
  .lotia-hero { height:auto; min-height:0; grid-template-columns:minmax(0,1fr); gap:12px; }
  .care-panel { padding:24px; border-radius:24px; overflow:visible; }
  .services-view { gap:18px; }
  .care-heading h1 { font-size:36px; margin-top:10px; }
  .service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(115px,1fr)); gap:8px; }
  .service-card { padding:16px; }
  .service-name { font-size:12px; }
  .service-icon { width:40px; height:40px; padding:3px; }
  .service-arrow { width:13px; height:13px; top:16px; right:12px; }
  .clinic-panel { grid-template-rows:auto auto; gap:12px; }
  .clinic-film { aspect-ratio:16/10; border-radius:24px; }
  .visit-card { border-radius:22px; }
  .calendar-section { flex:none; }
  .calendar-days { grid-auto-rows:44px; }
  .month-controls .icon-button { width:36px; height:36px; }
  .time-slots button { min-height:44px; }
  .booking-view h2 { font-size:30px; }
  .booking-view { gap:16px; }
  .booking-footer { margin-top:6px; }
  .confirmation-view { padding-block:30px; }
}
@media (max-width:620px) {
  .lotia-header { min-height:66px; grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr); gap:8px; padding:12px; }
  .lotia-brand { min-height:36px; gap:0; }
  .lotia-brand > span:last-child { display:none; }
  .lotia-brand-mark { width:31px; height:31px; }
  .header-start { gap:6px; }
  .language-button { width:34px; height:34px; font-size:10px; }
  .call-button { min-height:34px; padding:0 12px; font-size:10px; }
  .call-button .icon { display:none; }
  .header-actions { gap:5px; }
  .chat-trigger,.pricing-header,.mobile-menu > summary { min-height:34px; width:34px; height:34px; padding:0; }
  .chat-trigger .spark { width:16px; height:16px; }
  .pricing-header { display:grid; place-items:center; width:56px; font-size:10px; }
  .pricing-header span { display:block; }
  .pricing-header .icon { display:none; width:17px; height:17px; }
  .mobile-menu > summary .icon { width:18px; height:18px; }
  .menu-options { position:fixed; top:62px; left:12px; right:12px; width:auto; max-height:calc(100dvh - 78px); }
  .call-popover { left:-40px; width:min(270px,calc(100vw - 28px)); }
  .lotia-main { padding:0 10px 12px; }
  .care-panel { padding:20px; border-radius:22px; }
  .services-view { gap:16px; }
  .care-heading h1 { font-size:32px; }
  .eyebrow { font-size:8px; }
  .service-grid { grid-template-rows:repeat(2,minmax(108px,1fr)); gap:6px; }
  .service-card { padding:12px 10px; border-radius:14px; }
  .service-icon { width:36px; height:36px; padding:2px; border-radius:9px; }
  .service-name { font-size:11px; line-height:1.25; margin-top:9px; }
  .service-duration { font-size:9px; }
  .service-arrow { display:none; }
  .film-top { top:14px; left:14px; right:14px; }
  .video-toggle { width:30px; height:30px; }
  .film-caption { left:14px; bottom:14px; right:14px; padding:10px 13px; border-radius:13px; }
  .film-caption > span { font-size:16px; }
  .film-caption small { font-size:8px; margin-top:4px; }
  .visit-card { padding:16px 12px; gap:10px; grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr) clamp(56px,17vw,74px); }
  .visit-heading { align-items:flex-start; gap:0; }
  .location-icon { display:none; }
  .visit-heading h2 { font-size:11px; }
  .visit-heading p { font-size:10px; margin-top:6px; line-height:1.5; }
  .directions-link { font-size:9px; gap:6px; margin-top:6px; line-height:1.3; }
  .directions-link .icon { width:13px; height:13px; }
  .reviews-block { padding-left:12px; }
  .google-word { font-size:16px; }
  .rating-value { font-size:22px; }
  .review-stars { font-size:9px; }
  .reviews-top { gap:3px 7px; margin-top:3px; }
  .review-count { font-size:9px; }
  .clinic-award { width:100%; }
  .booking-view h2 { font-size:27px; }
  .calendar-days { gap:3px; grid-auto-rows:40px; }
  .calendar-days button { font-size:12px; }
  .time-slots button { font-size:12px; }
  .selected-treatment { font-size:11px; }
  .chat-header { min-height:68px; padding:12px 16px; }
  .chat-log { padding:16px 16px 0; }
  .chat-message { font-size:15px; }
  .chat-welcome { padding-bottom:36px; }
  .chat-welcome .lotia-brand-mark { width:64px; height:64px; margin-bottom:20px; }
  .chat-welcome p { font-size:13px; }
  .chat-starters { gap:6px; margin-bottom:12px; }
  .chat-starters button { padding:8px 12px; font-size:11px; }
  .chat-composer textarea { font-size:16px; }
  .chat-welcome h3 { font-size:30px; }
  .chat-bottom { padding:10px 16px max(16px,env(safe-area-inset-bottom)); }
  .info-dialog { padding:34px 26px; }
}
@media (max-width:380px) {
  .pricing-header { width:34px; }
  .pricing-header span { display:none; }
  .pricing-header .icon { display:block; }
}
@media (max-height:500px) {
  .menu-options { display:block; overflow:auto; overscroll-behavior:contain; }
  .menu-links { overflow:visible; }
  .chat-header { min-height:56px; padding-block:6px; }
  .chat-bottom { padding-block:8px; }
  .chat-welcome { padding:8px; }
  .chat-welcome .lotia-brand-mark { width:36px; height:36px; margin-bottom:8px; }
  .chat-welcome h3 { font-size:24px; }
  .chat-welcome p { display:none; }
  .chat-starters { margin-bottom:8px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
