.public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.public-card{padding:28px;border:1px solid var(--line);border-radius:28px;background:white}.public-card img{width:100%;height:270px;object-fit:cover;border-radius:55px 22px 22px}.public-card h3{margin-top:18px}.public-card .initials{height:270px}.public-profile{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:50px}.public-profile>img{width:100%;border-radius:60px 25px}.public-profile p{white-space:pre-line}.book-layout{display:grid;grid-template-columns:minmax(230px,330px) 1fr;gap:30px}.book-layout label{display:block;margin:16px 0}.book-layout select{width:100%;padding:13px;border:1px solid var(--line);border-radius:14px;background:white}.slot-list{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.slot-list button{padding:12px 20px;border:1px solid var(--teal);border-radius:30px;background:white;color:var(--deep)}.slot-list button.chosen{background:var(--deep);color:white}.book-feedback{background:var(--pale);padding:18px;border-radius:18px}.book-feedback:empty{display:none}.test-tag{color:var(--muted);font-size:14px}.gallery figure{margin:0}.gallery img{width:100%;object-fit:cover}.public-card .button{margin-top:12px}.public-card p{color:var(--muted)}@media(max-width:760px){.book-layout,.public-profile{grid-template-columns:1fr}.public-profile>img{max-height:350px;object-fit:cover}}
.public-profile>aside>img{display:block;width:100%;height:auto;border-radius:60px 25px}.public-grid+h2,.public-profile+h2{margin-top:48px}@media(max-width:760px){.public-profile>aside>img{max-height:350px;object-fit:cover}}
.booking-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:34px}.booking-flip{height:430px;perspective:1200px}.booking-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.75,.25,1)}.booking-flip.is-flipped .booking-card-inner{transform:rotateY(180deg)}.booking-card-front,.booking-card-back{position:absolute;inset:0;width:100%;height:100%;border:1px solid var(--line);border-radius:34px;background:#fff;box-shadow:0 14px 35px #173f4920;backface-visibility:hidden;overflow:hidden}.booking-card-front{padding:0;text-align:left;color:var(--ink);display:flex;flex-direction:column}.booking-card-front:hover{background:#fff;border-color:var(--teal);transform:translateY(-2px)}.booking-portrait{display:block;height:285px;width:100%;overflow:hidden}.booking-portrait img,.booking-portrait .initials{width:100%;height:100%;min-height:0;border-radius:0;object-fit:cover;object-position:center 22%}.booking-person{display:block;padding:20px 22px 8px}.booking-person strong,.booking-person small{display:block}.booking-person strong{font-size:21px}.booking-person small{margin-top:4px;color:var(--muted)}.booking-card-front>.availability-label{margin:0 22px 20px}.booking-card-back{transform:rotateY(180deg);padding:28px;overflow:auto}.booking-card-back h2{font-size:25px;margin-bottom:8px}.booking-card-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--deep);padding:0;font-size:22px}.booking-service-links{display:grid;gap:9px;margin:18px 0}.booking-service-links a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;text-decoration:none;background:var(--light)}.booking-service-links a:hover{border-color:var(--teal)}.booking-service-links strong,.booking-service-links small{display:block}.booking-service-links small{color:var(--muted);font-weight:400}.booking-service-links a>span:last-child{font-size:12px;color:var(--teal);text-align:right}.known-client-note{padding:18px;border-radius:18px;background:#fff4e7;border-left:4px solid var(--orange)}.known-client-note p{margin:8px 0 14px}.known-client-note .button{display:inline-block}@media(max-width:760px){.booking-card-grid{grid-template-columns:1fr}.booking-flip{height:420px;max-width:430px;width:100%;margin:auto}.booking-portrait{height:275px}}
