/* Beauty & Skin — no CSS framework required */
:root{--cream:#f8f6f1;--paper:#f0eee6;--brown:#302c29;--muted:#79746e;--sage:#7d8472;--olive:#4e5745;--line:#e6e0d5}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{margin:0;background:var(--cream);color:var(--brown);font:400 14px/1.6 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--sage);outline-offset:4px}
img{display:block;width:100%;height:100%;object-fit:cover}
[hidden]{display:none!important}
h1,h2,h3,p{overflow-wrap:break-word}
.shell{width:100%;max-width:1130px;margin:0 auto;padding-inline:38px}
.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;color:var(--sage);text-transform:uppercase}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}
h1 em,h2 em{font-weight:400;color:var(--sage)}
h2{font-size:clamp(32px,3.5vw,49px);line-height:1.17;letter-spacing:-1px;margin:12px 0}
.skip-link{position:absolute;z-index:100;top:-80px;left:10px;background:#fff;color:#302c29;padding:10px 16px}.skip-link:focus{top:10px}
.demo-strip{background:#393a32;color:#f3eee3;text-align:center;font-size:9px;letter-spacing:1.7px;padding:9px 12px;font-weight:600}.demo-strip span{margin:0 11px;color:#bbb9a9}
.header{background:var(--cream);position:relative;z-index:20}
.nav{height:79px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}
.brand-mark{height:35px;width:35px;border:1px solid #8f897d;border-radius:50%;display:grid;place-items:center;font:italic 17px Georgia,serif}
.brand-words{font-size:15px;line-height:1.05;letter-spacing:1.6px;font-weight:600}.brand-words small{display:block;font-size:7px;letter-spacing:3.2px;font-weight:500;margin-top:6px}
.nav-links{display:flex;gap:27px;font-size:11px;align-items:center;color:#5e5953}.nav-links a:hover,.footer-links a:hover{color:var(--sage)}
.nav-cta{font-size:11px;border:1px solid #48443c;background:transparent;color:var(--brown);padding:12px 18px;white-space:nowrap;transition:background .2s,color .2s}.nav-cta:hover{background:#302c29;color:#fff}
.menu-toggle{display:none;background:none;border:0;color:#39352f;font-size:25px;line-height:1}
.hero{background:#ede9df;display:grid;grid-template-columns:51% 49%;min-height:520px}
.hero-copy{padding:75px 25px 60px max(38px,calc((100vw - 1130px)/2 + 38px));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
h1{font-size:clamp(40px,4.5vw,66px);line-height:1.16;letter-spacing:-2.5px;margin:23px 0}
.hero-copy>p{max-width:365px;color:#6b665f;font-size:13px;line-height:1.95;margin:0 0 28px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:14px 22px;font-size:11px;font-weight:600;min-height:44px;transition:background .2s,color .2s}
.btn-dark{background:#42493a;border:1px solid #42493a;color:#fff}.btn-dark:hover{background:#65705b;border-color:#65705b}
.btn-underline{display:inline-flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #7a776f;background:none;color:#4b473f;padding:12px 5px;font-size:11px;font-weight:600}
.hero-index{font-size:10px;letter-spacing:2.5px;margin-top:28px;color:#858075}
.hero-photo{position:relative;min-height:520px;overflow:hidden;background:#d3c3b3}.hero-photo>img{position:absolute;inset:0;object-position:center 43%;filter:saturate(.72) contrast(.96)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(31,22,12,.18),transparent 55%);pointer-events:none}
.hero-caption{position:absolute;left:27px;bottom:29px;z-index:1;color:#fff;font-size:10px;letter-spacing:1.6px;text-transform:uppercase}
.seal{position:absolute;right:26px;top:26px;z-index:1;border:1px solid rgba(255,255,255,.88);background:rgba(244,241,233,.9);border-radius:50%;height:91px;width:91px;display:flex;align-items:center;justify-content:center;text-align:center;color:#595b4e;font:italic 15px/1.3 Georgia,serif;transform:rotate(11deg)}
.values{background:var(--cream);border-bottom:1px solid var(--line)}.values-inner{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding-top:24px;padding-bottom:24px;gap:12px}.value{font-size:10px;letter-spacing:1.7px;font-weight:600;color:#77766d;display:flex;align-items:center;justify-content:center;gap:13px}.value span{color:#b1aa9b;font:normal 18px Georgia,serif}
.section{padding:85px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:31px}.section-intro{font-size:12px;color:#77716b;line-height:1.8;max-width:325px;margin:9px 0 0}.text-link{border-bottom:1px solid #8d8a80;font-size:11px;padding:9px 0;color:#3c4235;white-space:nowrap}
.treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.treatment-card{min-width:0}.treatment-image{aspect-ratio:1/1.12;overflow:hidden;position:relative;background:#e1d6c8}.treatment-image img{transition:transform .45s ease;filter:saturate(.78)}.treatment-card:hover img{transform:scale(1.045)}.number{position:absolute;top:13px;left:13px;border-radius:50%;height:30px;width:30px;display:grid;place-items:center;background:var(--cream);color:#5e5c53;font-size:10px}.treatment-label{font-size:9px;letter-spacing:1.6px;color:#898578;text-transform:uppercase;margin-top:18px}.treatment-card h3{font-size:25px;margin:5px 0 7px}.treatment-card p{color:#746f69;font-size:11px;line-height:1.75;min-height:40px;margin:0 0 12px}.mini-link{border:0;background:none;padding:4px 0;color:#4a5340;font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.skin-finder{background:#e8e9df;padding:73px 0}.finder-layout{display:grid;grid-template-columns:1fr 1.04fr;gap:55px;align-items:center}.skin-finder p{color:#75766b;line-height:1.9;font-size:12px;max-width:360px}.concerns{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.concern{border:1px solid #aeb3a6;border-radius:100px;padding:10px 17px;background:transparent;color:#505747;font-size:11px;transition:background .2s,color .2s}.concern[aria-pressed=true]{background:#4d5744;border-color:#4d5744;color:white}.concern:hover:not([aria-pressed=true]){background:#f5f6ee}
.result-card{background:var(--cream);padding:34px;min-height:290px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative}.result-card::before{content:"✳";position:absolute;right:29px;top:16px;color:#9ea58e;font:34px Georgia,serif}.result-card h3{font-size:35px;margin:14px 0 8px}.result-card p{max-width:380px;margin:0 0 17px}.demo-note{font-size:9px;color:#8d8a7c;letter-spacing:.3px;margin-top:18px}
.studio{display:grid;grid-template-columns:1fr 1fr;background:#e9dfd4;min-height:465px}.studio-visual{min-height:465px;background:#d0c1b4}.studio-visual img{filter:saturate(.68)}.studio-content{padding:65px 12% 55px;display:flex;flex-direction:column;justify-content:center}.studio-content p{font-size:12px;color:#70685e;line-height:1.95;max-width:390px}.studio-steps{margin-top:20px}.studio-step{display:flex;gap:14px;border-top:1px solid #cec2b4;padding:13px 0;font-size:12px}.studio-step b{font-size:10px;color:#81786d;letter-spacing:1px;font-weight:500;min-width:23px}.studio-step span{font-weight:600}
.faq-layout{display:grid;grid-template-columns:40% 60%;gap:22px}.faq-items{border-top:1px solid var(--line)}.faq-items details{border-bottom:1px solid var(--line);padding:20px 0}.faq-items summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;font-weight:600}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary::after{content:'+';font-size:23px;font-weight:400;color:var(--sage)}.faq-items details[open] summary::after{content:'−'}.faq-items details p{color:#77716a;font-size:12px;max-width:510px;line-height:1.8;margin:13px 20px 0 0}
.last-cta{background:#40483b;color:#f5f1e9;text-align:center;padding:75px 30px}.last-cta .eyebrow{color:#d5d9c5}.last-cta h2{font-size:clamp(37px,4.3vw,61px);margin:15px 0}.last-cta h2 em{color:#d2d5b8}.last-cta p{font-size:12px;color:#d2d6c8;margin-bottom:28px}.btn-light{border:1px solid #f5f1e9;background:#f5f1e9;color:#414a3e}.btn-light:hover{background:transparent;color:#fff}
.footer{background:#e9e5dc;padding:37px 0 25px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-note{font-size:10px;color:#8c857b;line-height:1.65}.footer-links{display:flex;gap:19px;font-size:10px;color:#57554d}.copyright{border-top:1px solid #dcd5c9;margin-top:30px;padding-top:16px;font-size:9px;color:#8b8479;display:flex;justify-content:space-between;gap:12px}
#enquiry-dialog{border:0;border-radius:0;outline:none;padding:0;width:min(480px,calc(100% - 26px));max-height:90vh;color:var(--brown);background:var(--cream);box-shadow:0 28px 85px #151a132e}#enquiry-dialog::backdrop{background:rgba(28,31,26,.7)}.modal-body{padding:29px;overflow:auto;max-height:90vh}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.modal-head h2{font-size:32px;margin:5px 0 10px}.close-dialog{font-size:24px;background:none;border:0;line-height:1;padding:4px 8px}.modal-body>p{font-size:11px;color:#77716a;line-height:1.7}.form-stack{display:grid;gap:12px;margin-top:17px}.form-stack label{display:grid;gap:5px;font-size:10px;font-weight:600;color:#56544e}.form-stack input,.form-stack select,.form-stack textarea{width:100%;border:1px solid #d6d0c5;border-radius:0;padding:11px 10px;background:#fff;color:var(--brown);font-size:12px}.form-stack textarea{height:66px;resize:vertical}.form-stack .btn{width:100%;margin-top:7px}.modal-success{background:#e7ecdf;padding:16px;margin-top:17px;font-size:12px;color:#485440}
@media(max-width:950px){.nav-links{gap:14px}.hero-copy{padding-left:38px}.studio-content{padding-inline:8%}}
@media(max-width:750px){.shell{padding-inline:23px}.nav{height:66px}.nav-links{display:none;position:absolute;left:0;right:0;top:66px;background:var(--cream);z-index:10;padding:20px 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:17px;box-shadow:0 13px 18px #00000012}.nav-links.is-open{display:flex}.nav-cta{margin-left:auto;padding:10px}.menu-toggle{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:54px 24px 48px}.hero-photo{min-height:370px;max-height:440px}.hero-photo>img{object-position:center 42%}h1{font-size:clamp(39px,8vw,57px)}.values-inner{gap:6px}.value{font-size:9px;letter-spacing:.7px;gap:5px}.section{padding:60px 0}.skin-finder{padding:55px 0}.finder-layout{gap:25px;grid-template-columns:1fr}.studio-content{padding:47px 27px}.faq-layout{grid-template-columns:1fr;gap:13px}.section-head{align-items:flex-start}}
@media(max-width:550px){.demo-strip{font-size:8px;letter-spacing:.8px}.demo-strip span{margin-inline:3px}.brand-words{font-size:13px}.nav-cta{display:none}.treatment-grid{grid-template-columns:1fr;gap:26px}.treatment-image{aspect-ratio:1/0.85}.treatment-card p{min-height:0}.section-head{flex-direction:column;gap:5px}.values-inner{grid-template-columns:1fr 1fr;gap:13px}.value:last-child{grid-column:1/-1}.studio{grid-template-columns:1fr}.studio-visual{min-height:280px;height:280px}.footer-inner{flex-direction:column;align-items:flex-start}.footer-links{flex-wrap:wrap}.result-card{padding:25px}.result-card h3{font-size:29px}.copyright{flex-direction:column}.seal{width:75px;height:75px;font-size:13px;top:16px;right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
