.contact{width:100%;max-width:100%;overflow-x:clip}.contact__main,.contact__map-section{isolation:isolate;border-radius:48px}.contact__main:before,.contact__map-section:before{content:"";position:absolute;top:0;right:16px;bottom:0;left:16px;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at center,rgba(218,210,253,.2),transparent 72%)}.app:has(.contact)+.footer{border-radius:48px 48px 0 0;border-top:0;background:linear-gradient(180deg,#f5f3ffbf,#f5f3ff 130px)}.app:has(.contact)+.footer:before{display:none}@media (max-width: 540px){.contact__main,.contact__map-section{border-radius:28px}.app:has(.contact)+.footer{border-radius:28px 28px 0 0}}.contact .container,.contact-grid>*,.contact-form form,.field,.field__control,.field-row,.field-row>.field,.treatment-select,.map>*{min-width:0}.page-hero{padding:150px 0 40px}.page-hero__title{font-size:clamp(3rem,7vw,6rem);margin:16px 0 18px}.page-hero__title em{font-style:italic;font-weight:400;color:var(--color-primary)}.page-hero__lead{font-size:1.18rem;font-weight:300;color:var(--color-muted);max-width:640px}.contact-grid{display:grid;grid-template-columns:minmax(280px,1fr) 1.35fr;gap:28px;align-items:stretch}.glass.contact-info,.glass.map{position:relative;overflow:hidden;background:#dad2fdb8!important;border:1px solid rgba(255,255,255,.45)!important;backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);box-shadow:0 8px 40px #dad2fd59}.glass.contact-form{position:relative;overflow:visible;background:#dad2fdb8!important;border:1px solid rgba(255,255,255,.45)!important;backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);box-shadow:0 8px 40px #dad2fd59}.glass.contact-info:before,.glass.contact-form:before,.glass.map:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;pointer-events:none;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.35),transparent 42%),radial-gradient(circle at 80% 85%,rgba(180,160,240,.2),transparent 40%);z-index:0}.glass.contact-info>*,.glass.contact-form>*,.glass.map>*{position:relative;z-index:1}.glass.contact-form:before{top:0;right:0;bottom:0;left:0;border-radius:inherit}.glass.contact-info{padding:36px 34px;height:100%}.contact-info__title{font-size:clamp(2rem,4vw,2.8rem);margin:12px 0 28px;line-height:1.05}.contact-info__title em{font-style:italic;font-weight:400;color:var(--color-primary)}.contact-info__block{padding-top:20px;margin-top:20px;border-top:1px solid rgba(255,255,255,.45)}.contact-info__block:first-of-type{padding-top:0;margin-top:0;border-top:none}.contact-info h3{font-style:italic;font-weight:600;color:var(--color-primary);letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;margin:0 0 8px}.contact-info p{color:var(--color-muted);font-weight:400;line-height:1.6}.contact-info a{transition:color .35s var(--ease)}.contact-info a:hover{color:var(--color-primary)}.contact-info__socials{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}.contact-info__social-link{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:#ffffff8c;display:grid;place-items:center;color:var(--color-primary);transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}.contact-info__social-link svg{width:18px;height:18px}.contact-info__social-link:hover{background:var(--color-primary);color:var(--color-accent);border-color:var(--color-primary);transform:translateY(-2px)}.glass.contact-form{padding:36px}.contact-form__head{margin-bottom:28px}.contact-form__honeypot{display:none}.contact-form__note{margin-bottom:18px;font-size:.88rem;color:var(--color-muted);line-height:1.6}.contact-form__error{margin-bottom:18px;color:#982f3d;line-height:1.6}.contact-form__error a{text-decoration:underline}.contact-form button:disabled{opacity:.65;cursor:wait;transform:none}.contact-form__title{font-size:clamp(2rem,4vw,2.6rem);margin-top:10px;line-height:1.05}.contact-form__title em{font-style:italic;font-weight:400;color:var(--color-primary)}.field{display:grid;gap:8px;margin-bottom:20px}.field__control{display:grid;gap:10px}.field--invalid input,.field--invalid select,.field--invalid textarea,.field--invalid .treatment-select__trigger{border-color:var(--color-primary);background:#ffffffc7;animation:fieldShake .55s var(--ease),fieldGlow 2.2s ease-in-out .55s infinite}.field--invalid input:focus,.field--invalid select:focus,.field--invalid textarea:focus,.field--invalid .treatment-select__trigger:focus{animation:fieldShake .55s var(--ease),fieldGlow 2.2s ease-in-out .55s infinite}@keyframes fieldShake{0%,to{transform:translate(0)}18%{transform:translate(-7px)}36%{transform:translate(7px)}54%{transform:translate(-4px)}72%{transform:translate(4px)}90%{transform:translate(-1px)}}@keyframes fieldGlow{0%,to{border-color:var(--color-primary);box-shadow:0 0 0 3px #dad2fd66,0 0 14px #dad2fd59}50%{border-color:#6446b4d9;box-shadow:0 0 0 5px #dad2fdb8,0 0 28px #b4a0f0a6}}.field-hint{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px 11px 11px;background:#dad2fdb8;border:1px solid rgba(255,255,255,.5);border-radius:14px;box-shadow:0 6px 24px #dad2fd47;animation:fieldHintIn .24s var(--ease)}.field-hint__icon{flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--color-primary);color:var(--color-accent);font-family:var(--font-serif);font-size:.95rem;font-style:italic;line-height:1}.field-hint__text{font-family:var(--font-serif);font-size:.94rem;font-style:italic;font-weight:500;color:var(--color-primary);line-height:1.4}@keyframes fieldHintIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;margin-bottom:20px}.field-row>.field{margin-bottom:0}.field label{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary);font-weight:600}.field input,.field select,.field textarea{width:100%;max-width:100%;min-width:0;background:#ffffff8c;border:1px solid rgba(255,255,255,.6);border-radius:14px;padding:14px 16px;color:var(--color-text);font-family:inherit;font-size:1.02rem;outline:none;resize:vertical;transition:border-color .4s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary);background:#ffffffc7;box-shadow:0 0 0 3px #dad2fd73}.field select{background-image:none}.field select option{background:var(--color-bg-2)}.treatment-select{position:relative}.treatment-select__trigger{width:100%;max-width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.6);background:#ffffff8c;color:var(--color-text);font-family:inherit;font-size:1.06rem;font-weight:600;text-align:left;transition:border-color .4s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease)}.treatment-select__trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treatment-select__trigger:focus,.treatment-select.is-open .treatment-select__trigger{border-color:var(--color-primary);background:#ffffffc7;box-shadow:0 0 0 3px #dad2fd73;outline:none}.treatment-select__trigger .is-placeholder{color:var(--color-muted)}.treatment-select__chevron{color:var(--color-primary);font-size:.9rem}.treatment-select__panel{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;overflow:hidden;border-radius:16px;border:1px solid rgba(4,26,45,.12);background:#fff;box-shadow:0 18px 48px #041a2d24}.treatment-select__search{width:100%;border:0;border-bottom:1px solid rgba(218,210,253,.9);border-radius:0;background:#f4f0ff;padding:14px 16px;color:var(--color-text);font-family:inherit;font-size:1.08rem;font-weight:600;outline:none}.treatment-select__list{max-height:min(340px,52vh);overflow-y:auto;padding:10px;background:#fff}.treatment-select__group+.treatment-select__group{margin-top:12px;padding-top:4px;border-top:1px solid rgba(218,210,253,.75)}.treatment-select__group-label{position:sticky;top:0;z-index:1;display:grid;gap:3px;margin-bottom:8px;padding:12px 14px;border-radius:12px;background:#dad2fd;color:var(--color-primary)}.treatment-select__group-label span{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#041a2db8}.treatment-select__group-label strong{font-size:1.18rem;font-style:italic;font-weight:700;line-height:1.2;color:var(--color-primary)}.treatment-select__option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px;padding:12px 12px 12px 14px;border-radius:12px;border-left:3px solid rgba(218,210,253,.95);background:#f8f6ff;text-align:left;color:var(--color-text);font-family:inherit;font-size:.98rem;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}.treatment-select__option-copy{display:grid;gap:3px;flex:1;min-width:0}.treatment-select__option-copy small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#041a2d9e;font-weight:800}.treatment-select__option-copy strong{font-size:1.08rem;font-weight:700;line-height:1.25;color:var(--color-primary)}.treatment-select__option em{flex-shrink:0;font-style:italic;font-size:.98rem;font-weight:700;color:#041a2db8}.treatment-select__option.is-active,.treatment-select__option:hover{background:#ece6ff;border-left-color:var(--color-primary)}.treatment-select__option.is-selected{background:var(--color-primary);border-left-color:var(--color-accent);color:#fff}.treatment-select__option.is-selected .treatment-select__option-copy small,.treatment-select__option.is-selected .treatment-select__option-copy strong,.treatment-select__option.is-selected em{color:#fff}.treatment-select__option.is-selected .treatment-select__option-copy small{opacity:.72}.treatment-select__empty{padding:18px 12px;color:var(--color-muted);font-style:italic;text-align:center;background:#fff}.contact-booking-price{padding:14px 16px;border-radius:14px;background:#dad2fd73;border:1px solid rgba(255,255,255,.55);font-family:var(--font-sans);font-size:1.12rem;font-weight:700;color:var(--color-primary)}.contact-booking-price span{font-weight:500;color:var(--color-muted);font-size:.92rem}.form-success{text-align:center;padding:40px 10px}.fs-emoji{font-size:3rem;color:var(--color-primary)}.form-success h3{font-style:italic;font-weight:600;font-size:1.8rem;margin:16px 0 8px;color:var(--color-primary)}.form-success p{color:var(--color-muted);margin-bottom:24px}.glass.map{width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:1.6fr 1fr;align-items:stretch;box-shadow:0 20px 70px #dad2fd66}.map__art{position:relative;min-height:280px;background:radial-gradient(120% 90% at 60% 40%,#ffffff8c,#dad2fdd9),linear-gradient(155deg,#fff3,#b4a0f059)}.map__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:44px 44px;opacity:.65}.map__pin{position:absolute;top:42%;left:58%;transform:translate(-50%,-50%)}.map__pin span{width:18px;height:18px;border-radius:50%;background:var(--color-primary);display:block;box-shadow:0 0 0 10px #041a2d1f,0 0 0 24px #041a2d0f;animation:ping 2.4s var(--ease) infinite}@keyframes ping{0%{box-shadow:0 0 #041a2d3d,0 0 #041a2d1f}to{box-shadow:0 0 0 28px #041a2d00,0 0 0 56px #041a2d00}}.map__cap{display:grid;align-content:center;padding:36px}.map__cap h3{font-style:italic;font-weight:600;font-size:1.6rem;margin:10px 0 8px;color:var(--color-primary)}.map__cap p{color:var(--color-muted);font-weight:400;line-height:1.6}.contact-map{display:block;width:100%;height:100%;min-height:360px;border:0}.map__cap .btn{margin-top:24px;justify-self:start}@media (max-width: 880px){.contact-grid,.glass.map,.field-row{grid-template-columns:1fr}}@media (max-width: 720px){.contact{overflow-x:hidden}.contact__main{padding-top:28px;padding-bottom:40px}.contact__map-section{padding-top:0;padding-bottom:88px}.contact-grid{display:flex;flex-direction:column;gap:14px;width:100%;max-width:100%;min-width:0}.glass.contact-form{order:-1;overflow:hidden}.glass.contact-info,.glass.contact-form,.glass.map{width:100%;max-width:100%;min-width:0;backdrop-filter:none;-webkit-backdrop-filter:none}.glass.contact-info,.glass.contact-form{padding:22px 16px}.contact-info__title{font-size:clamp(1.85rem,8vw,2.35rem);margin:10px 0 18px}.contact-form__head{margin-bottom:18px}.contact-form__title{font-size:clamp(1.85rem,8vw,2.35rem);margin-top:8px}.contact-info__block{padding-top:14px;margin-top:14px}.contact-info__block p{font-size:1rem;line-height:1.55}.contact-info__block a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;font-weight:600;color:var(--color-primary)}.contact-info__socials{margin-top:18px;gap:10px;flex-wrap:wrap}.contact-info__social-link{width:46px;height:46px}.field{margin-bottom:14px;width:100%;min-width:0}.field-row{gap:0;margin-bottom:0;width:100%;min-width:0}.field-row>.field{margin-bottom:14px}.field label{font-size:.72rem;letter-spacing:.14em}.field input,.field select,.field textarea,.treatment-select__trigger{display:block;width:100%;max-width:100%;min-width:0;font-size:16px;padding:13px 14px;min-height:48px;border-radius:12px}.treatment-select__trigger{display:flex}.treatment-select__trigger>span:first-child{max-width:calc(100% - 28px)}.field textarea{min-height:120px}.field--invalid input,.field--invalid select,.field--invalid textarea,.field--invalid .treatment-select__trigger,.field--invalid .treatment-select__trigger:focus{animation:fieldShake .55s var(--ease);box-shadow:0 0 0 3px #dad2fd85,0 0 16px #b4a0f059}.field-hint{padding:10px 12px;border-radius:12px}.field-hint__text{font-size:.9rem}.contact-booking-price{padding:12px 14px;font-size:1.05rem;line-height:1.45}.contact-form form .btn.btn--solid{width:100%;justify-content:center;min-height:50px;margin-top:6px;font-size:1rem}.form-success{padding:28px 6px}.form-success h3{font-size:1.55rem}.form-success .btn{width:100%;justify-content:center}.treatment-select__mobile-root{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:100vw;z-index:140;pointer-events:none}.treatment-select__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;margin:0;pointer-events:auto;background:#041a2d85;cursor:pointer}.treatment-select__sheet{position:absolute;left:0;right:0;bottom:0;width:100%;max-width:100vw;min-width:0;display:flex;flex-direction:column;max-height:min(82vh,720px);pointer-events:auto;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -20px 60px #041a2d38;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}.treatment-select__sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid rgba(218,210,253,.85);background:#f8f6ff;flex-shrink:0}.treatment-select__sheet-eyebrow{display:block;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#041a2d94;margin-bottom:4px}.treatment-select__sheet-title{margin:0;font-size:1.35rem;font-style:italic;font-weight:700;line-height:1.1;color:var(--color-primary)}.treatment-select__sheet-close{flex-shrink:0;min-height:40px;padding:8px 12px;border-radius:999px;border:1px solid rgba(218,210,253,.85);background:#fff;color:var(--color-primary);font-family:inherit;font-size:.82rem;font-weight:700;letter-spacing:.02em}.treatment-select__sheet .treatment-select__search{flex-shrink:0}.treatment-select__sheet .treatment-select__list{flex:1;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.treatment-select__option{min-width:0;padding:14px 12px 14px 14px;min-height:52px}.treatment-select__option-copy{overflow:hidden}.treatment-select__option-copy strong{font-size:1rem;line-height:1.3;overflow-wrap:anywhere}.treatment-select__option em{white-space:nowrap}.treatment-select__group-label strong{font-size:1.05rem}.glass.map{grid-template-columns:1fr;box-shadow:0 10px 28px #dad2fd47}.map__art{min-height:180px}.map__cap{padding:22px 16px}.map__cap h3{font-size:1.35rem;line-height:1.2}.map__cap p{font-size:.98rem;overflow-wrap:anywhere}}@media (max-width: 380px){.glass.contact-info,.glass.contact-form{padding:20px 14px}.contact-form__title,.contact-info__title{font-size:1.85rem}.treatment-select__option{gap:8px;padding-inline:10px}.treatment-select__option em{font-size:.88rem}.map__cap{padding:20px 14px}}.contact__map-section{padding-top:40px;padding-bottom:80px}.contact-location__head{margin-bottom:30px}.contact-location__head .section__title{margin-bottom:0;font-size:clamp(2.3rem,4.2vw,3.8rem)}.contact .glass.map{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:0;padding:12px;border-radius:30px;background:#f0ecffcc!important;box-shadow:0 16px 48px #48338214}.contact .glass.map:before{display:none}.contact-map__frame{overflow:hidden;border-radius:20px;border:1px solid rgba(4,26,45,.07);background:#e9e7ed}.contact .contact-map{min-height:430px}.contact .map__cap{padding:28px 38px;align-content:center}.map__location-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:23px;border-radius:50%;background:#dad2fd;color:var(--color-primary)}.map__location-icon svg{width:25px;height:25px}.contact .map__cap .eyebrow{font-size:.7rem;letter-spacing:.17em}.contact .map__cap h3{font-size:clamp(1.65rem,2.3vw,2rem);line-height:1.2;margin:14px 0 8px}.map__hours{display:grid;gap:8px;padding-block:20px;margin-top:20px;border-top:1px solid rgba(4,26,45,.1);color:var(--color-muted);font-size:.95rem}.map__hours>span{display:flex;justify-content:space-between;gap:18px}.map__hours strong{color:var(--color-primary);font-weight:500}.contact .map__cap .btn{margin-top:7px}.map__profile{display:inline-flex;align-items:center;gap:12px;justify-self:start;margin-top:18px;font-size:.9rem;color:var(--color-muted);text-decoration:underline;text-underline-offset:4px}.map__profile:hover{color:var(--color-primary)}@media (max-width: 880px){.contact .glass.map{grid-template-columns:1fr}.contact .contact-map{min-height:340px}.contact .map__cap{padding:28px}.map__hours{max-width:380px}}@media (max-width: 540px){.contact__map-section{padding-top:24px;padding-bottom:48px}.contact .glass.map{padding:8px;border-radius:24px}.contact-map__frame{border-radius:17px}.contact .contact-map{min-height:300px}.contact .map__cap{padding:24px 16px}.map__location-icon{margin-bottom:18px}}
