@font-face{font-family:Manrope;src:url('../assets/manrope.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:Atelier;src:url('../assets/salon-serif.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#f4f4ef;--ink:#263b34;--sage:#e2e8dc;--pink:#e9dbd7;--white:#fff;--muted:#526257;--space:clamp(70px,8vw,120px);font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;scroll-behavior:smooth;scroll-padding-top:24px}
*{box-sizing:border-box}body{margin:0;font-size:16px}h1,h2,h3,p{margin:0}h1,h2{font-family:Atelier,Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}h1{font-size:clamp(62px,6.8vw,104px)}h2{font-size:clamp(42px,4.7vw,68px)}h3{font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.6px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}img{width:100%;height:100%;object-fit:cover;display:block}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--pink)}.shell{width:min(calc(100% - 80px),1360px);margin-inline:auto}.skip{position:fixed;left:12px;top:12px;background:var(--ink);color:var(--paper);padding:12px;z-index:20;transform:translateY(-180%)}.skip:focus{transform:none}
.demo-banner{display:flex;align-items:center;justify-content:center;gap:35px;background:var(--ink);color:var(--paper);padding:11px 24px;font-size:12px}.demo-banner a{text-decoration:underline;text-underline-offset:4px}.salon-header{display:flex;justify-content:space-between;align-items:center;gap:35px;min-height:116px}.salon-logo{font-family:Atelier,Georgia,serif;font-size:48px;letter-spacing:-3px;line-height:1}.salon-logo span{display:block;font:11px Manrope,Arial,sans-serif;letter-spacing:0;margin-top:9px}.salon-header nav{display:flex;align-items:center;gap:35px;font-size:14px}.nav-book{background:var(--sage);padding:14px 20px;display:flex;gap:25px}.salon-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-text{display:flex;flex-direction:column;align-items:start;background:var(--sage);padding:60px 48px 28px}.hero-text h1{margin-bottom:26px}.hero-text>p{font-size:17px;max-width:33ch;margin-bottom:30px}.salon-button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:16px 23px;min-height:57px;background:var(--ink);color:var(--white);font-size:14px;font-weight:600;border:0;transition:transform .2s,background .2s}.salon-button span{font-size:21px;font-weight:400}.salon-button:hover:not(:disabled){background:#354e42;transform:translateY(-3px)}.salon-button:active:not(:disabled){transform:scale(.98)}.hero-caption{width:100%;display:flex;gap:20px;justify-content:space-between;font-size:11px;margin-top:auto;padding-top:60px}.hero-image{position:relative;min-height:650px;overflow:hidden}.hero-image img{position:absolute;inset:0;object-position:45% 50%}.hero-image>span{position:absolute;left:24px;bottom:24px;background:var(--paper);padding:10px 15px;font-size:12px}.salon-services{padding-block:var(--space)}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:50px}.section-intro>p{max-width:39ch;font-size:16px}.salon-service-list article{display:grid;grid-template-columns:1fr 95px 90px 80px;align-items:center;gap:25px;padding:28px 24px}.salon-service-list article:nth-child(odd){background:var(--sage)}.salon-service-list h3{font-size:24px;margin-bottom:7px}.salon-service-list p{font-size:14px}.salon-service-list article>span{font-size:14px}.salon-service-list strong{font-family:Atelier,Georgia,serif;font-size:32px;font-weight:400}.salon-service-list a{font-size:14px;display:flex;gap:17px;min-height:44px;align-items:center}.salon-service-list a:hover{text-decoration:underline}.small-note{font-size:12px;line-height:1.6}.salon-services>.small-note{margin-top:22px}.salon-story{background:var(--pink);padding-block:70px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.story-image{height:620px;overflow:hidden}.story-image img{object-position:60% 50%}.story-text>p{max-width:40ch;font-size:16px;margin-top:25px}.text-action{display:inline-flex;gap:20px;align-items:center;font-size:14px;font-weight:600;margin-top:30px}.text-action:hover{transform:translateX(3px)}.opening-hours{margin-top:50px}.opening-hours h3{font-size:21px;margin-bottom:14px}.opening-hours p{font-size:14px}.opening-hours>span{display:block;margin-top:10px;font-size:11px}.booking-section{padding-block:var(--space)}.booking-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:50px;align-items:start}.booking-form{min-width:0}fieldset{border:0;margin:0;padding:0}legend{font-size:20px;font-weight:600;margin-bottom:20px;letter-spacing:-.4px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-options label{display:flex;align-items:center;gap:12px;background:var(--sage);padding:19px 16px;cursor:pointer;min-height:91px}.service-options label:has(input:checked){background:var(--ink);color:var(--paper)}.service-options input{accent-color:var(--ink);width:19px;height:19px;flex-shrink:0}.service-options label>span>span{display:block;font-size:12px;margin-top:5px}.service-options strong{font-size:14px;font-weight:600}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.booking-fields label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}.booking-fields select,.booking-fields input{display:block;width:100%;min-width:0;max-width:100%;height:52px;border:1px solid #758275;background:var(--paper);color:var(--ink);padding:11px;font-size:14px;border-radius:0;color-scheme:light}.booking-fields+p{margin-top:10px}.time-fieldset{margin-top:28px}.time-fieldset legend{margin-bottom:12px}.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px}.time-slots button{padding:11px 5px;min-height:46px;border:0;background:var(--sage);color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums;transition:background .15s,transform .15s}.time-slots button:hover{background:#ccd7c4;transform:translateY(-2px)}.time-slots button[aria-pressed=true]{background:var(--ink);color:var(--white)}.demo-notice{background:var(--sage);font-size:12px;padding:15px 18px;margin-top:25px}.booking-summary{background:var(--sage);padding:30px 32px;position:sticky;top:24px}.booking-summary h3{font-family:Atelier,Georgia,serif;font-size:34px;font-weight:400;margin-bottom:27px}.booking-summary dl{margin:0 0 27px}.booking-summary dl>div{display:flex;gap:15px;align-items:start;justify-content:space-between;margin-bottom:16px;font-size:14px}.booking-summary dt{font-size:12px;flex-shrink:0}.booking-summary dd{text-align:right;margin:0;max-width:25ch}.booking-summary .summary-total{background:var(--paper);padding:15px;margin-top:25px;align-items:center}.summary-total dt{font-size:12px}.summary-total dd{font-family:Atelier,Georgia,serif;font-size:32px}.booking-summary .salon-button{width:100%}.booking-summary>.small-note{margin-top:14px}.booking-status{margin-top:22px;font-size:14px;font-weight:600}.booking-status:empty{margin-top:0}.my-appointments{background:var(--sage);padding:30px;margin-top:45px}.appointments-heading{display:flex;gap:25px;justify-content:space-between;align-items:center;margin-bottom:25px}.appointments-heading h3{font-family:Atelier,Georgia,serif;font-size:30px;font-weight:400}.reset-button{border:0;background:var(--paper);color:var(--ink);padding:12px 17px;font-size:12px;min-height:44px}.reset-button:hover{background:var(--white)}#empty-agenda{font-size:14px;max-width:60ch}.appointments-list{list-style:none;padding:0;margin:0}.appointments-list li{display:flex;justify-content:space-between;gap:25px;align-items:center;background:var(--paper);padding:20px;margin-bottom:12px}.appointments-list strong{display:block;font-size:15px}.appointments-list span{display:block;font-size:12px;margin-top:5px}.appointments-list button{border:0;background:var(--ink);color:var(--paper);padding:11px 15px;font-size:12px;min-height:44px}.my-appointments>.small-note{margin-top:20px}.studio-invitation{background:var(--ink);color:var(--paper);padding-block:70px}.studio-invitation>.shell{display:grid;grid-template-columns:1fr 1fr;gap:80px}.studio-invitation p{max-width:40ch;font-size:16px}.studio-invitation .salon-button{background:var(--sage);color:var(--ink);margin:25px 0 18px}.studio-invitation .small-note{font-size:12px}.salon-footer{display:flex;gap:35px;justify-content:space-between;align-items:center;padding-block:50px}.salon-footer p{font-size:12px}.salon-footer>a:last-child{font-size:13px}.hero-text h1,.hero-text>p,.hero-text>.salon-button{animation:arrive .7s ease-out both}.hero-text>p{animation-delay:.08s}.hero-text>.salon-button{animation-delay:.16s}@keyframes arrive{from{opacity:.4;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.shell{width:calc(100% - 48px)}.hero-text{padding:45px 30px 25px}.salon-hero,.hero-image{min-height:600px}h1{font-size:clamp(54px,6.7vw,80px)}.hero-caption{flex-direction:column;gap:6px}.story-grid{gap:45px}.story-image{height:550px}.booking-layout{gap:30px}.service-options label{padding:16px 12px;gap:9px}.service-options strong{font-size:12px}.booking-summary{padding:27px 24px}.salon-service-list article{grid-template-columns:1fr 70px 75px 75px}}
@media(max-width:760px){.shell{width:calc(100% - 36px)}.demo-banner{padding:10px 18px;display:block;font-size:10px}.demo-banner a{display:inline-block;margin-top:3px}.salon-header{min-height:100px;gap:18px}.salon-logo{font-size:41px}.salon-header nav{gap:15px;font-size:12px}.salon-header nav>a:not(.nav-book){display:none}.nav-book{padding:12px 14px;gap:13px}.salon-hero{grid-template-columns:1fr}.hero-text{padding:34px 25px 25px}h1{font-size:clamp(52px,14vw,78px)}.hero-text>p{font-size:15px;max-width:37ch}.hero-caption{padding-top:35px;font-size:10px}.hero-image{min-height:390px}.hero-image img{object-position:50% 52%}.hero-image>span{left:18px;bottom:18px;font-size:11px}.section-intro{display:block;margin-bottom:30px}h2{font-size:clamp(35px,10vw,52px)}.section-intro>p{font-size:15px;margin-top:24px}.salon-service-list article{grid-template-columns:1fr 80px;gap:12px;padding:22px 18px}.salon-service-list article>div{grid-column:1 / -1}.salon-service-list h3{font-size:24px}.salon-service-list p{font-size:13px;max-width:28ch}.salon-service-list article>span{grid-row:2;grid-column:1;font-size:12px}.salon-service-list article>strong{grid-row:2;grid-column:2;text-align:right;font-size:28px}.salon-service-list article>a{grid-column:1 / -1;min-height:30px;font-size:12px;margin-top:2px}.small-note{font-size:11px}.salon-story{padding-block:40px}.story-grid{grid-template-columns:1fr;gap:35px}.story-image{height:390px}.story-text>p{font-size:15px;max-width:40ch}.opening-hours{margin-top:35px}.booking-layout{grid-template-columns:1fr;gap:30px}.booking-summary{position:static;padding:26px 23px}.service-options{gap:8px}.service-options label{padding:15px 12px;min-height:90px}.service-options strong{font-size:12px}.service-options label>span>span{font-size:11px}.service-options input{height:17px;width:17px}.booking-fields{gap:12px}.booking-fields label{font-size:13px}.booking-fields select,.booking-fields input{font-size:12px;padding:9px 7px}.my-appointments{padding:24px 18px;margin-top:30px}.appointments-heading{align-items:start;gap:12px}.appointments-heading h3{font-size:26px;max-width:12ch}.reset-button{padding:10px 12px;font-size:11px}.appointments-list li{display:block;padding:18px}.appointments-list button{margin-top:16px}.studio-invitation{padding-block:50px}.studio-invitation>.shell{grid-template-columns:1fr;gap:30px}.studio-invitation p{font-size:15px}.studio-invitation .salon-button{font-size:13px;padding:14px 18px;gap:18px}.salon-footer{flex-wrap:wrap;padding-block:35px;gap:28px}.salon-footer>a:last-child{width:100%}.salon-footer .salon-logo{font-size:42px}}
@media(max-width:360px){.salon-header .salon-logo{font-size:36px}.salon-header .salon-logo>span{font-size:9px}.nav-book{font-size:10px;padding:12px;gap:10px}.hero-text h1{font-size:42px}.booking-fields{grid-template-columns:1fr}.service-options{grid-template-columns:1fr}.service-options label{min-height:65px}.service-options strong{font-size:14px}.time-slots{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.studio-invitation h2{align-self:start}
