:root{--ink:#241c18;--paper:#f7f1eb;--orange:#d5784f;--pink:#ead7cf;--line:#cdbeb4;--muted:#766b64}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'DM Sans',sans-serif}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}a{color:inherit;text-decoration:none}.notice{background:var(--ink);color:#fff;display:flex;justify-content:center;gap:28px;padding:10px;font-size:12px}.notice b{color:#ffb292;font-size:10px;letter-spacing:.15em}.notice a{text-decoration:underline;text-underline-offset:3px}.top{display:flex;justify-content:space-between;align-items:center;padding:30px 0}.wordmark{font-size:25px;font-weight:700;letter-spacing:.13em}.wordmark span{color:var(--orange);font-size:11px;vertical-align:top;margin-left:4px}.top nav{display:flex;gap:34px;font-size:14px}.top nav a:hover{color:var(--orange)}.menu{display:none;border:0;background:transparent;font:inherit}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center;padding:45px 0 120px}.hero-image{height:650px;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover}.image-note{position:absolute;bottom:18px;left:18px;color:#fff;text-transform:uppercase;font-size:10px;letter-spacing:.16em}.label{color:var(--orange);text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:10px;margin:0 0 18px}.hero h1,.section-intro h2,.studio h2,.booking h2{font:500 clamp(52px,7vw,96px)/.95 'Playfair Display',serif;letter-spacing:-.06em;margin:0}.hero h1 i,.section-intro h2 i,.studio h2 i,.booking h2 i{color:var(--orange);font-style:italic}.lead{max-width:330px;color:var(--muted);font-size:17px;margin:32px 0}.button{display:inline-block;background:var(--orange);color:#fff;padding:14px 18px;font-weight:700}.button span{margin-left:30px}.services{background:var(--pink);padding:105px 0 120px}.section-intro{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:30px;align-items:end;margin-bottom:70px}.section-intro h2{font-size:clamp(44px,5vw,72px)}.section-intro>p:last-child{color:var(--muted);max-width:250px;margin:0 0 5px}.service-list{border-top:1px solid var(--line)}.service-list>div{display:grid;grid-template-columns:8% 32% 1fr auto;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:23px 0}.service-list span{font-size:12px;color:var(--orange)}.service-list h3{font:500 29px 'Playfair Display',serif;margin:0}.service-list p{color:var(--muted);margin:0}.service-list strong{font-size:13px}.studio{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:120px 0}.studio-copy{max-width:440px}.studio h2{font-size:clamp(44px,5vw,72px);margin-bottom:30px}.studio-copy>p:not(.label){color:var(--muted);font-size:18px;margin-bottom:30px}.text-link{font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:6px}.quote{background:var(--ink);color:#fff;min-height:340px;padding:55px;display:flex;flex-direction:column;justify-content:center}.quote>span{font:100px/.4 'Playfair Display';color:var(--orange)}.quote p{font:500 32px/1.2 'Playfair Display';max-width:390px}.quote small{color:#c7bbb2}.booking{border-top:1px solid var(--line);padding:85px 0 120px;display:grid;grid-template-columns:1fr 1fr;gap:90px}.booking h2{font-size:clamp(50px,6vw,82px)}.muted{color:var(--muted)}.booking-card{background:#fff;padding:34px}.choice{border-top:1px solid var(--line);margin:26px 0}.choice-btn{width:100%;border:0;border-bottom:1px solid var(--line);padding:17px 0;background:none;text-align:left;font:600 15px inherit;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between}.choice-btn span{color:var(--orange);font-size:11px}.choice-btn.active{color:var(--orange)}.dark{background:var(--ink)}footer{border-top:1px solid var(--line);padding:22px 0 45px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}footer a{color:var(--ink);text-decoration:underline}@media(max-width:760px){.wrap{width:calc(100% - 28px)}.notice{flex-direction:column;gap:2px;align-items:center;text-align:center}.top{padding:20px 0}.top nav{display:none}.menu{display:block}.hero{display:flex;flex-direction:column;gap:45px;padding:30px 0 75px;align-items:stretch}.hero-image{height:420px;order:-1}.hero h1{font-size:62px}.services{padding:70px 0 75px}.section-intro,.studio,.booking{display:block}.section-intro h2{margin-bottom:22px}.section-intro>p:last-child{margin-top:22px}.service-list>div{grid-template-columns:12% 1fr;gap:6px 12px}.service-list p{grid-column:2}.service-list strong{grid-column:2}.studio{padding:75px 0}.quote{margin-top:50px;padding:34px;min-height:290px}.quote p{font-size:27px}.booking{padding:65px 0 80px}.booking-card{margin-top:45px;padding:24px}footer{display:block}footer span{display:block;margin-bottom:8px}}
@media(max-width:760px){.top{position:relative}.top nav.open{display:flex;position:absolute;z-index:5;top:68px;right:0;background:var(--paper);padding:18px;flex-direction:column;gap:14px;border:1px solid var(--line)}}
.dashboard-link{font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.booking-form label{font-size:11px;color:var(--muted)}.booking-form input,.booking-form select{display:block;width:100%;margin-top:6px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 0;font:inherit;color:var(--ink)}.booking-form button{grid-column:1/-1;justify-self:start}.booking-status{color:var(--orange);font-size:13px;margin-top:16px}@media(max-width:760px){.dashboard-link{display:none}.booking-form{grid-template-columns:1fr}}
 .availability-note{display:block;margin-top:12px;color:#8b746b}#my-appointment{padding-top:40px;padding-bottom:40px}#my-appointment h3{font-family:inherit;font-size:1.4rem;margin:8px 0}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:38px!important}select:focus{outline:3px solid #d5784f2e!important;border-color:var(--orange)!important}
