/* HH Dental: a consistent platinum treatment for patient media and appointments. */
.hhp .hh-customer-photo-grid{gap:24px!important;align-items:stretch;counter-reset:hh-photo}
.hhp figure.hh-customer-photo-card{position:relative;display:flex;flex-direction:column;min-width:0;height:100%;margin:0;padding:7px 7px 0!important;overflow:hidden;border:1px solid #d5dbe2!important;border-radius:22px!important;background:linear-gradient(140deg,#fff 20%,#f4f6f8)!important;box-shadow:0 8px 24px #293b5109,inset 0 1px 0 #fff!important;counter-increment:hh-photo;transition:transform .2s ease,box-shadow .2s ease}
.hhp .hh-customer-photo-card .hh-customer-zoom-open{position:relative;display:block;flex:none;width:100%;height:auto!important;min-height:0!important;aspect-ratio:4/5!important;padding:0!important;margin:0;overflow:hidden;border:0!important;border-radius:16px!important;background:#e9edf1!important}
.hhp .hh-customer-photo-card .hh-customer-zoom-open img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;object-fit:cover!important;object-position:center 42%;padding:0!important;border-radius:0;transition:transform .35s ease}
.hhp .hh-customer-photo-card .hh-customer-expand{display:grid;place-items:center;right:12px!important;bottom:12px!important;width:32px!important;height:32px!important;border:1px solid #ffffffb8;border-radius:50%;background:linear-gradient(130deg,#fff,#e2e6eb)!important;color:#4a596c;box-shadow:0 3px 12px #152b4930;font-size:17px}
.hhp .hh-customer-photo-card figcaption{position:relative;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:9px;min-height:118px!important;padding:19px 13px 20px!important;border:0!important;background:none!important}
.hhp .hh-customer-photo-card figcaption>span{display:block;font-size:9px!important;font-weight:600;letter-spacing:.16em;line-height:1.4;color:#84909f}
.hhp .hh-customer-photo-card figcaption::after{content:counter(hh-photo,decimal-leading-zero);position:absolute;right:14px;top:18px;color:#a0aab6;font:400 10px/1.5 Arial,sans-serif}
.hhp .hh-customer-photo-card figcaption strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;padding:0;font-size:14px!important;line-height:1.5!important;font-weight:500!important;color:#354457}
.hhp .hh-customer-photo-card .hh-customer-zoom-open:focus-visible{outline:2px solid #7b8da6;outline-offset:-4px}
@media(hover:hover){.hhp .hh-customer-photo-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #293b5115!important}.hhp .hh-customer-photo-card:hover img{transform:scale(1.025)}}
.hhp .hh-customer-video-grid{gap:28px!important;align-items:stretch;max-width:1000px;margin-inline:auto!important;counter-reset:hh-video}
.hhp article.hh-customer-video-card{position:relative;display:flex;flex-direction:column;min-width:0;margin:0;padding:8px 8px 0!important;overflow:hidden;border:1px solid #d5dce4!important;border-radius:24px!important;background:linear-gradient(135deg,#fff,#f1f4f7)!important;box-shadow:0 9px 26px #293b510b!important;counter-increment:hh-video}
.hhp .hh-customer-video-card video{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:3/4;object-fit:cover!important;object-position:center;border:0!important;border-radius:17px!important;background:#19222e}
.hhp .hh-customer-video-card video[data-playing=true]{object-fit:contain!important}
.hhp .hh-customer-video-copy{position:relative;display:flex;flex:1;flex-direction:column;gap:10px;min-height:118px!important;padding:21px 16px 22px!important;border:0!important;background:none!important}
.hhp .hh-customer-video-copy>span{display:block!important;font-size:9px!important;line-height:1.4;letter-spacing:.12em;font-weight:600;color:#8a96a5;padding-right:25px}
.hhp .hh-customer-video-copy::after{content:counter(hh-video,decimal-leading-zero);position:absolute;right:17px;top:20px;font:400 11px/1.5 Arial,sans-serif;color:#9aa6b3}
.hhp .hh-customer-video-copy h3{margin:0!important;font-size:16px!important;font-weight:500!important;line-height:1.55!important;color:#344457}
/* Form structure stays native and accessible; the same styling serves inline and modal forms. */
.hhp .hhp-booking-card,.hhp dialog.hhp-consult-dialog{position:relative;overflow:hidden;padding:38px!important;border:1px solid #cdd5df!important;border-radius:26px!important;background:linear-gradient(140deg,#fff 30%,#f5f7fa)!important;box-shadow:0 18px 55px #263a5310,inset 0 1px 0 #fff!important}
.hhp .hhp-booking-card::before,.hhp dialog.hhp-consult-dialog::before{content:'';position:absolute;left:30px;right:30px;top:0;height:3px;background:linear-gradient(90deg,transparent,#9aa9bb,#eceff3,#9aa9bb,transparent)}
.hhp .hh-booking-signature{display:flex;align-items:center;justify-content:center;gap:11px;margin:0 0 22px;color:#8896a7;font:500 10px/1.4 Arial,sans-serif;letter-spacing:.22em}
.hhp .hh-booking-signature::before,.hhp .hh-booking-signature::after{content:'';width:34px;height:1px;background:linear-gradient(90deg,transparent,#c2cad4)}
.hhp .hh-booking-signature::after{transform:rotate(180deg)}
.hhp .hhp-booking-card>h3,.hhp .hhp-consult-dialog>h2{margin:0 auto 12px!important;max-width:460px;color:#3a495b!important;font-size:clamp(25px,2.3vw,33px)!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.035em!important;text-align:center;text-transform:none!important;text-shadow:none!important}
.hhp .hhp-booking-card>p,.hhp .hhp-consult-dialog>.hhp-dialog-subtitle{max-width:440px;margin:0 auto 27px!important;text-align:center;color:#7a8797!important;font-size:13px!important;line-height:1.75!important}
.hhp .hhp-registration{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px;margin:0;text-align:left}
.hhp .hh-form-field{min-width:0;grid-column:1/-1}
.hhp .hh-form-field>label{display:block;margin:0 0 9px;color:#637287;font-size:11px;font-weight:600;letter-spacing:.035em;line-height:1.5}
.hhp .hh-input-shell{position:relative}
.hhp .hh-input-shell>svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:#8c9bab;stroke-width:1.4;pointer-events:none}
.hhp .hhp-registration .hh-form-field input{display:block;width:100%;height:51px!important;min-height:51px;max-width:none;padding:12px 15px 12px 44px!important;margin:0!important;border:1px solid #d6dde6!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 5px #25344b03!important;color:#354356;font-size:14px!important;line-height:1.5;transition:border-color .18s,box-shadow .18s}
.hhp .hhp-registration .hh-form-field input::placeholder{color:#a0aab7;font-weight:400}
.hhp .hhp-registration .hh-form-field input:focus{outline:none!important;border-color:#8b9db4!important;box-shadow:0 0 0 3px #e8edf4!important}
.hhp .hhp-registration fieldset{grid-column:1/-1;display:block;min-width:0;width:100%;box-sizing:border-box;padding:0!important;margin:1px 0 0!important;border:0!important}
.hhp .hhp-registration legend{display:block;float:none;box-sizing:border-box;min-width:0;width:100%;max-width:100%;white-space:normal;margin:0 0 11px;padding:0;color:#637287;font-size:11px!important;line-height:1.5;font-weight:600}
/* Keep grid on a normal element: iOS WebViews can shrink legends inside grid fieldsets. */
.hhp .hhp-registration .hhp-interest-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0;width:100%}
.hhp .hhp-registration fieldset label{display:flex!important;min-width:0;align-items:center;gap:8px;margin:0!important;padding:12px 11px!important;min-height:58px;border:1px solid #dbe1e8;border-radius:12px;background:#ffffffb3;cursor:pointer;font-size:11px!important;line-height:1.5!important;color:#58677a;transition:background .15s,border-color .15s}
.hhp .hhp-registration fieldset input[type=checkbox]{position:static;appearance:auto;flex:none;width:15px!important;height:15px!important;min-height:0;padding:0!important;margin:0!important;accent-color:#697e99;cursor:pointer}
.hhp .hhp-registration fieldset label:has(input:checked){background:linear-gradient(120deg,#e7ecf2,#fff);border-color:#a6b4c5;color:#34475f;box-shadow:inset 0 1px 0 #fff}
.hhp .hhp-registration fieldset label:focus-within{outline:2px solid #879bb5;outline-offset:2px}
.hhp .hhp-registration .hhp-form-privacy{grid-column:1/-1;margin:0!important;font-size:10px!important;line-height:1.7!important;color:#8a96a4!important}
.hhp .hhp-registration .hhp-register-submit{grid-column:1/-1;display:flex!important;align-items:center;justify-content:center;gap:11px;height:53px;min-height:53px;width:100%;margin:0!important;padding:12px 20px!important;border:1px solid #bec8d4!important;border-radius:14px!important;background:linear-gradient(110deg,#dbe0e6,#fbfcfd 42%,#ced5de 78%,#e8ecf1)!important;box-shadow:inset 0 1px 0 #fff,0 5px 12px #2d40541a!important;color:#41546a!important;font-size:12px!important;font-weight:600!important;letter-spacing:.035em;text-transform:none;cursor:pointer}
.hhp .hhp-register-submit>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.hhp .hhp-register-submit:focus-visible{outline:2px solid #879bb5;outline-offset:3px}
.hhp .hhp-register-submit:disabled{opacity:.7;cursor:wait}
.hhp .hhp-registration[aria-busy=true] .hhp-register-submit::after{content:'';width:14px;height:14px;border:2px solid #8395aa55;border-top-color:#526b87;border-radius:50%;animation:hh-submit-spin .7s linear infinite}
.hhp .hhp-registration .hhp-form-status{grid-column:1/-1;margin:0!important;line-height:1.65;font-size:12px}
.hhp .hhp-registration .hhp-form-status:empty{display:none}
.hhp .hhp-registration .hhp-form-status:not(:empty){padding:12px 14px;border:1px solid #d2dce6;border-radius:10px;background:#eef3f7;color:#536b82}
.hhp .hhp-registration[data-state=success] .hhp-form-status{background:#edf4f1;color:#426657;border-color:#cfdfd6}
.hhp .hhp-registration[data-state=error] .hhp-form-status{background:#fff5f2;color:#865b51;border-color:#ebd7d0}
.hhp .hhp-registration noscript{grid-column:1/-1}
.hhp dialog.hhp-consult-dialog{width:min(570px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto}
.hhp .hhp-dialog-close{right:15px!important;top:14px!important;border:1px solid #dce2e9!important;border-radius:50%!important;background:#f1f4f7!important;color:#6d7f94!important}
@keyframes hh-submit-spin{to{transform:rotate(360deg)}}
@media(max-width:767px){.hhp .hh-customer-photo-grid{gap:15px 12px!important}.hhp figure.hh-customer-photo-card{padding:5px 5px 0!important;border-radius:17px!important}.hhp .hh-customer-photo-card .hh-customer-zoom-open{border-radius:12px!important}.hhp .hh-customer-photo-card figcaption{padding:14px 8px 16px!important;gap:8px;min-height:107px!important}.hhp .hh-customer-photo-card figcaption>span{font-size:8px!important;letter-spacing:.1em}.hhp .hh-customer-photo-card figcaption::after{right:9px;top:13px;font-size:9px}.hhp .hh-customer-photo-card figcaption strong{font-size:12px!important;line-height:1.55!important}.hhp .hh-customer-photo-card .hh-customer-expand{width:28px!important;height:28px!important;right:8px!important;bottom:8px!important}.hhp .hh-customer-video-grid{gap:18px 12px!important}.hhp article.hh-customer-video-card{padding:5px 5px 0!important;border-radius:18px!important}.hhp .hh-customer-video-card video{border-radius:13px!important}.hhp .hh-customer-video-copy{padding:15px 9px 17px!important;gap:8px;min-height:114px!important}.hhp .hh-customer-video-copy>span{font-size:8px!important;letter-spacing:.035em;padding-right:17px}.hhp .hh-customer-video-copy::after{right:9px;top:14px;font-size:9px}.hhp .hh-customer-video-copy h3{font-size:13px!important;line-height:1.55!important}.hhp .hhp-booking-card,.hhp dialog.hhp-consult-dialog{padding:30px 22px!important;border-radius:22px!important}.hhp .hhp-booking-card>h3,.hhp .hhp-consult-dialog>h2{font-size:27px!important}.hhp .hhp-registration{gap:18px 12px}.hhp .hhp-registration fieldset label{padding:10px 8px!important;font-size:10px!important}.hhp .hh-booking-signature{margin-bottom:17px}}
@media(max-width:359px){.hhp .hhp-booking-card,.hhp dialog.hhp-consult-dialog{padding:28px 17px!important}.hhp .hhp-registration .hhp-interest-options{grid-template-columns:1fr}.hhp .hh-customer-photo-card figcaption strong{font-size:11px!important}.hhp .hh-customer-video-copy h3{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.hhp .hh-customer-photo-card,.hhp .hh-customer-photo-card img,.hhp .hhp-registration *{transition:none!important}.hhp .hhp-registration[aria-busy=true] .hhp-register-submit::after{animation:none}}

/* Polished silver frames and the original Vietnamese appointment wordmark. */
.hhp figure.hh-customer-photo-card,.hhp article.hh-customer-video-card{border-color:#b9c1cb!important;background:linear-gradient(125deg,#adb5bf 0%,#eef0f3 12%,#fff 37%,#b6bec8 65%,#e3e7ed 82%,#c2c9d2 100%)!important;box-shadow:inset 0 1px 0 #fff,0 8px 24px #293b5114!important}
.hhp .hh-customer-photo-card figcaption,.hhp .hh-customer-video-copy{gap:0;min-height:128px!important;padding:0 13px 19px!important;background:linear-gradient(135deg,#f8f9fb,#e9edf2)!important;border-radius:0 0 15px 15px;margin-bottom:7px}
.hhp .hh-customer-photo-card figcaption>span,.hhp .hh-customer-video-copy>span{display:flex!important;align-items:center;justify-content:center;align-self:stretch;flex:none;width:calc(100% + 26px);min-height:40px;margin:0 -13px 15px;padding:10px 12px!important;border-top:1px solid #fff;border-bottom:1px solid #bfc7d2;background:linear-gradient(116deg,#cbd1d9 0%,#eef0f3 24%,#fff 36%,#d7dce3 52%,#b5bdc8 76%,#e3e7ed 100%);box-shadow:inset 0 1px 0 #ffffffb3,0 1px 0 #fff;color:#495a70;font:600 9px/1.4 Arial,sans-serif!important;letter-spacing:.16em!important;text-shadow:0 1px 0 #ffffffd9}
.hhp .hh-customer-photo-card figcaption::after,.hhp .hh-customer-video-copy::after{content:none}
.hhp .hh-customer-video-copy h3{font-size:15px!important}
.hhp .hhp-booking-card>h3 .hh-booking-art{width:100%;height:auto;max-width:460px;display:block;margin:4px auto 18px;object-fit:contain}
html:not([lang="vi"]) .hhp .hhp-booking-card>h3 .hh-booking-art{display:none!important}
@media(max-width:767px){.hhp .hh-customer-photo-card figcaption,.hhp .hh-customer-video-copy{min-height:121px!important;padding:0 8px 15px!important;border-radius:0 0 11px 11px;margin-bottom:5px}.hhp .hh-customer-photo-card figcaption>span,.hhp .hh-customer-video-copy>span{width:calc(100% + 16px);min-height:34px;margin:0 -8px 12px;padding:8px!important;font-size:8px!important;letter-spacing:.13em!important}.hhp .hh-customer-video-copy h3{font-size:13px!important}.hhp .hhp-booking-card>h3 .hh-booking-art{margin:4px auto 16px}}

/* Give customer photos more space and let captions size to their content. */
.hhp #hinh-anh-khach-hang>.hhp-container{width:calc(100% - 40px);max-width:1320px;padding-inline:0}
.hhp .hh-customer-photo-grid.hh-customer-photo-grid-filled{gap:12px!important;grid-auto-rows:auto}
.hhp figure.hh-customer-photo-card{padding:3px 3px 0!important;border-radius:18px!important}
.hhp .hh-customer-photo-card .hh-customer-zoom-open{border-radius:14px!important}
.hhp .hh-customer-photo-card figcaption{min-height:0!important;padding:0 10px 9px!important;margin-bottom:3px;border-radius:0 0 13px 13px}
.hhp .hh-customer-photo-card figcaption>span{width:calc(100% + 20px);min-height:26px;margin:0 -10px 7px!important;padding:6px 10px!important}
.hhp .hh-customer-photo-card figcaption strong{line-height:1.45!important}
@media(max-width:767px){.hhp #hinh-anh-khach-hang>.hhp-container{width:calc(100% - 16px)}.hhp .hh-customer-photo-grid.hh-customer-photo-grid-filled{gap:8px!important}.hhp figure.hh-customer-photo-card{padding:2px 2px 0!important;border-radius:14px!important}.hhp .hh-customer-photo-card .hh-customer-zoom-open{border-radius:11px!important}.hhp .hh-customer-photo-card figcaption{padding:0 7px 8px!important;margin-bottom:2px;border-radius:0 0 10px 10px}.hhp .hh-customer-photo-card figcaption>span{width:calc(100% + 14px);min-height:23px;margin:0 -7px 6px!important;padding:5px 7px!important}}

/* Match the compact customer photo frames without restricting video controls. */
.hhp .hh-customer-video-grid{gap:12px!important;grid-auto-rows:auto}
.hhp article.hh-customer-video-card{padding:3px 3px 0!important;border-radius:18px!important}
.hhp .hh-customer-video-card video{border-radius:14px!important}
.hhp .hh-customer-video-copy{min-height:0!important;padding:0 10px 9px!important;margin-bottom:3px;border-radius:0 0 13px 13px}
.hhp .hh-customer-video-copy>span{width:calc(100% + 20px);min-height:26px;margin:0 -10px 7px!important;padding:6px 10px!important}
.hhp .hh-customer-video-copy h3{line-height:1.45!important}
@media(max-width:767px){.hhp .hh-customer-video-section>.hhp-container{width:calc(100% - 16px);padding-inline:0}.hhp .hh-customer-video-grid{gap:8px!important}.hhp article.hh-customer-video-card{padding:2px 2px 0!important;border-radius:14px!important}.hhp .hh-customer-video-card video{border-radius:11px!important}.hhp .hh-customer-video-copy{padding:0 7px 8px!important;margin-bottom:2px;border-radius:0 0 10px 10px}.hhp .hh-customer-video-copy>span{width:calc(100% + 14px);min-height:23px;margin:0 -7px 6px!important;padding:5px 7px!important}}

/* A separate acknowledgement after the server has accepted an appointment. */
.hhp dialog.hh-booking-success{box-sizing:border-box;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:32px 28px;border:1px solid #bec8d4;border-radius:24px;background:linear-gradient(135deg,#fff 25%,#f0f3f7);color:#41546a;text-align:center;box-shadow:inset 0 1px 0 #fff,0 24px 80px #192c4933}
.hhp dialog.hh-booking-success::backdrop{background:#17263e66;backdrop-filter:blur(3px)}
.hhp .hh-booking-success-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 20px;border:1px solid #bcc7d3;border-radius:50%;background:linear-gradient(120deg,#d8dfe7,#fff 44%,#c2ccd8);box-shadow:inset 0 1px 0 #fff}
.hhp .hh-booking-success-icon svg{width:32px;height:32px;fill:none;stroke:#506880;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hhp .hh-booking-success h2{margin:0 0 14px;font-size:24px;line-height:1.35;color:#394b60}
.hhp .hh-booking-success p{margin:0 0 26px;font-size:14px;line-height:1.8;color:#65758b}
.hhp .hh-booking-success-close{width:100%;min-height:46px;padding:11px 22px;border:1px solid #bdc8d5;border-radius:12px;background:linear-gradient(110deg,#dbe0e6,#fbfcfd 42%,#ced5de 78%,#e8ecf1);box-shadow:inset 0 1px 0 #fff,0 4px 10px #2d405415;color:#41546a;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer}
.hhp .hh-booking-success-close:focus-visible{outline:2px solid #879bb5;outline-offset:3px}
@media(max-width:359px){.hhp dialog.hh-booking-success{padding:26px 20px}.hhp .hh-booking-success h2{font-size:21px}}

/* Consistent platinum finish for close controls across dialogs and support. */
.hhp :is(.hhp-dialog-close,.hh-support-close,.hh-story-dialog-close,.hh-equipment-zoom-close,.hh-booking-success-close){box-sizing:border-box;border:1px solid #b8c2ce!important;background:linear-gradient(125deg,#cbd2dc 0%,#f0f3f7 25%,#fff 40%,#c0c9d4 70%,#e5eaf0 100%)!important;color:#46586e!important;box-shadow:inset 0 1px 1px #fff,inset 0 -1px 2px #8291a426,0 3px 9px #253b5426!important;text-shadow:0 1px 0 #fff;cursor:pointer;transition:box-shadow .18s ease,border-color .18s ease}
.hhp :is(.hhp-dialog-close,.hh-support-close,.hh-story-dialog-close){display:grid;place-items:center;flex:none;width:36px!important;height:36px!important;min-width:36px;min-height:36px;margin:0;padding:0!important;border-radius:50%!important;font:400 24px/1 Arial,sans-serif!important;z-index:2}
.hhp .hh-equipment-zoom-close{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.hhp :is(.hhp-dialog-close,.hh-support-close,.hh-story-dialog-close,.hh-equipment-zoom-close,.hh-booking-success-close):focus-visible{outline:2px solid #748ba6!important;outline-offset:3px!important}
@media(hover:hover){.hhp :is(.hhp-dialog-close,.hh-support-close,.hh-story-dialog-close,.hh-equipment-zoom-close,.hh-booking-success-close):hover{border-color:#8799af!important;background:linear-gradient(125deg,#d7dee7,#fff 40%,#b7c3d1 73%,#edf1f6)!important;box-shadow:inset 0 1px 1px #fff,0 4px 12px #253b5433!important}}
.hhp :is(.hhp-dialog-close,.hh-support-close,.hh-story-dialog-close,.hh-equipment-zoom-close,.hh-booking-success-close):active{box-shadow:inset 0 2px 4px #52657b26,0 1px 3px #253b541a!important}
@media(pointer:coarse){.hhp :is(.hhp-dialog-close,.hh-support-close,.hh-story-dialog-close){width:40px!important;height:40px!important}.hhp .hh-equipment-zoom-close{min-height:40px}}
@media(prefers-reduced-motion:reduce){.hhp :is(.hhp-dialog-close,.hh-support-close,.hh-story-dialog-close,.hh-equipment-zoom-close,.hh-booking-success-close){transition:none}}

/* A continuous platinum header; blend the logo's white matte into its surface. */
.hhp .hhp-header{isolation:isolate;background:linear-gradient(112deg,#e3e7ec 0%,#f8f9fa 35%,#eef1f4 61%,#d6dde5 100%);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 -1px 0 #bdc6d280,0 3px 12px #3444570a}
.hhp .hhp-header.hh-scrolled{box-shadow:inset 0 -1px 0 #b8c2cf99,0 4px 14px #34445714}
.hhp .hhp-header .hhp-brand,.hhp .hhp-header .hh-logo-frame{background:transparent}
.hhp .hhp-header .hh-logo-frame>img{mix-blend-mode:multiply}

/* Keep horizontal movement composited while vertical scrolling remains native. */
.hhp .slick-slider .slick-list{touch-action:pan-y pinch-zoom}
.hhp .slick-slider.hh-motion-visible>.slick-list>.slick-track{will-change:transform}
.hhp .hh-slides.slick-initialized .hh-slide{transition:none;animation:none}
@media(hover:none){
 .hhp .hh-hero-visual>img,.hhp .hh-service-thumbs img{animation:none!important}
 .hhp .hh-consult-card:hover img{transform:none}
}
/* Doctor and customer-story controls remain visible below cards on mobile. */
@media(max-width:1023px){
 .hhp :is(#tu-van-bac-si,#cau-chuyen) .hh-card-track.slick-initialized{padding-bottom:16px}
 .hhp :is(#tu-van-bac-si,#cau-chuyen) .hh-card-track>.hh-slick-prev,.hhp :is(#tu-van-bac-si,#cau-chuyen) .hh-card-track>.hh-slick-next{top:auto;bottom:0;transform:none;width:42px;height:42px;border-color:#b9c4d0;background:linear-gradient(120deg,#e0e5eb,#fff 42%,#c9d1db);color:#495e74;box-shadow:inset 0 1px 0 #fff,0 3px 9px #34445712}
 .hhp :is(#tu-van-bac-si,#cau-chuyen) .hh-card-track>.hh-slick-prev{left:calc(50% - 108px)}
 .hhp :is(#tu-van-bac-si,#cau-chuyen) .hh-card-track>.hh-slick-next{right:calc(50% - 108px)}
 .hhp :is(#tu-van-bac-si,#cau-chuyen) .slick-dots{min-height:42px;align-items:center;margin:12px 52px -16px}
}
@media(prefers-reduced-motion:reduce){.hhp .slick-slider.hh-motion-visible>.slick-list>.slick-track{will-change:auto}}

/* Slides switch immediately on buttons, dots and completed swipes. */
.hhp .slick-slider .slick-track,.hhp .slick-slider .slick-list,.hhp .slick-slider .slick-slide,.hhp .hh-carousel .hh-slide{transition:none!important;animation:none!important;scroll-behavior:auto!important}
.hhp .slick-slider.hh-motion-visible>.slick-list>.slick-track{will-change:auto}
.hhp .hh-card-track,.hhp .hh-service-thumbs{scroll-behavior:auto!important}

/* Native modal dialogs must be fixed to the viewport, never positioned in page flow. */
.hhp dialog.hhp-consult-dialog,.hhp dialog.hh-booking-success{position:fixed;inset:calc(var(--hh-dialog-top,0px) + 16px) 0 auto;margin:0 auto;max-height:calc(var(--hh-dialog-height,100dvh) - 32px);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;animation:none}

/* Desktop header: logo, language and booking action. */
@media(min-width:961px){
 .hhp .hhp-header .hhp-brandline,.hhp .hhp-header .hhp-hotline{display:none!important}
 .hhp .hhp-header .hh-language{margin-left:auto}
}

/* Platinum menu control, matching the header's silver buttons. */
.hhp .hhp-header .hhp-menu-toggle{box-sizing:border-box;flex-shrink:0;width:44px;height:44px;padding:11px;border:1px solid #b8c2ce;border-radius:50%;background:linear-gradient(125deg,#cbd2dc 0%,#f0f3f7 25%,#fff 40%,#c0c9d4 70%,#e5eaf0 100%);box-shadow:inset 0 1px 1px #fff,inset 0 -1px 2px #8291a426,0 3px 9px #253b541a;color:#46586e}
.hhp .hhp-header .hhp-menu-toggle span{height:2px;margin:4px 0;border-radius:2px;background:currentColor}
.hhp .hhp-header .hhp-menu-toggle[aria-expanded=true],.hhp .hhp-header .hhp-menu-toggle:active{border-color:#8799af;box-shadow:inset 0 2px 4px #52657b26,0 1px 3px #253b541a}
.hhp .hhp-header .hhp-menu-toggle:focus-visible{outline:2px solid #748ba6;outline-offset:3px}
