/* A single visible request form, using the existing studio materials. */
.simple-booking{scroll-margin-top:0}.simple-booking-heading{margin-bottom:32px}.simple-booking-heading h2{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-.035em;font-weight:500;margin:0 0 14px}.simple-booking-heading>p{font-size:15px;line-height:1.7;color:#6a4f60;margin:0}.request-form{background:#fcf9fa;border:1px solid #dfcbd6;border-radius:12px;box-shadow:0 20px 50px #623c4d0c;padding:30px 36px}.request-service-row{display:flex;align-items:center;justify-content:space-between;gap:28px}.request-service-field{flex:1;max-width:620px}.request-form label{display:block;font-size:12px;font-weight:650;margin:0 0 9px}.request-form label>span{font-size:11px;color:#705768;font-weight:400}.request-form select,.request-form input:not([type=hidden]){width:100%;min-width:0;border:1px solid #d7becd;border-radius:8px;background:#fcf9fa;color:#30232d;padding:12px 14px;font:inherit;font-size:15px;min-height:48px;box-sizing:border-box;box-shadow:inset 0 2px 3px #5b304b05}.request-form input::placeholder{color:#78606f;opacity:1}.request-form :is(input,select):focus-visible{outline:2px solid #82465f;outline-offset:3px}.request-price{display:flex;align-items:baseline;justify-content:flex-end;gap:10px;flex-wrap:wrap;text-align:right;max-width:260px}.request-price>span{font-size:11px;color:#705768}.request-price>strong{font-size:36px;font-weight:550;letter-spacing:-.04em;line-height:1.1}.request-price #booking-duration{width:100%;margin-top:-1px}.request-price>.quote-price-text{font-size:23px;letter-spacing:-.025em}.request-price-note{font-size:11px;color:#705768;margin:14px 0 24px;line-height:1.6}.request-body{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding-top:26px;border-top:1px solid #e5d5de}.request-calendar{margin:0;padding:0;border:0;min-width:0}.request-calendar legend{font-size:12px;font-weight:650;padding:0;margin-bottom:10px}.calendar-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-top h3{font-size:19px;font-weight:600;letter-spacing:-.02em;margin:0}.calendar-nav{background:#f5edf1;border:1px solid #dfcbd6;color:#593146;border-radius:8px;width:44px;height:44px;padding:0;font:inherit;font-size:25px;line-height:1;cursor:pointer}.calendar-nav:disabled{opacity:.35;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekdays{margin:16px 0 7px;text-align:center;font-size:10px;color:#705768;line-height:24px}.calendar-days button{width:100%;height:44px;border:1px solid transparent;border-radius:8px;background:transparent;color:#30232d;font:inherit;font-size:13px;cursor:pointer;transition:background 160ms,transform 160ms,box-shadow 160ms}.calendar-days button:disabled{color:#b4a4ad;cursor:default}.calendar-days button[aria-current=date]{border-color:#cfafc1}.calendar-days button[aria-pressed=true]{color:#fcf9fa;background:linear-gradient(#8d526d,#743e58);box-shadow:inset 0 1px #ffffff36,0 3px 7px #603c4e25;border-color:#75405a}.calendar-days button:active:not(:disabled){transform:scale(.95)}.calendar-days button:focus-visible,.calendar-nav:focus-visible{outline:3px solid #82465f;outline-offset:1px}.calendar-selection{font-size:11px;color:#705768;line-height:1.6;min-height:18px;margin:14px 0 0}.request-details{min-width:0;padding-top:0}.request-availability{font-size:11px;color:#705768;line-height:1.6;margin:10px 0 22px;min-height:36px}.request-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.request-submit{width:100%;margin-top:24px;font-size:13px;min-height:50px}.request-privacy{font-size:10px;color:#705768;line-height:1.7;margin:14px 0 0}.request-privacy .inline-privacy{border:1px solid #d7becd;background:linear-gradient(#f9f1f5,#ead8e3);box-shadow:inset 0 1px #fcf9fa,0 2px 4px #623c4d12;border-radius:6px;padding:4px 9px;min-height:36px;font-weight:600;margin-left:4px}.request-details #appointment-feedback:empty{display:none}.request-success{background:#fcf9fa;border:1px solid #dfcbd6;border-radius:12px;padding:38px;max-width:800px}.request-success h3{font-size:34px;line-height:1.2;font-weight:500;letter-spacing:-.03em;margin:22px 0}.request-success p{font-size:15px;line-height:1.7;max-width:60ch}.request-success .button{margin-top:20px}.request-success .request-save-note{font-size:11px;color:#705768}.request-success:focus{outline:2px solid #82465f;outline-offset:4px}.simple-booking [hidden]{display:none!important}
/* Prices are visible before the service opens, with a larger treatment quote inside. */
.menu-row-price{flex-shrink:0;font-size:23px;line-height:1.2;font-weight:550;letter-spacing:-.03em;text-align:right;min-width:65px}.menu-row-price small{display:block;font-size:9px;font-weight:400;letter-spacing:0;margin-bottom:3px;color:#705163}.treatment-guide{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px;row-gap:8px;margin-top:10px}.treatment-guide .menu-price-label{font-size:11px;font-weight:450}.treatment-guide .menu-price-amount{font-size:42px;font-weight:550;line-height:1;letter-spacing:-.035em}.treatment-guide .menu-price-duration{width:100%;font-size:12px;font-weight:450;margin-top:5px}.menu-price-quote .menu-price-label{display:none}.menu-price-quote .menu-price-amount{font-size:27px;letter-spacing:-.025em}
/* The portrait is cropped around Kristina, not around the centre of the source file. */
.about-scene{grid-template-columns:1.1fr .9fr}.about-scene .about-photo img{min-height:620px;object-position:68% center}.about-story{padding:40px}.about-story h3{font-size:clamp(32px,3.2vw,46px)}.about-story>p:not(.eyebrow){font-size:14px;line-height:1.8}.about-scene .portrait-signature{top:auto;bottom:32px;left:32px}.about-scene .about-photo::after{inset:38% 0 0;background:linear-gradient(transparent,#211322cf)}.portrait-signature h2{font-size:72px}
/* One certificate record: document, issuer, date and original evidence together. */
.certificates{border-top:1px solid #e0cfd9}.certificate-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:7%;align-items:center}.certificate-heading h2{font-size:clamp(40px,4.5vw,64px);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:20px 0}.certificate-heading>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#6d5162;max-width:32ch}.certificate-record{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:center;padding:30px;background:#f3e9ef;border:1px solid #e2d1dc;border-radius:10px}.certificate-document{display:block;position:relative;width:100%;aspect-ratio:.7;overflow:hidden;border:0;padding:0;border-radius:3px;background:#d4cba9;box-shadow:0 10px 20px #412d3c20;cursor:zoom-in}.certificate-document img{display:block;position:absolute;width:455%;max-width:none;height:auto;left:-177%;top:-187%;pointer-events:none}.certificate-document:focus-visible{outline:3px solid #82465f;outline-offset:5px}.certificate-type{font-size:9px;line-height:1.7;letter-spacing:.08em;color:#705163}.certificate-info h3{font-size:28px;letter-spacing:-.025em;font-weight:550;line-height:1.2;margin:13px 0}.certificate-info p{font-size:12px;line-height:1.8;color:#6d5162;margin:0 0 18px}.certificate-info .button{font-size:10px;min-height:44px;min-width:0}.certificate-source{display:block;font-size:10px;color:#6d5162;line-height:1.8;margin-top:18px;text-underline-offset:3px}
@media(hover:hover) and (pointer:fine){.calendar-days button:hover:not(:disabled):not([aria-pressed=true]),.calendar-nav:hover:not(:disabled){background:#f0dfe9}.certificate-document:hover{box-shadow:0 14px 24px #412d3c30}}
@media(max-width:1100px){.request-body{gap:28px}.request-form{padding:28px}.request-contact-fields{grid-template-columns:1fr;gap:18px}.certificate-layout{grid-template-columns:.7fr 1.3fr;gap:5%}.certificate-record{grid-template-columns:170px 1fr;gap:24px;padding:24px}.about-scene .about-photo img{min-height:640px}.about-story{padding:32px}}
@media(max-width:750px){.certificate-layout{grid-template-columns:1fr;gap:24px}.certificate-heading>p:not(.eyebrow){max-width:50ch}.certificate-record{grid-template-columns:200px 1fr}.request-body{gap:24px}.request-form{padding:24px}.request-service-row{gap:18px}.request-price{max-width:180px}.request-price strong{font-size:30px}.request-price>.quote-price-text{font-size:19px}.request-price>span{font-size:10px}.about-scene{grid-template-columns:1fr}.about-scene .about-photo img{min-height:0;height:auto;aspect-ratio:4/4.5;object-position:68% center}.about-story{padding:32px}.about-scene .portrait-signature{left:28px;bottom:28px}}
@media(max-width:600px){.simple-booking-heading{margin-bottom:26px}.simple-booking-heading h2{font-size:35px;max-width:13ch}.simple-booking-heading>p{font-size:13px;max-width:38ch}.request-form{padding:20px 16px}.request-service-row{align-items:flex-start;flex-direction:column;gap:15px}.request-service-field{width:100%}.request-price{max-width:none;justify-content:flex-start;align-items:baseline;gap:8px;text-align:left}.request-price #booking-duration{width:auto;font-size:10px;margin-left:7px}.request-price strong{font-size:31px}.request-price>.quote-price-text{font-size:22px}.request-price-note{font-size:10px;margin:12px 0 20px;max-width:40ch}.request-body{grid-template-columns:1fr;gap:24px;padding-top:20px}.request-form select,.request-form input:not([type=hidden]){font-size:16px;min-height:46px;padding:11px 12px}.request-calendar legend,.request-form label{font-size:11px}.calendar-top h3{font-size:18px}.calendar-days button{height:40px;font-size:12px}.calendar-nav{height:40px;width:44px}.calendar-weekdays{margin-top:10px}.calendar-selection{margin-top:10px}.request-contact-fields{grid-template-columns:1fr 1fr;gap:12px}.request-details label>span{font-size:10px}.request-availability{margin:8px 0 18px;min-height:0;font-size:10px}.request-submit{margin-top:20px;min-height:50px;font-size:12px}.request-privacy{font-size:10px}.request-success{padding:28px 22px}.request-success h3{font-size:28px}.request-success p{font-size:13px}.menu-row-price{font-size:22px;min-width:55px}.treatment-trigger{gap:12px}.treatment-trigger .treatment-name{font-size:25px}.treatment-trigger .treatment-short{font-size:10px}.treatment-trigger .plus{width:26px;height:26px;flex-basis:26px}.treatment-trigger .plus:before,.treatment-trigger .plus:after{inset:12px 7px auto}.treatment-guide .menu-price-amount{font-size:39px}.treatment-guide .menu-price-duration{font-size:11px}.menu-price-quote .menu-price-amount{font-size:26px}.certificate-record{grid-template-columns:1fr;gap:28px;padding:26px}.certificate-document{width:220px;max-width:100%;justify-self:center}.certificate-info h3{font-size:30px}.certificate-info p{font-size:12px}.certificate-heading h2{font-size:44px;margin-top:16px}.certificate-heading>p:not(.eyebrow){font-size:13px}.about-scene .about-photo img{aspect-ratio:3/4;object-position:68% center}.portrait-signature h2{font-size:65px}.about-story h3{font-size:35px}}
@media(max-width:359px){.request-form{padding:18px 12px}.simple-booking-heading h2{font-size:31px}.request-contact-fields{grid-template-columns:1fr;gap:16px}.calendar-days{gap:1px}.calendar-days button{height:38px}.calendar-nav{height:40px}.menu-row-price{font-size:19px;min-width:46px}.treatment-trigger{gap:10px}.treatment-trigger .treatment-name{font-size:22px}.treatment-trigger .plus{width:22px;height:22px;flex-basis:22px}.treatment-trigger .plus:before,.treatment-trigger .plus:after{inset:10px 5px auto}.certificate-record{padding:22px}.about-story{padding:27px 23px}.about-story h3{font-size:31px}}
@media(prefers-reduced-motion:reduce){.calendar-days button{transition:none;transform:none}}
/* Review pass: fit the full desktop form and centre the person within the portrait. */
.simple-booking{padding-block:48px}.simple-booking-heading{margin-bottom:24px}.simple-booking-heading h2{font-size:clamp(34px,3.5vw,50px)}.request-form{padding:24px 30px}.request-body{padding-top:20px}.request-price-note{margin-block:12px 18px}.request-availability{margin-bottom:18px}.about-scene .about-photo{height:650px;overflow:hidden}.about-scene .about-photo picture{display:block;height:100%;overflow:hidden}.about-scene .about-photo img{width:115%;max-width:none;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center 35%;transform:translateX(-15%)}.about-story{align-self:center}.certificate-source{min-height:36px;display:flex;align-items:center}.request-calendar button{touch-action:manipulation}
@media(max-width:1100px) and (min-width:751px){.about-scene .about-photo{height:670px}}
@media(max-width:750px){.about-scene .about-photo{height:auto;aspect-ratio:4/4.5}.about-scene .about-photo picture{position:absolute;inset:0}.about-scene .about-photo img{width:115%;height:100%;aspect-ratio:auto;min-height:0}}
@media(max-width:600px){.simple-booking{padding-block:40px}.simple-booking-heading h2{font-size:35px}.request-form{padding:20px 16px}.about-scene .about-photo{aspect-ratio:3/4}.calendar-days button{height:44px}.request-price-note{margin-block:12px 18px}.request-body{gap:20px}.request-privacy .inline-privacy{margin:5px 0 0;display:block}.certificate-source{min-height:44px}}
@media(max-width:359px){.request-form{padding:18px 12px}.simple-booking-heading h2{font-size:31px}}
@media(max-width:600px){.simple-booking-heading h2{font-size:32px;max-width:none}.simple-booking-heading>p{font-size:12px}.request-service-row{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:14px;align-items:end}.request-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.request-price>span{font-size:9px;line-height:1.4}.request-price strong{font-size:29px}.request-price #booking-duration{margin:0;width:auto;font-size:9px;line-height:1.5}.request-price>.quote-price-text{font-size:17px;line-height:1.15}.request-price-note{margin-top:14px}.request-form select#visit-service{font-size:14px;padding-inline:9px}.calendar-weekdays{margin-top:8px}.request-price-note{max-width:none}}
@media(max-width:359px){.request-service-row{grid-template-columns:minmax(0,1fr) 83px;gap:10px}.request-price strong{font-size:26px}.request-price>.quote-price-text{font-size:16px}}
@media(min-width:1000px) and (max-height:800px){.simple-booking{padding-block:28px}.simple-booking-heading h2{font-size:42px;margin-bottom:9px}.simple-booking-heading{margin-bottom:20px}.request-form{padding:20px 26px}.request-price-note{margin-block:10px 14px}.request-body{padding-top:16px}.calendar-weekdays{margin-block:8px 5px}.request-calendar legend{margin-bottom:7px}.calendar-selection{margin-top:9px}.request-availability{margin-bottom:16px}.request-submit{margin-top:20px}}
.request-form :is(input,select){margin:0}.request-form .field-trap input{display:none}.request-details #appointment-feedback:empty{margin:0}.request-form .calendar-days button[aria-current=date]:not([aria-pressed=true]){border-color:#b987a4}
.request-form .field-error{font-size:11px;line-height:1.6;color:#842b4e;margin:8px 0 0}.request-form input[aria-invalid=true]{border-color:#842b4e}.calendar-nav{background:linear-gradient(#f9f2f6,#eadce5);box-shadow:inset 0 1px #fcf9fa,0 2px 4px #623c4d12}.calendar-nav:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px 3px #623c4d1c}.calendar-nav:disabled{box-shadow:none}
