/* A warm editorial menu: time to compare, then a short path to booking. */
#body-care,#acupuncture,#beauty{border:0;border-radius:4px 4px 22px 22px;background:#fffcf7;box-shadow:0 8px 26px #244b4e0c}
#body-care,#acupuncture{--accent:#075968;--tint:#f1f7f3}
#body-care>.treatment-heading,#acupuncture>.treatment-heading,#beauty>.treatment-heading{position:relative;grid-template-columns:90px minmax(0,1fr);min-height:110px;background:#fffaf1;border-bottom:1px solid #d8c7a2}
#body-care>.treatment-heading .treatment-photo,#acupuncture>.treatment-heading .treatment-photo,#beauty>.treatment-heading .treatment-photo{min-height:110px}
#body-care>.treatment-heading .treatment-photo img{object-position:50% 0}
#body-care .treatment-heading-copy,#acupuncture .treatment-heading-copy,#beauty .treatment-heading-copy{padding:17px 15px}
#body-care .treatment-number,#acupuncture .treatment-number,#beauty .treatment-number{color:#987843;letter-spacing:.12em}
#body-care>.treatment-copy,#acupuncture>.treatment-copy,#beauty>.treatment-copy{padding:20px 16px 24px}
#body-care .treatment-description,#acupuncture .treatment-description,#beauty .treatment-description{font-size:14px;line-height:1.95;margin:0 0 12px;color:#344f54}
.care-edition{margin:20px 0 24px;background:#fff;border:1px solid #dfd9c9;border-radius:3px 3px 18px 3px;box-shadow:5px 6px 0 #ebe4d6;overflow:hidden}
.edition-cover{position:relative;isolation:isolate;background:#ecf1ed;display:grid;grid-template-columns:1.1fr 1fr;min-height:156px}
.edition-cover>img{width:100%;height:100%;min-height:156px;object-fit:contain;object-position:50% 0;background:#e4e8df}
.edition-cover-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:18px 13px 21px;background:#075968;color:#fffef4}
.edition-cover-copy:after{content:"";position:absolute;left:-10px;bottom:18px;width:34px;height:2px;background:#d7bc83}
.edition-eyebrow{font:500 8px/1.6 var(--sans);letter-spacing:.12em;color:#e3cda3}
.menu-shell .edition-cover h3{font:500 clamp(19px,5.4vw,27px)/1.65 var(--serif);margin:10px 0 0;color:inherit;letter-spacing:.035em;overflow-wrap:anywhere}
.edition-hint{margin:14px 16px 7px!important;font-size:11px!important;line-height:1.7!important;color:#5a6e6f}
.duration-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin:0 12px;border-bottom:1px solid #cbb68e}
.duration-tabs[hidden]{display:none}
.duration-tab{appearance:none;border:0;border-bottom:3px solid transparent;background:#f6f4ee;color:#34565d;border-radius:9px 9px 0 0;padding:10px 3px;min-width:0;font-family:var(--sans);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.duration-tab+.duration-tab{border-left:3px solid white}
.duration-tab[aria-selected="true"]{background:#075968;color:#fffef4;border-bottom-color:#d4b375;transform:translateY(-3px);box-shadow:0 4px 0 #d4b375}
.duration-time{display:block;font:500 35px/1.1 var(--serif);font-variant-numeric:lining-nums tabular-nums}
.duration-time small{font:500 11px/1.4 var(--sans);margin-left:3px}
.duration-rate{display:block;font-size:9px;line-height:1.7;margin-top:6px;white-space:normal}
.duration-rate b{font-size:12px;font-weight:600;white-space:nowrap}
.duration-tab:focus-visible,.course-book:focus-visible{outline:3px solid #a65370;outline-offset:4px}
.menu-shell .edition-pages .menu-course{padding:18px 17px 20px;margin:0;border:0;background:#fff}
.edition-pages .course-top{display:block}
.menu-shell .edition-pages .course-top h3{font-size:18px;margin-bottom:6px;line-height:1.55;color:#075968}
.edition-pages .course-top p{font-size:13px;line-height:1.9;color:#3c575d}
.edition-pages .menu-course[hidden]{display:none!important}
.edition-pages .menu-course.is-changing{animation:menuPageIn .28s ease-out both}
.course-list .course-purchase{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:center}
.course-list .course-pricing{position:relative;padding-left:12px;border-left:2px solid #c4a66d;gap:2px}
.course-list .course-condition{font-size:10px;color:#5a6968}
.course-list .course-pricing strong{font:600 27px/1.35 var(--sans);letter-spacing:.015em;color:#075968}
.course-pricing strong>span{font-size:13px;vertical-align:middle}
.course-list .course-pricing small{font-size:13px}
.course-list .course-regular{font-size:12px;color:#5f6a68;text-underline-offset:3px}
.course-list .course-book{position:relative;display:flex;align-items:center;justify-content:center;min-height:47px;padding:12px 15px;border:1px solid #c4a36b;border-bottom:3px solid #a78349;border-radius:5px;background:linear-gradient(110deg,#f4e6c9,#e8cc98);color:#314a4b;font:600 13px/1.5 var(--sans);box-shadow:0 3px 9px #9b774b12;transition:transform .18s,box-shadow .18s}
.course-list .course-book:active{transform:translateY(2px);box-shadow:none}
.course-list .care-focus{position:relative;margin:18px 0;padding:0 0 18px;border:0;border-bottom:1px solid #cdbb96;background:linear-gradient(160deg,#fffaf3,#f7eeed);border-radius:3px 3px 15px 3px;overflow:hidden}
.care-focus .course-top{grid-template-columns:36% minmax(0,1fr);gap:13px;align-items:center}
.care-focus .course-photo{width:100%;height:auto;aspect-ratio:3/3.6;object-fit:cover;object-position:50% 20%;border-radius:0 0 38px 0;background:#efe9de}
#course-student .course-photo,#course-child .course-photo{object-fit:contain;object-position:50% 0}
.menu-shell .care-focus .course-top h3{font:600 17px/1.6 var(--sans);letter-spacing:.015em;margin:0 0 5px}
.care-focus .course-top>div{padding:12px 13px 8px 0;min-width:0}
.care-focus .course-top p{font-size:12px;line-height:1.85}
.care-focus .course-purchase,.care-focus .course-staff-links,.care-focus .course-eligibility,.care-focus .course-normal-links{margin-left:15px;margin-right:15px}
.care-focus .course-staff-links{gap:8px}
.care-focus .course-staff-links .course-book{font-size:11px;flex:1;min-width:0;padding:10px 5px}
.course-list .course-group-heading{font:500 21px/1.6 var(--serif);border:0;padding:0 0 7px;margin:28px 0 12px;color:#075968;position:relative}
.course-list .course-group-heading:after{content:"";display:block;height:2px;width:35px;background:#c4a66d;margin-top:9px}
.course-list .course-promo{margin:20px 0 24px;padding:13px 14px;background:#eaf3f0;border-left:3px solid #b59a60;border-radius:0 8px 8px 0;font-size:12px;line-height:1.85}
.course-list .course-promo-link{color:#155f69;text-decoration:underline;text-underline-offset:4px}
.course-list .course-option{padding:14px 0;border-color:#ddd3c3}
.course-list .course-option h4{font-size:15px;color:#075968}
.course-list .course-option .course-staff-links .course-book{min-height:40px;font-size:11px;padding:9px;background:#f4ede0;border-bottom-width:2px}
#beauty{--accent:#865165;--tint:#f7ecee}
#beauty>.treatment-heading{background:#f6ebed;grid-template-columns:38% minmax(0,1fr)}
#beauty .treatment-photo{min-height:210px}
#beauty .treatment-photo img{object-position:center}
#beauty .treatment-heading h2{font-size:22px;line-height:1.6}
#beauty .treatment-explained{background:#f7efec;border:0;border-radius:4px 25px 4px 4px;padding:17px}
#beauty .menu-price{margin-top:18px;border-top:1px solid #c6ac91;background:transparent;padding:18px 0 10px}
#beauty .menu-button{min-height:50px;background:linear-gradient(110deg,#f4e6c9,#e8cc98);color:#4f4a3e;border:1px solid #bea271;border-bottom:3px solid #a78349;border-radius:5px;box-shadow:none}
@keyframes menuPageIn{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:400px){.course-list .course-purchase{grid-template-columns:minmax(0,1fr) auto}.course-list .course-purchase>.course-book{min-width:145px;padding:12px}.edition-cover{min-height:180px}.edition-cover>img{min-height:180px}}
@media(min-width:640px){.care-focus .course-top{grid-template-columns:34% minmax(0,1fr)}.care-focus .course-photo{aspect-ratio:4/3}.edition-cover{grid-template-columns:1.2fr 1fr}.edition-cover>img{max-height:290px}.edition-cover-copy{padding:26px}.duration-time{font-size:42px}.duration-rate{font-size:11px}.duration-rate b{font-size:14px}}
@media(prefers-reduced-motion:reduce){.duration-tab,.course-list .course-book{transition:none}.edition-pages .menu-course.is-changing{animation:none}}
/* Reset legacy composite-photo cropping for the original clinic photograph. */
#beauty .treatment-photo>img{width:100%;max-width:100%;height:100%;left:0;top:0;object-fit:contain;object-position:center}
.menu-shell #beauty .treatment-heading h2{font-size:21px;line-height:1.6}
.menu-shell .course-list .course-group-heading{font:500 21px/1.6 var(--serif);border-left:0;padding-left:0;margin:28px 0 12px}
@media(max-width:359px){.menu-shell #beauty .treatment-heading h2{font-size:18px}.duration-time{font-size:31px}.duration-rate b{font-size:11px}}
/* Text-only category titles, without empty image columns. */
.menu-shell #body-care>.treatment-heading,.menu-shell #acupuncture>.treatment-heading,.menu-shell #beauty>.treatment-heading{display:block;min-height:0}
.menu-shell #body-care .treatment-heading-copy,.menu-shell #acupuncture .treatment-heading-copy,.menu-shell #beauty .treatment-heading-copy{padding:17px 18px}
.menu-shell .edition-cover{display:block;min-height:0;background:none}
.menu-shell .edition-cover-copy{padding:15px 17px}
.menu-shell .edition-cover h3{font-size:22px;margin-top:5px}
.menu-shell .edition-cover-copy:after{display:none}
/* Show the complete photograph instead of fitting it into a cropped portrait slot. */
.menu-shell .care-focus .course-photo{height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;border-radius:0 0 12px 0}
.menu-monthly{margin:24px 16px 0;padding:18px 16px 14px;border:1px solid #d5b77f;border-top:4px solid #b58d4b;border-radius:12px;background:#fff8e9;box-shadow:0 4px 0 #e6d7bb}
.monthly-menu-heading>span{font:600 10px/1.5 var(--sans);letter-spacing:.17em;color:#946c34}
.menu-shell .monthly-menu-heading h2{font:600 24px/1.5 var(--serif);color:#28535a;margin:5px 0 9px}
.monthly-menu-conditions{font-size:13px;line-height:1.7;color:#6b443b;margin:0 0 13px;font-weight:600}
.monthly-menu-offers{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.monthly-menu-offer{display:flex;flex-direction:column;min-width:0;border:1px solid #d4a7b6;border-radius:8px;background:#f8e9ee;color:#6e3b50;padding:12px 10px;box-shadow:0 3px 0 #d8b8c0}
.monthly-menu-offer.monthly-body{background:#e8f2f8;border-color:#a3c2d4;color:#1c546c;box-shadow:0 3px 0 #b2cbd6}
.menu-shell .monthly-menu-offer h3{font:600 15px/1.6 var(--sans);color:inherit;margin:0 0 9px}
.monthly-menu-offer p{display:flex;flex-direction:column;margin:0 0 10px}
.monthly-menu-normal{font-size:11px;line-height:1.7;text-decoration:line-through}
.monthly-menu-offer strong{font:700 28px/1.4 var(--sans);white-space:nowrap;letter-spacing:-.025em}
.monthly-menu-offer strong small{font-size:12px;margin-left:2px}
.monthly-menu-book{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:auto;padding-top:8px;border-top:1px solid #b7907755;font:600 11px/1.7 var(--sans)}
.monthly-menu-book b{font-size:20px}
.monthly-menu-note{font-size:11px;line-height:1.7;color:#656461;margin:12px 0 0}
@media(max-width:359px){.monthly-menu-offers{gap:8px}.monthly-menu-offer{padding:10px 8px}.menu-shell .monthly-menu-offer h3{font-size:14px}.monthly-menu-offer strong{font-size:25px}}
.beauty-source-photo{margin:15px 0 18px;background:#fff5f4;border:1px solid #e4c5cc;border-radius:8px;overflow:hidden}
.beauty-source-photo img{display:block;width:100%;height:auto;object-fit:contain}
.beauty-source-photo figcaption{padding:7px 10px;font-size:10px;line-height:1.7;color:#72535d}
/* Match the four hero categories throughout the entire menu. */
.menu-shell #body-care{--accent:#174f73;--tint:#e8f3fa;--category-paper:#e8f3fa;--category-card:#f6fbff;--category-edge:#aac9dc;background:var(--category-paper)}
.menu-shell #acupuncture{--accent:#795262;--tint:#fae9ee;--category-paper:#fae9ee;--category-card:#fff6f8;--category-edge:#dfbbc8;background:var(--category-paper)}
.menu-shell #beauty{--accent:#7c3554;--tint:#f3ccdc;--category-paper:#f3ccdc;--category-card:#fff0f5;--category-edge:#d8a2b7;background:var(--category-paper)}
.menu-shell #insurance{--accent:#285e49;--tint:#e4f1e7;background:#e4f1e7}
.menu-shell #body-care>.treatment-heading{background:linear-gradient(120deg,#0b4167,#176e91);border-color:#a9c9d9}
.menu-shell #acupuncture>.treatment-heading{background:#f0d8e1;border-color:#d8aebf}
.menu-shell #beauty>.treatment-heading{background:linear-gradient(120deg,#8c3e5e,#b65b7d);border-color:#dba5ba}
.menu-shell #insurance>.treatment-heading{background:linear-gradient(120deg,#205743,#397e60);border-color:#a6c8ae}
.menu-shell #body-care>.treatment-heading h2,.menu-shell #beauty>.treatment-heading h2{color:#fff9f4}
.menu-shell #body-care .treatment-heading-copy>p,.menu-shell #beauty .treatment-heading-copy>p{color:#f6e8c9}
.menu-shell #body-care .treatment-heading-copy>p:last-child,.menu-shell #beauty .treatment-heading-copy>p:last-child{color:#f9f1ed}
.menu-shell #acupuncture>.treatment-heading h2{color:#704659}
.menu-shell #acupuncture .treatment-number,.menu-shell #acupuncture .treatment-heading-copy>p:last-child{color:#755264}
.menu-shell #body-care>.treatment-copy,.menu-shell #acupuncture>.treatment-copy,.menu-shell #beauty>.treatment-copy{padding:13px 12px 16px;background:var(--category-paper)}
.menu-shell #body-care .treatment-heading-copy,.menu-shell #acupuncture .treatment-heading-copy,.menu-shell #beauty .treatment-heading-copy{padding:12px 15px}
.menu-shell #body-care .treatment-description,.menu-shell #acupuncture .treatment-description{font-size:13px;line-height:1.75;margin-bottom:6px}
.course-tax-note{font-size:10px!important;line-height:1.65;margin:5px 0!important}
.menu-shell .care-edition{margin:12px 0 15px;border-color:var(--category-edge);border-radius:7px;box-shadow:0 3px 0 var(--category-edge);background:var(--category-card)}
.menu-shell .edition-cover-copy{padding:10px 12px;background:var(--accent)}
.menu-shell .edition-cover h3{font-size:20px;margin-top:3px;line-height:1.5}
.menu-shell .edition-hint{font-size:10px!important;margin:9px 12px 6px!important}
.menu-shell .duration-tabs{margin-inline:9px}
.menu-shell .duration-tab{padding:7px 3px;background:var(--category-paper);color:var(--accent)}
.menu-shell .duration-tab[aria-selected=true]{background:var(--accent);color:#fffaf1;transform:translateY(-1px)}
.menu-shell .duration-time{font-size:30px}
.menu-shell .duration-rate{margin-top:4px}
.menu-shell .edition-pages .menu-course{padding:12px;background:var(--category-card)}
.menu-shell .edition-pages .course-top h3,.menu-shell .course-list .course-pricing strong,.menu-shell .course-list .course-group-heading{color:var(--accent)}
.menu-shell .edition-pages .course-top h3{font-size:17px;margin-bottom:4px}
.menu-shell .edition-pages .course-top p{font-size:12px;line-height:1.75}
.menu-shell .course-list .care-focus{margin:10px 0;padding:10px;border:1px solid var(--category-edge);border-radius:7px;background:var(--category-card)}
.menu-shell .care-focus .course-top{grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start}
.menu-shell .care-focus .course-photo{width:72px;height:58px;aspect-ratio:auto;object-fit:contain;border-radius:4px}
.menu-shell .care-focus .course-top>div{padding:0}
.menu-shell .care-focus .course-top h3{font-size:16px;line-height:1.5;color:var(--accent);margin:0 0 3px}
.menu-shell .care-focus .course-top p{font-size:12px;line-height:1.7}
.menu-shell .course-list .course-purchase{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:9px}
.menu-shell .care-focus .course-purchase,.menu-shell .care-focus .course-staff-links,.menu-shell .care-focus .course-eligibility,.menu-shell .care-focus .course-normal-links{margin-left:0;margin-right:0}
.menu-shell .course-list .course-pricing{padding-left:8px;gap:0}
.menu-shell .course-list .course-pricing strong{font-size:23px;line-height:1.35}
.menu-shell .course-pricing strong>span{font-size:11px}
.menu-shell .course-list .course-condition{font-size:10px}
.menu-shell .course-list .course-regular{font-size:11px}
.menu-shell .course-list .course-book{min-height:40px;min-width:0;padding:8px 10px;font-size:11px;border-bottom-width:2px}
.menu-shell .course-list .course-group-heading{font-size:19px;margin:18px 0 9px;padding-bottom:4px}
.menu-shell .course-list .course-group-heading:after{margin-top:5px}
.menu-shell .course-list .course-option{padding:9px 0}
/* Beauty is one short menu: thumbnail + overview, 3 care steps, price and booking. */
.menu-shell #beauty .treatment-heading h2{font-size:23px;line-height:1.4}
.menu-shell #beauty .treatment-heading-copy>p:last-child{font-size:12px;line-height:1.6}
.menu-shell #beauty .treatment-number{font-size:10px;line-height:1.5;margin-bottom:4px}
.menu-shell .beauty-brief{display:grid;grid-template-columns:106px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:10px}
.menu-shell #beauty .beauty-source-photo{width:106px;margin:0;border:1px solid #d9a8bb;border-radius:5px;background:#fff4f6;box-shadow:none}
.menu-shell #beauty .beauty-source-photo img{width:100%;height:auto;max-height:80px;object-fit:contain}
.menu-shell #beauty .treatment-description{font-size:12px;line-height:1.75;margin:0;color:#633e50}
.menu-shell #beauty .treatment-explained{padding:10px 11px;border-radius:6px;background:#fff1f6;margin:0;border:1px solid #dfb7c8}
.menu-shell #beauty .treatment-explained h3{font-size:13px;line-height:1.5;margin:0 0 6px}
.menu-shell #beauty .treatment-explained ol{gap:5px;margin:0;padding:0}
.menu-shell #beauty .treatment-explained li{font-size:12px;line-height:1.6;min-height:21px;padding-left:26px}
.menu-shell #beauty .treatment-explained li:before{width:19px;height:19px;font-size:10px;top:0}
.menu-shell #beauty .menu-price{margin-top:10px;padding:10px 0 9px;border-color:#c989a4}
.menu-shell #beauty .price-condition{font-size:10px;padding:1px 5px;background:#fff0f5;border-color:#d6a3b7}
.menu-shell #beauty .menu-time{font-size:11px}
.menu-shell #beauty .menu-price strong{font-size:30px}
.menu-shell #beauty .menu-button{font-size:14px;min-height:43px;padding:9px 12px}
@media(max-width:359px){.menu-shell .course-list .course-pricing strong{font-size:21px}.menu-shell .course-list .course-book{font-size:10px;padding:8px}.menu-shell .care-focus .course-top{grid-template-columns:62px minmax(0,1fr);gap:8px}.menu-shell .care-focus .course-photo{width:62px;height:50px}.menu-shell .care-focus .course-top h3{font-size:15px}.menu-shell .beauty-brief{grid-template-columns:90px minmax(0,1fr)}.menu-shell #beauty .beauty-source-photo{width:90px}.menu-shell #beauty .treatment-heading h2{font-size:21px}}
/* The monthly invitation: two perforated tickets in the clinic's own colors. */
.menu-shell .menu-monthly{position:relative;isolation:isolate;overflow:hidden;margin:22px 16px 0;padding:18px 14px 14px;border:1px solid #c8a56b;border-top:0;border-radius:13px;background:radial-gradient(ellipse at 105% 0,#ce7f9b55,transparent 62%),linear-gradient(130deg,#123e58,#075e6c);box-shadow:0 5px 0 #c5a776,0 12px 23px #173f4a16;color:#fff7e8}
.menu-monthly:before{content:"";position:absolute;z-index:-1;right:-65px;top:-64px;width:235px;height:235px;border:1px solid #d5b77d65;border-radius:50%;box-shadow:0 0 0 16px #e4c48c0a,0 0 0 38px #ecc5d20a;pointer-events:none}
.monthly-menu-heading{position:relative;min-height:67px;padding-right:74px}
.monthly-gold-ribbon{display:inline-block;background:linear-gradient(110deg,#f8e8b9,#d8b373,#f4dfb0);color:#574425!important;padding:4px 9px;letter-spacing:.13em!important;border-radius:2px;font-size:8px!important;line-height:1.4!important;box-shadow:0 2px 0 #806a4033}
.menu-shell .monthly-menu-heading h2{font:500 23px/1.4 var(--serif);letter-spacing:.025em;color:#fff3d5;margin:8px 0 9px}
.monthly-limit-seal{position:absolute;right:0;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:65px;height:65px;border:1px solid #eed69f;border-radius:50%;background:#f4dfad;color:#55432b;transform:rotate(8deg);box-shadow:0 0 0 3px #e1bd7d33,0 3px 0 #123b4e40}
.monthly-limit-seal>span{font-size:9px;line-height:1.3;font-weight:600;letter-spacing:0}
.monthly-limit-seal>b{font:500 35px/.95 var(--serif);color:#745023}
.menu-shell .monthly-menu-conditions{display:block;font-size:11px;line-height:1.7;margin:10px 0 13px;padding:7px 10px;border:1px solid #e2c78c66;border-radius:5px;background:#07364466;color:#f9e5be;font-weight:500}
.menu-shell .monthly-menu-offers{display:grid;grid-template-columns:1fr;gap:11px}
.menu-shell .monthly-menu-offer{--ticket-paper:#f9e5ed;--ticket-ink:#78384f;--ticket-edge:#d4a7b7;position:relative;isolation:isolate;display:grid;grid-template-columns:65px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:5px 10px;min-height:101px;padding:12px 13px 11px 10px;border:1px solid #fae9c4;border-bottom:3px solid var(--ticket-edge);border-radius:5px;background:var(--ticket-paper);color:var(--ticket-ink);box-shadow:0 3px 0 #062f3b55;transition:transform .2s,box-shadow .2s;transform:rotate(-.7deg);overflow:hidden}
.menu-shell .monthly-menu-offer.monthly-body{--ticket-paper:#e5f3fc;--ticket-ink:#185777;--ticket-edge:#9cbfd2;transform:rotate(.7deg)}
.monthly-menu-photo{grid-column:1;grid-row:1/3;display:flex;align-items:center;align-self:stretch;border-right:1px dashed var(--ticket-edge);padding-right:8px;margin-right:0}
.monthly-menu-photo img{width:100%;height:auto;max-height:70px;object-fit:contain;background:#ffffff88;border-radius:4px}
.menu-shell .monthly-menu-offer h3{grid-column:2/4;grid-row:1;font:700 16px/1.5 var(--sans);color:var(--ticket-ink);margin:0;letter-spacing:0}
.menu-shell .monthly-menu-offer p{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:0;margin:0}
.menu-shell .monthly-menu-normal{font-size:10px;line-height:1.5;opacity:.8}
.menu-shell .monthly-menu-offer strong{font:700 32px/1.2 var(--sans);letter-spacing:-.035em;color:var(--ticket-ink)}
.menu-shell .monthly-menu-offer strong small{font-size:11px;margin-left:3px}
.menu-shell .monthly-menu-book{grid-column:3;grid-row:2;align-self:end;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;max-width:69px;margin:0;padding:4px 0 0;border:0;font:600 10px/1.5 var(--sans);color:var(--ticket-ink);text-align:center}
.monthly-menu-book b{display:grid;place-items:center;border-radius:50%;height:29px;width:29px;background:var(--ticket-ink);color:#fff5da;font-size:23px;line-height:1}
.monthly-menu-offer:before{content:"";position:absolute;left:68px;top:-6px;width:12px;height:12px;border-radius:50%;background:#115368;box-shadow:0 109px 0 #115368;pointer-events:none}
.monthly-menu-offer:after{content:"";position:absolute;inset:-20% -60%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 42%,#ffffff80 48%,transparent 54%);transform:translateX(-55%);animation:monthly-ticket-glint 8s ease-in-out infinite}
.monthly-menu-offer.monthly-body:after{animation-delay:1s}
.menu-shell .monthly-menu-offer:active{transform:translateY(3px) rotate(0) scale(.985);box-shadow:none}
.menu-shell .monthly-menu-note{color:#dfebe4;font-size:10px;line-height:1.6;margin:12px 0 0}
.monthly-menu-offer:focus-visible{outline:3px solid #f4d28f;outline-offset:4px}
@keyframes monthly-ticket-glint{0%,70%{transform:translateX(-55%)}88%,100%{transform:translateX(55%)}}
@media(hover:hover){.menu-shell .monthly-menu-offer:hover{transform:translateY(-2px) rotate(0);box-shadow:0 6px 0 #062f3b55}}
@media(max-width:359px){.menu-shell .monthly-menu-heading h2{font-size:21px}.menu-shell .monthly-menu-offer{grid-template-columns:48px minmax(0,1fr) auto;column-gap:8px;padding-inline:8px}.menu-shell .monthly-menu-offer h3{font-size:15px}.menu-shell .monthly-menu-offer strong{font-size:28px}.menu-shell .monthly-menu-book{font-size:9px;max-width:54px}.monthly-menu-offer:before{left:49px}.monthly-menu-photo{padding-right:6px}}
@media(prefers-reduced-motion:reduce){.monthly-menu-offer:after{animation:none;display:none}.menu-shell .monthly-menu-offer{transition:none;transform:none}}
.menu-shell #beauty .beauty-source-photo .beauty-needle-photo{display:block;width:100%;height:100px;background:#f7e4eb}
/* Explicit recommendations; regular 45-minute care remains available. */
.menu-shell .duration-tab{position:relative;padding-top:21px}
.menu-shell .duration-tab .course-recommend{position:absolute;top:3px;left:50%;transform:translateX(-50%);margin:0;padding:1px 6px;font-size:8px;line-height:1.5;white-space:nowrap}
.course-recommend{display:inline-block;vertical-align:middle;margin-left:7px;padding:2px 7px;border:1px solid #c7a46b;border-radius:3px;background:#f1deb3;color:#654b25;font:600 9px/1.5 var(--sans);letter-spacing:.025em}
html[lang=en] .menu-shell .duration-tab .course-recommend{font-size:7px;padding-inline:3px}
.menu-shell #beauty .beauty-source-photo .beauty-clean-photo{width:100%;height:88px;max-height:none;object-fit:cover;object-position:center;border-radius:4px}

/* Photo-free course list: keep the content in one full-width column. */
.menu-shell .care-focus .course-top{grid-template-columns:minmax(0,1fr);gap:0}

/* Compact the head/face course and add-on rows while retaining all booking choices. */
.menu-shell #course-head30{padding:9px 10px;margin:8px 0}
.menu-shell #course-head30 .course-top h3{font-size:16px;line-height:1.4;margin-bottom:3px}
.menu-shell #course-head30 .course-top p{font-size:12px;line-height:1.5}
.menu-shell #course-head30 .course-staff-links{gap:8px;margin-top:6px}
.menu-shell #course-head30 .course-staff-links .course-book{min-height:36px;padding:6px 5px;box-sizing:border-box}
.menu-shell #course-head30 .course-eligibility{font-size:11px;line-height:1.5;margin-top:6px}
.menu-shell #course-head30 .course-normal-links{font-size:11px;line-height:1.5;margin-top:5px}
.menu-shell #course-head30 .course-artwork{margin-top:7px}
.menu-shell #options-heading{margin:12px 0 6px;font-size:18px;padding-bottom:2px}
.menu-shell #options-heading+.course-eligibility{font-size:11px;line-height:1.5;margin:0 0 4px}
.menu-shell .course-list .course-option{padding:6px 0}
.menu-shell .course-list .course-option h4{font-size:14px;line-height:1.45}
.menu-shell .course-list .course-option strong{font-size:12px;line-height:1.45}
.menu-shell .course-list .course-option .course-staff-links{margin-top:5px;gap:8px}
.menu-shell .course-list .course-option .course-staff-links .course-book{min-height:36px;padding:6px 8px;box-sizing:border-box}

.menu-shell #course-head30 .course-purchase .course-staff-links{display:flex;flex-direction:column;gap:5px;margin:0;width:46%;max-width:180px}
.menu-shell #course-head30 .course-purchase .course-staff-links .course-book{flex:none;min-height:34px;padding:6px 8px}

/* Match the menu slide's gold CTA, keeping each course's existing destination. */
.menu-shell .course-list .course-purchase>.course-details-button{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:44px;min-width:0;max-width:185px;padding:7px 9px;border:1px solid #b28b41;border-radius:5px;background:linear-gradient(130deg,#f9e5ad,#e5c47d 65%,#f5dda2);box-shadow:inset 0 1px #fff9,0 3px 0 #8a6b32;color:#183d45;font:700 12px/1.4 var(--sans);text-align:left}
.menu-shell .course-details-button>span{flex:1;min-width:0;overflow-wrap:anywhere}
.menu-shell .course-details-button>b{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;background:var(--accent);color:#fff3d8;border-radius:50%;font:400 18px/1 var(--sans)}
.menu-shell .course-list .course-pricing .course-regular,
.menu-shell .course-list .family-course-standard s,
.menu-shell .showcase-regular s{ text-decoration-line:line-through;text-decoration-style:solid;text-decoration-thickness:1px}
@media(max-width:359px){.menu-shell .course-list .course-purchase>.course-details-button{max-width:155px;font-size:11px;padding-inline:7px;gap:5px}}
/* Price panel and full-width booking CTA follow the beauty menu layout. */
.menu-shell .course-list .menu-course .catalog-purchase{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:10px}
.catalog-offer{padding:9px 11px 10px;border:1px solid color-mix(in srgb,var(--accent) 25%,white);border-radius:5px;background:rgba(255,255,255,.65);color:#435b60}
.catalog-offer-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--accent) 20%,transparent);font-size:12px;line-height:1.5}
.catalog-standard a{color:inherit;text-decoration:none}
.catalog-standard s{text-decoration:line-through solid 1px}
.catalog-discount{padding:2px 8px;border-radius:2px;background:var(--accent);color:#fff;font-weight:700;font-size:13px;white-space:nowrap}
.catalog-offer-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px}
.menu-shell .catalog-offer-condition,.menu-shell .catalog-offer-condition .course-condition,.menu-shell .catalog-offer-condition .family-course-rate{font-size:11px;line-height:1.5;color:#435b60;margin:0}
.menu-shell .catalog-offer-bottom>p{margin:0;white-space:nowrap;color:var(--accent);font-size:13px;line-height:1.2}
.menu-shell .catalog-offer-bottom>p>strong{font:600 34px/1.1 var(--serif);letter-spacing:-.025em}
.menu-shell .catalog-offer-bottom>p>small{font-size:10px;color:#5e6d70}
.menu-shell .course-list .menu-course .catalog-purchase>.course-details-button{width:100%;max-width:none;box-sizing:border-box;min-height:44px;padding:10px 13px;border:1px solid #edcf8e;border-bottom:3px solid #99703c;background:linear-gradient(110deg,#fff0be,#dcb878 55%,#f5deb0);color:#412b32;border-radius:5px;box-shadow:inset 0 1px 0 #fff9e6,0 3px 0 #20131c66;font:700 14px/1.5 var(--sans);letter-spacing:.025em;text-align:left;transition:transform .15s,box-shadow .15s}
.menu-shell .catalog-purchase>.course-details-button>b{background:none;box-shadow:none;border-radius:0;color:inherit;width:20px;height:24px;flex-basis:20px;font:400 25px/1 var(--sans)}
@media(max-width:359px){.menu-shell .catalog-offer-bottom>p>strong{font-size:30px}.catalog-offer{padding-inline:9px}.menu-shell .course-list .menu-course .catalog-purchase>.course-details-button{font-size:13px}}

/* Slimmer price panels across the catalog and beauty menu. */
.menu-shell .catalog-offer{padding:6px 11px}
.menu-shell .catalog-offer-top{padding-bottom:4px;line-height:1.4}
.menu-shell .catalog-discount{padding:1px 7px;font-size:12px}
.menu-shell .catalog-offer-bottom{padding-top:5px}
.menu-shell .catalog-offer-bottom>p>strong{font-size:30px;line-height:1.05}
.menu-shell #beauty .treatment-copy .beauty-offer{padding:6px 11px}
.menu-shell #beauty .treatment-copy .beauty-offer-top{padding-bottom:4px}
.menu-shell #beauty .treatment-copy .menu-price{padding-top:5px}
.menu-shell #beauty .treatment-copy .menu-price strong{font-size:32px;line-height:1.05}
@media(max-width:359px){.menu-shell .catalog-offer-bottom>p>strong{font-size:28px}.menu-shell #beauty .treatment-copy .menu-price strong{font-size:30px}}

.menu-shell .course-list .menu-course .catalog-purchase>.course-details-button:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #fff9e6}
.menu-shell .course-list .menu-course .catalog-purchase>.course-details-button:focus-visible{outline:3px solid #fff4cd;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.menu-shell .course-list .menu-course .catalog-purchase>.course-details-button{transition:none}}

/* Gentle invitation to book: a slow highlight and a small arrow nudge. */
@media(prefers-reduced-motion:no-preference){
.menu-shell .catalog-purchase>.course-details-button,.menu-shell #beauty .menu-button{background-size:200% 100%;animation:bookingGoldGlow 5s ease-in-out infinite}
.menu-shell .catalog-purchase>.course-details-button>b,.menu-shell #beauty .menu-button>.icon,.menu-shell .insurance-first-button>span[aria-hidden]{animation:bookingArrowInvite 5s ease-in-out infinite}
.menu-shell .catalog-purchase>.course-details-button:hover,.menu-shell #beauty .menu-button:hover{filter:brightness(1.04)}
}
@keyframes bookingGoldGlow{0%,55%,100%{background-position:0% 50%}75%{background-position:100% 50%}}
@keyframes bookingArrowInvite{0%,60%,86%,100%{transform:translateX(0)}70%,78%{transform:translateX(3px)}}
