/* Shared brand colour across every call to action and interactive button. */
:root{--brand-pink:#99245f;--brand-pink-hover:#7c184b}
body :is(button,.button,.book-link,.nav-book,.course-book-button,.price-book,.google-review-primary,.google-review-secondary,.instagram-contact-button,.reveal-booking){background:var(--brand-pink)!important;color:#fff8fc!important;border-color:var(--brand-pink)!important}
body :is(button,.button,.book-link,.nav-book,.course-book-button,.price-book,.google-review-primary,.google-review-secondary,.instagram-contact-button,.reveal-booking):hover{background:var(--brand-pink-hover)!important;border-color:var(--brand-pink-hover)!important;color:#fff!important}
body :is(button,.button,.book-link,.nav-book,.course-book-button,.price-book,.google-review-primary,.google-review-secondary,.instagram-contact-button):focus-visible{outline:3px solid #df92b7;outline-offset:4px}
.header .menu-button span{background:currentColor}

.services-explained #services-heading{font-family:var(--sans);font-weight:800;color:var(--brand-pink);font-size:clamp(36px,4.5vw,66px);letter-spacing:-.045em;line-height:1.12}
.services-explained #services-heading em{font-style:normal;font-weight:800;color:var(--brand-pink)}
.services-explained .service-explainer h3{font-family:var(--sans);font-weight:800;color:var(--brand-pink);font-size:clamp(27px,3vw,38px);letter-spacing:-.035em}
@media(max-width:560px){.services-explained #services-heading{font-size:38px}}

.header .brand-mark{display:block;width:80px;height:80px;object-fit:contain;border-radius:0;box-shadow:none;background:transparent}
@media(max-width:560px){.header .brand-mark{width:64px;height:64px}}
.services-explained #services-heading em{white-space:normal;overflow-wrap:normal}

/* Consistent, platform-independent line icons. */
.ui-arrow{display:inline-block;width:20px;height:20px;vertical-align:middle;flex-shrink:0;overflow:visible;margin-left:8px}
.arrow-diagonal{transform:rotate(-45deg)}.arrow-left{transform:rotate(180deg)}.arrow-down{transform:rotate(90deg)}.arrow-up{transform:rotate(-90deg)}
.nav-arrow .ui-arrow,.review-controls .ui-arrow,.showcase-controls .ui-arrow{margin:0;width:20px;height:20px}.nav-arrow{display:flex;align-items:center}.review-prev,.review-next{display:inline-flex;align-items:center;justify-content:center}
.review-stars{display:block;width:min(100%,330px);height:auto;margin:26px 0;background:transparent;overflow:visible}.star-outline{fill:none;stroke:#b48950;stroke-width:1.2;opacity:.48}.star-lit{fill:url(#star-gold);stroke:#c69540;stroke-width:.8;opacity:.12;animation:star-illuminate 5.6s ease-in-out infinite;animation-delay:var(--delay);transform-origin:28px 28px}
@keyframes star-illuminate{0%,9%,100%{opacity:.12;transform:scale(.94)}20%,72%{opacity:1;transform:scale(1)}82%{opacity:.35;transform:scale(.98)}}
@media(prefers-reduced-motion:reduce){.star-lit{animation:none;opacity:1;transform:none}}
