:root{--blue:#0068f5;--deep:#075db0;--ink:#202530}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;background:#fff}header{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:13px 4%;background:#ffffffef;position:sticky;top:0;z-index:5;box-shadow:0 1px 12px #2334450a}.brand{text-decoration:none;color:inherit;font-size:clamp(17px,2vw,25px);white-space:nowrap}.brand small{display:block;color:var(--deep);font-size:16px;font-style:italic;text-align:center;margin-top:3px}nav{display:flex;gap:22px}a{color:inherit}nav a{text-decoration:none;font-size:15px}nav a:hover{color:var(--blue)}button,input,select,textarea,.button,.outline{font-family:Arial,sans-serif;font-size:14px}.button,.outline{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;border-radius:3px;padding:13px 20px;cursor:pointer;letter-spacing:.2px}.button{background:var(--deep);color:#fff;border:1px solid var(--deep);box-shadow:0 3px 8px #075db017}.button:hover{background:#004c99}.outline{color:var(--blue);border:1px solid var(--blue);background:#fff}.outline:hover{background:#edf6ff}a:focus-visible,button:focus-visible{outline:3px solid #7cb4ff;outline-offset:4px}.hero{position:relative;max-width:1500px;margin:auto}.hero img{display:block;width:100%}.hero-book,.hero-services{position:absolute;top:57.2%;height:8.6%;color:transparent;text-decoration:none;border-radius:4px}.hero-book{left:33.8%;width:19.5%}.hero-services{left:54.8%;width:13.6%}.hero-book:hover,.hero-services:hover{box-shadow:0 0 0 3px #80b6ff}.section{max-width:1400px;margin:auto;padding:24px 3% 30px}h1,h2{font-weight:400;margin:0;color:var(--blue)}h1{font-size:30px}h2{font-size:26px}.lined{text-align:center;letter-spacing:1px}.lined:before,.lined:after{content:'';display:inline-block;width:55px;height:1px;background:var(--blue);vertical-align:middle;margin:0 15px}.intro{text-align:center;font-style:italic;font-size:20px;margin:8px 0 22px;color:#24477a}.services{display:grid;grid-template-columns:1fr 1fr;gap:26px}.service{display:flex;border:1px solid #e5eaf0;border-radius:5px;overflow:hidden;background:linear-gradient(120deg,#fff,#f5f6f7)}.service>img{width:43%;object-fit:cover}.service>div{padding:25px 20px}.service h2{font-size:25px;white-space:nowrap}.service ul{padding-left:24px;font-size:20px;line-height:1.65;margin:10px 0 19px}.service li::marker{color:var(--blue)}.service .outline{padding:11px;font-size:12px}.products{max-width:1500px;margin:auto;display:grid;grid-template-columns:44% 56%;align-items:center;background:#fafaf8}.products>div{padding:28px;text-align:center}.products>img{width:100%;height:100%;object-fit:cover}.products .lined{font-size:26px}.products .lined:before,.products .lined:after{display:none}.dermalogica{font-family:Arial,sans-serif;font-size:clamp(30px,4vw,55px);letter-spacing:-2px;font-weight:bold;margin:17px 0 0}.dermalogica sup{font-size:15px;vertical-align:top;letter-spacing:0}.eyebrow{letter-spacing:4px;font-size:14px;margin-top:0}.tagline{font-size:25px;color:var(--blue);font-style:italic;margin:17px 0}.products p:not(.dermalogica):not(.eyebrow):not(.tagline){font-size:18px;line-height:1.5;max-width:360px;margin:15px auto}.benefits{padding:19px 5%;display:flex;justify-content:space-around;gap:20px;background:#e1f2ff;font-size:13px;letter-spacing:.6px}.booking{display:grid;grid-template-columns:1fr .83fr 1.05fr;gap:30px;padding-top:30px;align-items:start}.salon img{width:100%;border-radius:4px}.salon h2{font-size:25px;margin-top:20px}.salon p{font-size:17px;line-height:1.6}.contact{text-align:center;padding-top:20px}.contact h2{font-size:27px;color:var(--ink)}.contact .lined:before,.contact .lined:after{display:none}.contact>a:not(.outline){font-size:22px;text-decoration:none}.contact p{font-size:18px;line-height:1.5}.contact .muted{font-size:16px;color:#657080}form{background:#f7f8fa;border:1px solid #e3e8ef;border-radius:5px;padding:22px;scroll-margin-top:100px}form h2{font-size:21px;letter-spacing:.7px}.form-note{font-family:Arial,sans-serif;font-size:13px;color:#59687a;line-height:1.5}label{display:block;font-family:Arial,sans-serif;font-size:12px;margin:15px 0 7px;color:#34465f}label span{color:#637184}input,select,textarea{width:100%;border:1px solid #d2dbe7;background:#fff;padding:11px;border-radius:3px;color:#263346;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #95c1ff;border-color:#0068f5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}form .button{width:100%;font-size:12px}.privacy{font-family:Arial,sans-serif;color:#667486;font-size:11px;line-height:1.5}#result{border-top:1px solid #d4dfed;margin-top:22px;padding-top:10px;font-family:Arial,sans-serif;font-size:13px;line-height:1.5}#result h3{color:var(--deep)}#result .button{margin:10px 0}#copy{width:100%;font-size:12px}footer{background:linear-gradient(120deg,#0063b9,#04529c);padding:30px 4%;color:white}footer>div{display:flex;justify-content:space-between;align-items:center;gap:25px}footer .brand small{color:white}footer>p{text-align:center;border-top:1px solid #ffffff55;padding-top:22px;font-style:italic;margin-bottom:0}footer a{text-decoration:none}@media(min-width:1500px){header{padding-left:calc((100% - 1380px)/2);padding-right:calc((100% - 1380px)/2)}}@media(max-width:1100px){nav{gap:12px}header{gap:15px}.service h2{font-size:20px}.service ul{font-size:17px}.service>div{padding:20px 12px}.booking{gap:20px;grid-template-columns:1fr 1fr}.salon{grid-column:1}.contact{grid-column:1}form{grid-column:2;grid-row:1/3}}@media(max-width:760px){header{flex-wrap:wrap;padding:12px 4%;gap:12px}header .button{font-size:11px;min-height:38px;padding:10px 13px}nav{order:3;overflow-x:auto;width:100%;justify-content:space-between;gap:20px;padding-bottom:5px}nav a{font-size:13px;white-space:nowrap}.brand{font-size:18px}.brand small{font-size:12px}.hero{padding-bottom:57px;background:#f9faf8}.hero-book,.hero-services{top:auto;bottom:10px;height:38px;color:#fff;background:var(--deep);font:12px Arial,sans-serif;display:flex;align-items:center;justify-content:center}.hero-book{left:12%;width:42%}.hero-services{left:57%;width:31%;color:var(--blue);border:1px solid var(--blue);background:white}.section{padding:24px 5%}h1{font-size:25px}.lined:before,.lined:after{width:25px;margin:0 10px}.intro{font-size:17px;line-height:1.5}.services{grid-template-columns:1fr;gap:18px}.service h2{font-size:21px}.service ul{font-size:16px}.service>div{padding:18px 12px}.service>img{width:40%}.products{grid-template-columns:1fr}.products>div{padding:25px}.products>img{max-height:310px}.benefits{display:grid;grid-template-columns:1fr 1fr;font-size:10px;gap:15px}.booking{display:flex;flex-direction:column;gap:25px}.salon,.contact,form{width:100%}.salon img{max-height:280px;object-fit:cover}.contact{padding:0}footer>div{flex-direction:column;gap:17px}footer>p{font-size:14px}html{scroll-padding-top:130px}form{scroll-margin-top:140px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Clear, modern website addresses in the header and footer. */
header .brand small,footer .brand small{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-weight:600;font-size:16px;line-height:1.5;letter-spacing:.5px;margin-top:4px}
@media(max-width:760px){header .brand small,footer .brand small{font-size:14px;letter-spacing:.3px}}

/* Let each column shrink to the viewport and keep section rules aligned. */
.services,.booking,.form-row{min-width:0}
.services>*,.booking>*,.form-row>*{min-width:0}
.service>div{min-width:0;flex:1}
.service h2{white-space:normal;line-height:1.2}
.lined{display:flex;align-items:center;justify-content:center;gap:15px}
.lined:before,.lined:after{flex:0 1 55px;margin:0}
.products .lined:before,.products .lined:after,.contact .lined:before,.contact .lined:after{display:none}
@media(max-width:760px){
 header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 4%}
 header .brand{font-size:clamp(14px,4.2vw,18px);white-space:normal;line-height:1.2}
 header .brand small{text-align:left;font-size:13px;letter-spacing:.2px}
 header .button{font-size:10px;padding:9px 10px;min-height:38px}
 nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;gap:0;overflow:visible;padding:0}
 nav a{font-size:12px;text-align:center;white-space:normal;display:flex;align-items:center;justify-content:center;min-height:35px;padding:6px 3px}
 .section{padding:20px 4%}
 .services{gap:16px}
 .service{display:grid;grid-template-columns:minmax(0,36%) minmax(0,64%)}
 .service>img{width:100%;height:100%;min-width:0;object-fit:cover}
 .service>div{padding:16px 12px}
 .service h2{font-size:clamp(17px,4.7vw,21px);line-height:1.25}
 .service ul{font-size:15px;line-height:1.5;padding-left:18px;margin:10px 0 14px;overflow-wrap:break-word}
 .service .outline{width:100%;padding:10px 6px;font-size:10px;line-height:1.5;white-space:normal;text-align:center}
 .lined{gap:10px;line-height:1.25}
 .lined:before,.lined:after{flex:0 1 24px}
 .products>div{padding:22px 4%}
 .products .lined{font-size:24px}
 .products>img{height:auto;max-height:none;object-fit:contain;display:block}
 .benefits{padding:16px 4%;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;align-items:center}
 .benefits span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:30px;line-height:1.5;letter-spacing:.3px}
 .booking{gap:22px}
 .salon h2,.salon p{text-align:center}
 .contact{padding:0 6px}
 .contact .intro{margin-bottom:16px}
 form{padding:18px;max-width:100%}
 form h2{font-size:19px;line-height:1.3;letter-spacing:.4px}
 .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 input,select,textarea{max-width:100%;font-size:16px}
 form .button{white-space:normal;line-height:1.5;font-size:11px;padding:12px 8px}
 footer{padding:24px 4%}
 footer .brand{white-space:normal;text-align:center;font-size:clamp(17px,5vw,22px)}
 footer>p{line-height:1.6;margin-top:20px;padding-top:18px}
 html{scroll-padding-top:155px}
 form{scroll-margin-top:155px}
}
@media(max-width:360px){.form-row{grid-template-columns:minmax(0,1fr)}.service>div{padding:14px 10px}.service ul{font-size:14px}}
