.contacts-page{position:relative;z-index:3;isolation:isolate;background:#FFF8F4;color:#302A2E;min-height:100svh;padding:90px clamp(22px,5vw,80px) 38px;scroll-margin-top:36px;overflow:hidden}
.contacts-inner{max-width:1220px;margin:auto;position:relative;z-index:1}
.contacts-heading{text-align:center;margin-bottom:52px}.contacts-kicker{font:500 13px/1.4 Montserrat,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#C40276;margin:0 0 12px}
.contacts-heading h2{font:600 clamp(38px,4.4vw,66px)/1.06 "Cormorant Garamond",serif;color:#C40276;max-width:1040px;margin:auto}
.contacts-heading>p:last-child{font:400 18px/1.6 Montserrat,sans-serif;color:#71666C;margin:20px 0 0}
.contacts-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.contacts-copy{font:400 16px/1.65 Montserrat,sans-serif}.contacts-metro{font-size:20px;font-weight:500;margin:0;display:flex;align-items:center;gap:15px}.contacts-metro>span{color:#C9027A;border:1px solid #E8BB78;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;font-size:21px}
.contacts-exit{margin:4px 0 27px 55px;color:#71666C}.contacts-address{border-top:1px solid #EADDE4;border-bottom:1px solid #EADDE4;padding:20px 0}.contacts-address summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;color:#C40276;font-weight:500;gap:12px;min-height:32px}.contacts-address summary::-webkit-details-marker{display:none}.contacts-address[open] summary span{transform:rotate(45deg)}.contacts-address p{margin:14px 0 0}.contacts-address p:last-child{color:#71666C}
.contacts-phone{font-size:22px;font-weight:500;margin:26px 0}.contacts-phone a{color:#C40276;text-decoration:none}
.contacts-actions{display:grid;gap:12px;max-width:360px}.contacts-actions a,.contacts-route{font:600 16px/1.4 Montserrat,sans-serif;text-decoration:none;min-height:52px;border-radius:14px;padding:16px 23px;text-align:center;display:flex;align-items:center;justify-content:center;gap:14px;transition:transform .3s,box-shadow .3s,background .3s}
.contacts-primary{color:#fff;background:#D70283;box-shadow:0 10px 25px #EB028E20}.contacts-primary:hover{background:#C9027A;transform:translateY(-3px);box-shadow:0 14px 32px #EB028E30}.contacts-secondary{color:#C9027A;border:1px solid #C9027A;background:transparent}.contacts-secondary:hover{background:#FFF2F7;transform:translateY(-3px)}
.contacts-way{margin:24px 0 0;color:#71666C;font-size:15px;line-height:1.7}
.contacts-map{margin:0;position:relative;min-width:0}.walking-map{display:block;width:100%;height:auto;border:1px solid #E8BB7880;border-radius:28px;box-shadow:0 4px 15px #EB028E12,0 23px 55px #C4027614;background:#FFF8F4}
.contacts-map figcaption{display:flex;gap:15px;justify-content:space-between;align-items:center;font:400 12px/1.6 Montserrat,sans-serif;color:#71666C;margin:13px 4px 0}
.walking-replay{min-height:44px;padding:6px 0;cursor:pointer;background:transparent;color:#C9027A;font:500 12px/1.5 Montserrat,sans-serif;white-space:nowrap;border:0}
.contacts-route{background:#FFFFFF;color:#C9027A;border:1px solid #EADDE4;width:max-content;max-width:100%;margin:12px auto 0;box-shadow:0 6px 18px #C4027609}.contacts-route:hover{transform:translateY(-3px);background:#FFF2F7}
.walking-step{opacity:0}.route-playing .walking-step{animation:walking-appear .42s both;animation-delay:var(--step-delay)}@keyframes walking-appear{from{opacity:0}to{opacity:.9}}
.salon-aura{opacity:.1}.route-playing .salon-aura{animation:salon-arrival 3s ease-in-out infinite;animation-delay:var(--arrival-delay)}@keyframes salon-arrival{0%,100%{opacity:.15}50%{opacity:.75}}
.contacts-end{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #EADDE4;margin-top:60px;padding-top:22px;font:400 12px/1.6 Montserrat,sans-serif;color:#71666C}.contacts-end>span:first-child{color:#C40276;font-weight:500}
.contacts-flow{position:absolute;bottom:0;left:0;width:100%;height:180px;pointer-events:none;z-index:0;opacity:.7}
.contacts-page :focus-visible{outline:3px solid #EB028E;outline-offset:5px}
html[data-calm="true"] .walking-step{opacity:.9;animation:none!important}html[data-calm="true"] .salon-aura{opacity:.4;animation:none!important}
@media(prefers-reduced-motion:reduce){.walking-step{opacity:.9!important;animation:none!important}.salon-aura{opacity:.4!important;animation:none!important}.contacts-actions a,.contacts-route{transition:none}}
@media(max-width:800px){.contacts-page{padding-top:65px}.contacts-heading{margin-bottom:35px}.contacts-layout{grid-template-columns:1fr;gap:35px;max-width:640px;margin:auto}.contacts-copy{max-width:480px;width:100%;margin:auto}.contacts-heading>p:last-child{font-size:16px}.contacts-metro{font-size:18px}.contacts-actions{max-width:none;grid-template-columns:1fr 1fr}.contacts-way{font-size:14px}.contacts-end{flex-direction:column;gap:8px;margin-top:40px}.contacts-map figcaption{font-size:11px}.contacts-route{font-size:14px}}
@media(max-width:420px){.contacts-actions{grid-template-columns:1fr}.contacts-map figcaption{align-items:start;gap:8px}.contacts-heading h2{font-size:37px}.contacts-phone{font-size:20px}.walking-map{border-radius:20px}}

.site-legal-footer{margin-top:30px;padding-top:20px;border-top:1px solid #EADDE4;color:#71666C;font:400 13px/1.65 Montserrat,sans-serif;text-align:left}.site-legal-footer p{margin:0 0 12px}.site-legal-footer nav{display:flex;flex-wrap:wrap;gap:10px 24px}.site-legal-footer a{color:#C9027A;font:500 13px/1.6 Montserrat,sans-serif;text-underline-offset:4px;padding:5px 0}.site-legal-footer a:focus-visible{outline:3px solid #EB028E;outline-offset:3px}.nail-page>.site-legal-footer{margin:25px clamp(24px,5vw,80px) 0;padding-bottom:30px}

/* Contacts continue the approved fuchsia scene. */
@font-face{font-family:"Great Vibes";src:url(./great-vibes.ttf) format("truetype");font-weight:400;font-display:swap}
.contacts-page{background:transparent;color:var(--scene-pearl);padding-top:64px;overflow:hidden}
.contacts-inner{max-width:1060px}.contacts-heading{margin:0 0 48px}.contacts-heading h2{font:400 clamp(27px,5.1vw,68px)/1.5 "Great Vibes",cursive;white-space:nowrap;color:var(--scene-pearl);text-shadow:0 0 26px #E8BB7830;margin:0 auto;max-width:none}
.contacts-layout{grid-template-columns:minmax(280px,1fr) minmax(280px,460px);gap:70px}.contacts-map{width:100%;max-width:460px;justify-self:end}.walking-map{border:1px solid #E8BB7899;box-shadow:0 0 7px #E8BB7825,0 0 35px #E8BB7820,0 23px 45px #7C004930}.map-buildings{filter:drop-shadow(1px 2px 1px #BCA9A24A)}
.contacts-metro>span{color:var(--scene-gold);border-color:#E8BB7880}.contacts-exit,.contacts-address p:last-child{color:#FFF8F4C9}.contacts-address{border-color:#E8BB7845}.contacts-address summary,.contacts-phone a{color:var(--scene-pearl)}.contacts-primary{background:#D70283;border:1px solid #E8BB7870;box-shadow:0 0 22px #E8BB7815}.contacts-secondary{color:#FFF8F4;border-color:#E8BB7890;background:#FFF8F408}.contacts-secondary:hover{background:#FFF8F418}.contacts-route{background:#FFF8F40C;color:#FFF8F4;border-color:#E8BB7870;margin-top:22px;box-shadow:0 0 16px #E8BB7818}.contacts-route:hover{background:#FFF8F41C}
.contacts-page .site-legal-footer{color:#FFF8F4A8;border-color:#E8BB7845;margin-top:48px}.contacts-page .site-legal-footer a{color:#FFF8F4C9}.contacts-flow{display:none}
.route-playing .walking-step{animation:walking-cycle var(--walking-cycle,8s) linear infinite;animation-delay:var(--step-delay)}@keyframes walking-cycle{0%{opacity:0}4%{opacity:1}22%{opacity:.8}36%,100%{opacity:0}}.route-paused .walking-step,.route-paused .salon-aura{animation-play-state:paused}
@media(max-width:800px){.contacts-layout{grid-template-columns:1fr;gap:34px;max-width:500px}.contacts-map{justify-self:center;max-width:400px}.contacts-heading{margin-bottom:28px}.contacts-page{padding-top:54px}.contacts-heading h2{font-size:clamp(25px,6.1vw,49px)}.contacts-copy{max-width:440px}}

.walking-map .map-buildings{filter:drop-shadow(0 1.5px 1px #A9998933)}

/* Reference calligraphy, drawn as scalable contours. */
.contacts-heading h2{width:min(930px,100%);font-size:0;line-height:0;white-space:normal;text-shadow:none;overflow:visible}
.contacts-lettering{display:block;width:100%;height:auto;filter:drop-shadow(0 0 13px #E8BB7820)}
@media(max-width:800px){.contacts-heading h2{width:100%;font-size:0;line-height:0}.contacts-heading{margin-bottom:28px}}

/* Compact glass actions share the direction spheres' breathing gold rim. */
.contacts-actions{display:flex;flex-wrap:wrap;align-items:center;gap:30px;max-width:330px;padding:12px 6px 18px}
.contacts-actions a{position:relative;isolation:isolate;flex:0 0 130px;width:130px;height:130px;min-height:0;padding:12px;border-radius:50%;border:1px solid #FFE0A499;background:radial-gradient(circle at 29% 22%,#FFF8F432 0%,#FFF8F411 26%,#C4027620 62%,#71004235 100%);color:#FFF8F4;font:500 15px/1.5 Montserrat,sans-serif;box-shadow:inset 0 1px 9px #FFF8F44D,inset -5px -10px 21px #70004225;backdrop-filter:blur(3px);animation:contacts-orb-drift 8s ease-in-out infinite;transition:scale .5s ease,background .5s ease;transform:none;will-change:translate}
.contacts-actions a:nth-child(2){animation-duration:9.6s;animation-delay:-3.2s}
.contacts-actions a::before{content:"";position:absolute;inset:-1px;border-radius:50%;border:2px solid #FFE0A4;pointer-events:none;box-shadow:0 0 5px 2px #FFE7B89C,0 0 14px 5px #FFC46766,0 0 27px 9px #F4B7522B,inset 0 0 7px 2px #FFDDA65E;animation:contacts-orb-breathe 6.8s ease-in-out infinite alternate}
.contacts-actions a:nth-child(2)::before{animation-delay:-2.7s}
.contacts-actions a::after{content:"";position:absolute;inset:6px;border-radius:50%;background:radial-gradient(ellipse at 27% 16%,#FFF8F452,transparent 34%);pointer-events:none}
.contacts-actions a>span{position:relative;z-index:1;text-shadow:0 1px 7px #72004270}
.contacts-actions a:hover{scale:1.045;transform:none;background:radial-gradient(circle at 29% 22%,#FFF8F446,#FFF8F416 35%,#C4027628 76%);box-shadow:inset 0 1px 9px #FFF8F44D,inset -5px -10px 21px #70004225}
.contacts-actions a:focus-visible{outline:2px solid #FFF8F4;outline-offset:8px}
@keyframes contacts-orb-drift{0%,100%{translate:0 2px}32%{translate:3px -5px}68%{translate:-2px -2px}}
@keyframes contacts-orb-breathe{from{opacity:.6;filter:brightness(1)}to{opacity:1;filter:brightness(1.18)}}
html[data-calm="true"] .contacts-actions a,html[data-calm="true"] .contacts-actions a::before{animation:none;will-change:auto}
@media(prefers-reduced-motion:reduce){.contacts-actions a,.contacts-actions a::before{animation:none;transition:none;will-change:auto}}
@media(max-width:420px){.contacts-actions{gap:24px;max-width:none}.contacts-actions a{flex-basis:120px;width:120px;height:120px;font-size:14px}}

/* Route retains its rounded rectangle, with the same floating light. */
.contacts-route{position:relative;isolation:isolate;animation:contacts-orb-drift 9.2s ease-in-out infinite;animation-delay:-1.8s;will-change:translate;transition:scale .5s ease,background .5s ease;box-shadow:inset 0 1px 7px #FFF8F421}
.contacts-route::before{content:"";position:absolute;inset:-1px;border-radius:inherit;border:2px solid #FFE0A4;pointer-events:none;box-shadow:0 0 5px 2px #FFE7B89C,0 0 14px 5px #FFC46766,0 0 27px 9px #F4B7522B,inset 0 0 7px 2px #FFDDA65E;animation:contacts-orb-breathe 6.8s ease-in-out infinite alternate;animation-delay:-1.3s}
.contacts-route:hover{transform:none;scale:1.025}
html[data-calm="true"] .contacts-route,html[data-calm="true"] .contacts-route::before{animation:none;will-change:auto}
@media(prefers-reduced-motion:reduce){.contacts-route,.contacts-route::before{animation:none;transition:none;will-change:auto}}

/* The map floats independently; its route control keeps its own motion. */
.walking-map{animation:contacts-map-drift 10.8s ease-in-out infinite,contacts-map-light 6.8s ease-in-out infinite alternate;animation-delay:-2s,-1.45s;border:2px solid #FFE0A4;will-change:translate}
@keyframes contacts-map-drift{0%,100%{translate:0 4px}32%{translate:3px -5px}68%{translate:-3px -2px}}
@keyframes contacts-map-light{from{box-shadow:0 0 5px 2px #FFE7B86B,0 0 14px 5px #FFC4674D,0 0 27px 9px #F4B75222,0 23px 45px #7C004930}to{box-shadow:0 0 5px 2px #FFE7B8B3,0 0 14px 5px #FFC46785,0 0 27px 9px #F4B75238,0 23px 45px #7C004930}}
html[data-calm="true"] .walking-map{animation:none;will-change:auto;box-shadow:0 0 5px 2px #FFE7B88C,0 0 14px 5px #FFC46766,0 0 27px 9px #F4B7522D,0 23px 45px #7C004930}
@media(prefers-reduced-motion:reduce){.walking-map{animation:none;will-change:auto}}

/* Hover brightens the rim without interrupting the floating motion. */
.walking-map{transition:filter .55s ease,border-color .55s ease}
.walking-map:hover{border-color:#FFF0CD;filter:drop-shadow(0 0 5px #FFE7B8B3) drop-shadow(0 0 12px #FFC46785)}
@media(prefers-reduced-motion:reduce){.walking-map{transition:none}}
