.cm-icon{display:inline-block;flex:none;width:20px;height:20px;vertical-align:middle;fill:currentColor;stroke:none;pointer-events:none}.chevron,.teaser-arrow,.service-photo-copy>a>span,.hero-news b,.editorial-card-copy b,.portfolio-main-image>span{display:inline-flex;align-items:center;justify-content:center}.chevron .cm-icon,.service-photo-copy>a .cm-icon,.editorial-card-copy b .cm-icon{width:20px;height:20px}.desktop-nav .cm-icon,.breadcrumbs .cm-icon{width:13px;height:13px}.mobile-drawer nav i{display:grid;place-items:center}.mobile-drawer nav i .cm-icon{width:21px;height:21px}.price-quick-link>span:last-child .cm-icon{width:22px;height:22px}.teaser-arrow .cm-icon{width:23px;height:23px}.editorial-teaser:hover .teaser-arrow{transform:translateX(3px)}.phorma-benefits>div>span .cm-icon{width:21px;height:21px}.phorma-benefits>div{grid-template-columns:24px 1fr}.credential-row div:before{content:none}.credential-row .credential-icon{position:absolute;right:11px;top:10px;width:18px;height:18px;color:var(--gold)}.value-card:before{content:none}.value-line{width:34px;height:34px;background:none;top:24px;left:27px;display:block}.value-line .cm-icon{width:34px;height:34px;color:var(--gold)}.value-card:hover .value-line{width:34px}.portfolio-nav button,.work-lightbox-controls button{display:grid;place-items:center}.portfolio-nav button .cm-icon{width:19px;height:19px}.work-lightbox-controls button .cm-icon{width:21px;height:21px}.work-close .cm-icon{width:23px;height:23px}.hero-scroll .cm-icon,.text-link .cm-icon{width:17px;height:17px}.booking-back{display:inline-flex;align-items:center;gap:7px}.booking-back .cm-icon{width:16px;height:16px}.booking-success>span .cm-icon{width:30px;height:30px}.footer-grid button:after{content:none}.footer-grid button{display:flex;justify-content:space-between;align-items:center}.footer-grid button .cm-icon{width:18px;height:18px}.service-options input:checked+span:after{content:"";width:17px;height:17px;background:currentColor;-webkit-mask:url('assets/phosphor/check.svg') center/contain no-repeat;mask:url('assets/phosphor/check.svg') center/contain no-repeat}
@media(max-width:760px){.value-line{top:22px;left:27px}.cm-icon{width:18px;height:18px}.price-quick-link>span:last-child .cm-icon{width:20px;height:20px}}

/* Keep vector icons on the same visual centre as their labels. */
.cm-icon{vertical-align:middle}
button>.cm-icon,.chevron>.cm-icon,.teaser-arrow>.cm-icon{display:block}
.booking-close,.work-close{display:grid;place-items:center;padding:0;line-height:1}
.booking-close .cm-icon{width:20px;height:20px}
.work-close{width:36px;height:36px}
.booking-actions button{align-items:center;justify-content:center;min-height:48px;line-height:1.2}
.booking-next>span,.booking-submit>span{display:flex;align-items:center;justify-content:center;flex:none;line-height:1}
.booking-next .cm-icon,.booking-submit .cm-icon{display:block;width:20px;height:20px}
.header-booking,.button,.drawer-appointment{line-height:1.25}
.chevron,.teaser-arrow,.related-pages i,.breadcrumbs>span,.floating-booking i{flex-shrink:0;line-height:1}
.related-pages i,.floating-booking i{display:inline-flex;align-items:center;justify-content:center;font-style:normal}
.service-card>a,.service-photo-copy>a{align-items:center;gap:16px;line-height:1.4}
.service-photo-copy>a>span{flex-shrink:0}
.hero-news>span{display:flex;align-items:center;justify-content:space-between;gap:7px;line-height:1.5}
.hero-news>span b{margin:0;flex:none}
.hero-news>span .cm-icon{width:16px;height:16px}
.phorma-benefits>div>span{display:flex;align-items:flex-start;padding-top:1px}
.credential-row small{max-width:calc(100% - 48px);line-height:1.3}
:is(button,a,summary):focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:760px){
  .work-close{right:10px;top:7px}
  .hero-news>span{font-size:9px}
}
/* Give tall accents room above the large editorial headings. */
.price-hero h1{line-height:1}
.sub-hero h1{line-height:.95}
.mobile-drawer nav a{gap:14px}
.mobile-drawer nav a i{flex:none;padding:0}
@media(max-width:760px){
  .mobile-drawer nav a,.subpage .mobile-drawer nav a{font-size:clamp(27px,8.3vw,42px);line-height:1.05}
  .intro h2{font-size:clamp(44px,12.8vw,70px)}
}
