@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#342b28;--muted:#7e8279;--paper:#f5f1eb;--line:rgba(52,43,40,.14);--accent:#462d28;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
.home-screen{min-height:100svh;padding:0 clamp(20px,5vw,76px);display:flex;flex-direction:column}.masthead,.menu-header{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center}.brand-logo{display:block;width:132px;height:auto}.masthead-note,.eyebrow,.home-footer,.price-legend,.menu-footer{font-size:9px;letter-spacing:.18em;font-weight:600}.masthead-note{color:var(--muted)}
.welcome{text-align:center;padding:clamp(32px,5vh,55px) 0 29px}.eyebrow{color:#8d806e;margin:0 0 13px}.welcome h1,.menu-intro h1{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:0;font-size:clamp(36px,5vw,60px)}.welcome h1 em{font-weight:500;color:var(--accent)}.welcome>p:last-child{font-size:12px;color:var(--muted);margin:15px 0 0}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;flex:1;min-height:270px;max-height:490px}.category-card{position:relative;overflow:hidden;isolation:isolate;min-height:270px;background:var(--tone);color:#fff;display:flex;align-items:flex-end;padding:clamp(18px,2.8vw,34px);cursor:pointer;transition:transform .35s ease}.category-card::before,.category-card::after{content:"";position:absolute;inset:0;z-index:-1}.category-card::before{background:var(--art),linear-gradient(150deg,var(--tone2),var(--tone));background-position:center;background-size:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.category-card::after{background:linear-gradient(0deg,rgba(17,28,23,.72),rgba(17,28,23,.04) 75%)}.category-card:hover::before{transform:scale(1.045)}.category-copy{position:relative}.category-index{display:block;font-size:9px;letter-spacing:.22em;opacity:.75;margin-bottom:9px}.category-card h2{font-size:clamp(19px,2.2vw,27px);font-weight:500;letter-spacing:.09em;margin:0}.category-card p{font-size:10px;letter-spacing:.11em;opacity:.8;margin:8px 0 0}.category-arrow{position:absolute;right:22px;bottom:26px;font-size:20px;font-weight:300;opacity:.85}.home-footer{display:flex;justify-content:space-between;color:#96968e;padding:18px 0 22px;font-size:8px}
/* Category photos are stored locally in images/ and included in the cPanel package. */
.art-body{--tone:#51423e;--tone2:#897569;--art:url('images/body_plus.jpg')}.art-face{--tone:#625e55;--tone2:#958578;--art:url('images/face_plus.jpg')}.art-exercise{--tone:#493833;--tone2:#87695e;--art:url('images/exercise_plus.jpg')}
.menu-screen{min-height:100svh;padding:0 clamp(20px,6vw,92px)}.menu-header{max-width:1180px;margin:auto}.back-button{border:0;background:none;cursor:pointer;color:#70776e;font-size:11px}.back-button span{font-size:16px;vertical-align:-1px;margin-right:7px}.menu-intro{max-width:1180px;margin:0 auto;padding:clamp(40px,8vh,83px) 0 44px;border-bottom:1px solid var(--line)}.menu-intro h1{font-size:clamp(37px,6vw,66px);text-transform:uppercase}.menu-intro>p:last-child{color:var(--muted);font-size:13px;margin:15px 0 0}.menu-content{max-width:980px;margin:0 auto}.price-legend{display:flex;justify-content:space-between;color:#898b82;padding:23px 0 11px;font-size:8px}.service-list{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line)}.service summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 4px;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-name{font-family:var(--serif);font-size:clamp(16px,2vw,21px);font-weight:500}.service-meta{font:10px var(--sans);color:var(--muted);margin-left:10px;white-space:nowrap}.service-toggle{font-size:19px;color:var(--accent);transition:transform .2s}.service[open] .service-toggle{transform:rotate(45deg)}.price-table{width:100%;border-collapse:collapse;margin:0 0 19px}.price-table th{text-align:left;font-size:8px;letter-spacing:.12em;color:#92948b;font-weight:600;padding:0 4px 10px}.price-table td{border-top:1px solid rgba(52,43,40,.08);padding:11px 4px;font-size:12px}.price-table th:not(:first-child),.price-table td:not(:first-child){text-align:right}.price-table td:nth-child(2){font-weight:600;color:var(--accent)}.price-table td:nth-child(3){color:#72796f}.price-note{text-align:center;color:#95958d;font-size:10px;padding:20px 0 65px}.menu-footer{border-top:1px solid var(--line);max-width:1180px;margin:0 auto;padding:18px 0 24px;color:#93948b;display:flex;justify-content:space-between}.menu-footer button{background:none;border:0;color:var(--accent);font:inherit;letter-spacing:.1em;cursor:pointer}
@media(max-width:700px){.home-screen{padding:0 18px}.masthead,.menu-header{height:60px}.masthead-note{font-size:8px}.welcome{padding:30px 0 22px}.welcome h1{font-size:39px}.welcome>p:last-child{font-size:11px;max-width:280px;margin:12px auto 0;line-height:1.6}.category-grid{display:flex;flex-direction:column;max-height:none;min-height:0;gap:9px}.category-card{flex:1;min-height:155px;padding:19px}.category-card h2{font-size:21px}.category-card p{font-size:9px}.category-arrow{right:19px;bottom:20px}.home-footer{padding:15px 0 17px}.menu-screen{padding:0 20px}.menu-intro{padding:44px 0 31px}.menu-intro h1{font-size:38px}.menu-intro>p:last-child{font-size:12px;line-height:1.6}.price-legend{font-size:7px;letter-spacing:.12em}.service summary{padding:17px 2px;align-items:flex-start}.service-name{font-size:17px}.service-meta{display:block;margin:5px 0 0;font-size:9px}.service-toggle{padding:2px}.price-table th{font-size:7px;letter-spacing:.06em}.price-table td{font-size:11px;padding:10px 3px}.price-table th:first-child,.price-table td:first-child{width:29%}.price-note{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
