:root{--bg:#e9eee7;--paper:#f3f5f0;--ink:#24342d;--sage:#728375;--accent:#c87555;--light:#fbfcf9;--shadow:12px 12px 28px #c9cec7,-12px -12px 28px #fff;--inset:inset 4px 4px 9px #d4d9d2,inset -4px -4px 9px #fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.nav{height:88px;max-width:1280px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:'Playfair Display',serif;font-size:21px;letter-spacing:3px}.brand span{font:500 9px 'DM Sans';letter-spacing:2px;display:block;text-align:center;color:var(--sage)}nav{display:flex;gap:35px;font-size:13px}nav a:hover{color:var(--accent)}.btn{border:0;background:var(--ink);color:white;border-radius:14px;padding:17px 24px;font-weight:600;cursor:pointer;box-shadow:5px 5px 12px #bfc5be,-5px -5px 12px #fff;transition:.2s}.btn:hover{transform:translateY(-2px);background:#31473d}.btn-small{padding:12px 19px;font-size:12px}.menu{display:none;border:0;background:none;font-size:22px}.hero{max-width:1280px;min-height:650px;margin:20px auto 70px;padding:0 28px;display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:54px}.hero-copy{padding-left:35px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.6px;color:var(--sage)}h1,h2{font:600 clamp(48px,6vw,83px)/.98 'Playfair Display',serif;margin:20px 0 25px;letter-spacing:-2px}h1 em,h2 em{font-weight:500;color:var(--accent)}.lead{max-width:510px;font-size:17px;line-height:1.75;color:#5e6a63}.hero-actions{display:flex;align-items:center;gap:28px;margin:34px 0}.text-link{font-weight:700;border-bottom:1px solid;padding-bottom:3px;cursor:pointer}.trust{display:flex;align-items:center;gap:15px;margin-top:42px}.trust .faces{letter-spacing:-7px;color:var(--accent);font-size:23px}.trust b,.trust small{display:block}.trust b span{font-size:10px;color:#d39158}.trust small{font-size:10px;color:#758079;margin-top:4px}.hero-image{position:relative;height:590px;border-radius:180px 20px 180px 20px;padding:12px;background:var(--bg);box-shadow:var(--shadow)}.hero-image img{width:100%;height:100%;object-fit:cover;border-radius:170px 16px 170px 16px}.float-card{position:absolute;right:-20px;bottom:55px;background:rgba(243,245,240,.94);border-radius:18px;padding:16px 22px;display:flex;gap:13px;align-items:center;box-shadow:var(--shadow)}.float-card>span{background:#dfe7dc;border-radius:50%;padding:10px}.float-card b,.float-card small{display:block}.float-card small{font-size:10px;color:#68736d;margin-top:4px}.proof{background:var(--ink);color:white;padding:31px max(5vw,30px);display:flex;align-items:center;justify-content:center;gap:75px}.proof>p{font-size:10px;letter-spacing:2px;color:#b9c3bc;margin-right:auto}.proof div{display:flex;align-items:center;gap:13px}.proof b{font:600 30px 'Playfair Display'}.proof span{font-size:10px;color:#c2cac5;line-height:1.5}.section{max-width:1224px;margin:auto;padding:110px 28px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.section h2{font-size:58px;margin:15px 0}.section-head>p{max-width:410px;color:#67736c;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{padding:27px;border-radius:24px;background:var(--bg);box-shadow:var(--shadow);position:relative;transition:.25s}.service-card:hover{transform:translateY(-7px)}.service-card.featured{background:#e0e6df}.service-icon{font-size:25px;background:var(--paper);box-shadow:var(--inset);width:53px;height:53px;display:grid;place-items:center;border-radius:15px;margin-bottom:25px}.tag{font-size:9px;letter-spacing:1.6px;color:var(--accent);font-weight:700}.service-card h3{font:600 23px 'Playfair Display';margin:12px 0}.service-card p{font-size:12px;color:#68746d;line-height:1.65;min-height:60px}.service-meta{border-top:1px solid #d1d7d0;padding-top:17px;margin-top:20px;display:flex;justify-content:space-between}.service-meta span{font-size:11px;color:#78827c}.choose-service{border:0;background:none;padding:18px 0 0;font-weight:700;color:var(--ink);cursor:pointer}.setup{grid-column:1/-1;padding:40px;text-align:center;background:#f6e5dc;border-radius:20px}.why{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.why-card{padding:50px;border-radius:35px;background:var(--paper);box-shadow:var(--shadow)}.why-card>p:not(.eyebrow){line-height:1.7;color:#66716b}.why ul{list-style:none;padding:0;margin-top:35px}.why li{display:flex;gap:20px;padding:18px 0;border-top:1px solid #d7dcd5}.why li>span{color:var(--accent);font:italic 16px 'Playfair Display'}.why li b,.why li small{display:block}.why li small{color:#758078;margin-top:5px}.why blockquote{font:italic 40px/1.35 'Playfair Display';color:#53655b}.why cite{font:600 11px 'DM Sans';display:block;margin-top:25px;letter-spacing:1px}.reviews{text-align:center}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:45px}.review-grid article{text-align:left;padding:30px;border-radius:22px;background:var(--bg);box-shadow:var(--shadow)}.review-grid article>div{color:#c8825e;font-size:12px;letter-spacing:3px}.review-grid p{font:italic 18px/1.6 'Playfair Display'}.review-grid b,.review-grid small{display:block;font-size:11px}.review-grid small{color:#7b867f;margin-top:5px}.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.booking-intro>p{line-height:1.7;color:#65716a}.promise{display:flex;gap:15px;margin-top:25px}.promise>span{background:#d9e3d8;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.promise b,.promise small{display:block}.promise small{font-size:11px;color:#748078;margin-top:4px}.booking-card{background:var(--paper);border-radius:30px;padding:40px;box-shadow:var(--shadow);min-height:470px}.steps{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.steps span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--bg);box-shadow:var(--inset);font-size:11px;position:relative}.steps span i{position:absolute;top:37px;font-style:normal;font-size:8px;color:#839087}.steps span.active{background:var(--ink);color:#fff;box-shadow:none}.steps b{height:1px;background:#cdd3cc;flex:1;margin:0 12px}.form-step{display:none}.form-step.active{display:block}.form-step h3,.success h3{font:600 25px 'Playfair Display';margin:45px 0 24px}.booking-card label{display:block;font-size:11px;font-weight:700;margin:16px 0}.booking-card label small{font-weight:400;color:#7d8881}.booking-card input,.booking-card select,.booking-card textarea{display:block;width:100%;border:0;background:var(--bg);box-shadow:var(--inset);border-radius:12px;padding:14px;margin-top:8px;color:var(--ink);outline:none}.booking-card textarea{height:75px;resize:none}.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus{outline:2px solid #aebdaf}.booking-card .btn{width:100%;margin-top:15px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;align-items:center;gap:20px}.form-actions .back{border:0;background:none;cursor:pointer}.slot-note,.fine{font-size:10px;color:#7d8981}.success{text-align:center;padding:35px}.success-icon{margin:auto;width:70px;height:70px;display:grid;place-items:center;background:#dae8d9;color:#45634f;border-radius:50%;font-size:30px;box-shadow:var(--shadow)}.form-error{color:#a84536;font-size:12px;text-align:center}.booking-card.loading{opacity:.7;pointer-events:none}footer{padding:45px max(5vw,28px);background:#dfe5de;display:flex;align-items:center;gap:55px}footer p{margin-right:auto;color:#68736c}footer>div{display:flex;gap:24px;font-size:11px}footer>small{font-size:9px}.admin{max-width:1100px;margin:50px auto;padding:25px}.admin table{width:100%;border-collapse:collapse;background:var(--paper);box-shadow:var(--shadow);border-radius:15px;overflow:hidden}.admin th,.admin td{text-align:left;padding:15px;border-bottom:1px solid #d8ddd7;font-size:12px}.status{padding:5px 9px;border-radius:10px;background:#dce9da}
@media(max-width:900px){.nav nav,.nav>.btn{display:none}.menu{display:block}.hero{grid-template-columns:1fr;margin-top:15px}.hero-copy{padding:20px 0}.hero-image{height:480px}.proof{gap:25px;flex-wrap:wrap}.proof>p{width:100%;margin:0;text-align:center}.service-grid{grid-template-columns:1fr 1fr}.why,.booking{grid-template-columns:1fr}.section{padding:80px 24px}.section-head{display:block}.review-grid{grid-template-columns:1fr}.booking{gap:35px}footer{flex-wrap:wrap}}@media(max-width:560px){.nav{height:70px;padding:0 20px}.hero{padding:0 20px;gap:30px}.hero h1{font-size:52px}.hero-image{height:390px;border-radius:100px 18px}.hero-image img{border-radius:92px 14px}.float-card{right:0;bottom:25px}.proof div{width:42%}.service-grid{grid-template-columns:1fr}.section h2{font-size:43px}.why-card,.booking-card{padding:26px}.why blockquote{font-size:30px}.two-col{grid-template-columns:1fr}.booking-card{min-height:520px}footer{display:block}footer p{margin:18px 0}footer>div{margin:20px 0}}

/* M Skin brand palette derived from the supplied logo. */
:root{--bg:#ead8cd;--paper:#f8f3e9;--ink:#74483c;--sage:#967366;--accent:#b77d68;--light:#fffaf1;--shadow:12px 12px 28px #cdb8ad,-12px -12px 28px #fff3e9;--inset:inset 4px 4px 9px #d7c5bb,inset -4px -4px 9px #fff6ed}
.nav{height:104px}.brand{display:inline-flex;align-items:center;flex:0 0 auto;font:inherit;letter-spacing:0}.brand img{display:block;width:84px;height:84px;object-fit:cover;border-radius:50%;border:1px solid rgba(116,72,60,.28);box-shadow:0 5px 14px rgba(116,72,60,.14)}
.btn{box-shadow:5px 5px 12px #c8b2a7,-5px -5px 12px #fff2e7}.btn:hover{background:#8a594b}.lead,.section-head>p,.service-card p,.why-card>p:not(.eyebrow),.booking-intro>p{color:#80685f}.float-card{background:rgba(248,243,233,.94)}.float-card>span,.promise>span{background:#dfc8bb}.proof span{color:#ead8cd}.service-card.featured{background:#e2c9bc}.success-icon{background:#e4cfc3;color:#74483c}footer{background:#dfc9bd}
@media(max-width:560px){.nav{height:82px}.brand img{width:62px;height:62px}footer .brand img{width:72px;height:72px}}

/* Readability improvements for descriptive content. */
.lead{font-size:18px;line-height:1.75}
.section-head>p,.why-card>p:not(.eyebrow),.booking-intro>p{font-size:16px;line-height:1.75}
.service-card p{font-size:14px;line-height:1.7;min-height:72px}
.review-grid p{font-size:16px;line-height:1.65}
.slot-note,.fine{font-size:12px;line-height:1.6}
footer p{font-size:15px;line-height:1.6}
@media(max-width:560px){.lead{font-size:17px}.section-head>p,.why-card>p:not(.eyebrow),.booking-intro>p,.review-grid p{font-size:15px}.service-card p{font-size:14px;min-height:0}}

p{font-size:16px!important}
header.nav nav{font-size:16px}
.trust b{font-size:20px}.trust small{font-size:16px;line-height:1.5}
.proof span{font-size:16px;line-height:1.5}
.tag{font-size:16px}
.service-meta span{font-size:16px}
.why li small,.why cite,.review-grid article>div,.review-grid b,.review-grid small{font-size:16px;line-height:1.55}
.review-grid article p:nth-of-type(2){font-size:20px!important}
#more-services .review-grid{align-items:stretch}#more-services .review-grid article{display:flex;flex-direction:column;height:100%}#more-services .review-grid article>small{margin-top:auto;padding-top:20px}
.promise small,.steps span i{font-size:16px;line-height:1.5}
.booking-card label,.booking-card label small,footer>div,footer>small{font-size:16px;line-height:1.5}
.why blockquote{min-height:600px;margin:0;padding:52px;border-radius:36px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(180deg,rgba(70,39,31,.04) 30%,rgba(70,39,31,.82) 100%),url('images/mskin-philosophy-bg.png') center/cover no-repeat;box-shadow:var(--shadow);text-shadow:0 2px 12px rgba(44,24,19,.4)}
.why blockquote cite{color:#fff}
.why{align-items:stretch}.why-card{height:100%}.why blockquote{min-height:0;height:100%}
@media(max-width:560px){.why blockquote{min-height:480px;padding:32px;border-radius:28px;background-position:48% center}}
.mobile-book{display:none}
@media(max-width:900px){.nav{position:relative;z-index:999}.nav nav{display:none;position:absolute;z-index:1000;top:calc(100% - 6px);left:20px;right:20px;flex-direction:column;gap:0;padding:12px;background:var(--paper);border:1px solid rgba(116,72,60,.12);border-radius:18px;box-shadow:0 18px 38px rgba(87,53,44,.22)}.nav.open nav,.nav:focus-within nav,.nav:hover nav{display:flex}.nav nav a{display:block;padding:14px 16px;border-radius:10px;font-size:16px}.nav nav a:hover{background:var(--bg)}.nav nav .mobile-book{display:block;margin-top:6px;background:var(--ink);color:#fff;text-align:center;font-weight:700}.menu{position:relative;z-index:1001;width:46px;height:46px;padding:0;display:grid;place-items:center;border-radius:12px;cursor:pointer;color:var(--ink);touch-action:manipulation}.menu:hover,.menu:focus-visible{background:rgba(116,72,60,.1);outline:2px solid rgba(116,72,60,.35);outline-offset:2px}.menu span{font-size:28px;line-height:1}.nav.open .menu span{font-size:0}.nav.open .menu span::after{content:'×';font-size:34px;font-weight:300}}
@media(max-width:560px){footer{display:grid;grid-template-columns:1fr;padding:40px 28px;gap:20px}footer .brand{justify-self:start}footer p{margin:0;max-width:290px}footer>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:2px -10px}footer>div a{display:flex;align-items:center;min-height:48px;padding:10px;border-radius:10px;overflow-wrap:anywhere}footer>div a:hover{background:rgba(116,72,60,.08)}footer>div a[href^="tel:"]{white-space:nowrap}footer>small{display:block;margin-top:4px}}
.float-card small{font-size:16px}
.nav .btn-small{font-size:16px}
footer{flex-wrap:wrap;column-gap:55px;row-gap:10px;padding-top:45px;padding-bottom:45px}footer>small{flex-basis:100%;text-align:center}footer>small a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){footer{gap:20px;padding-top:40px;padding-bottom:40px}}
.footer-intro,.footer-links{display:flex;align-items:center;justify-content:center}.footer-intro{flex-direction:column;gap:14px}.footer-intro p{margin:0;text-align:center}.footer-links{flex-wrap:wrap;gap:24px;font-size:16px}footer{flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}footer>small{flex-basis:auto}
@media(max-width:560px){footer{display:flex;gap:20px}.footer-intro{display:flex}.footer-links{display:flex;gap:8px 18px;margin:0}.footer-links a{min-height:auto;padding:6px}.footer-intro .brand{justify-self:center}}
.footer-intro p{font-size:20px!important;font-weight:700;color:#74483d}footer>small{font-style:italic}
@media(max-width:900px){.hero-image{order:-1}}
.legal-page{max-width:900px;margin:40px auto 90px;padding:55px;border-radius:30px;background:var(--paper);box-shadow:var(--shadow)}.legal-page h1{font-size:52px;margin-top:0}.legal-page h2{font-size:27px;letter-spacing:0;line-height:1.2;margin:38px 0 12px}.legal-page p,.legal-page li{color:#685b55;line-height:1.75}.legal-page .updated{font-size:14px;color:var(--sage)}.legal-page a{text-decoration:underline;text-underline-offset:3px}@media(max-width:560px){.legal-page{margin:25px 20px 60px;padding:30px 24px}.legal-page h1{font-size:40px}.legal-page h2{font-size:24px}}
@media(max-width:560px){.proof{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:28px 18px}.proof>p{width:100%;margin:0 0 4px;text-align:center}.proof div{width:100%;display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:10px}.proof b{font-size:25px;line-height:1;text-align:right;white-space:nowrap}.proof span{font-size:13px;line-height:1.35;white-space:normal;text-align:left}.proof div:last-child b{font-size:23px}}

button,.btn,.btn-small{font-size:16px}

/* Visually separate the philosophy section from neighboring content. */
.why.section{
  max-width:none;
  padding-left:max(28px,calc((100vw - 1168px)/2));
  padding-right:max(28px,calc((100vw - 1168px)/2));
  background:#e2c9bd;
  border-top:1px solid rgba(116,72,60,.1);
  border-bottom:1px solid rgba(116,72,60,.1);
}
@media(max-width:560px){.why.section{padding-left:24px;padding-right:24px}}

.booking.section{
  max-width:none;
  padding-left:max(28px,calc((100vw - 1168px)/2));
  padding-right:max(28px,calc((100vw - 1168px)/2));
  background:#f0ded4;
  border-top:1px solid rgba(116,72,60,.1);
  border-bottom:1px solid rgba(116,72,60,.1);
}
@media(max-width:560px){.booking.section{padding-left:24px;padding-right:24px}}
