:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:root:root {
  --primary: #e3854c;
--primary-hover: #e99f71;
--primary-light: #f5d2bd;
--primary-ultra-light: #fcf0e9;
--brand-red: #df4c4b;
--gradient: linear-gradient(250deg, var(--primary), var(--brand-red));
--gradient-v: linear-gradient(var(--primary), var(--brand-red));
--gradient-menu: linear-gradient(300deg, var(--brand-red), var(--primary));
--secondary: #3caf9f;
--base: #fef9f6;
--shade: #3b3735;
--shade-dark: #433f3d;
--shade-ultra-dark: #1b1918;
--accent: #787878;
--accent-dark: #404040;
--action: #5b99a6;
--white: #fff;
--black: #000;
--shade-trans-40: rgba(59, 55, 53, 0.4);
--white-trans-10: rgba(255, 255, 255, 0.1);
--body-bg-color: var(--white);
--text-color: var(--accent-dark);
--heading-color: var(--shade);
}
:root:root {
  --text-font-family: "SB - Modern", Tahoma, system-ui, sans-serif;
--display-font-family: LEMONMILK, "SB - Modern", Tahoma, system-ui, sans-serif;
--heading-font-family: var(--text-font-family);
--heading-font-weight: 700;
--heading-line-height: 1.1;
/* Source (ACSS 3.3.7, 62.5% root) text scale converted x0.625 to this site's 16px rem, so computed px match the source exactly */
--text-line-height: calc(6px + 2ex);
--h1: clamp(1.728rem, calc(3.0575vw + 1.1165rem), 3.5625rem);
--h2: clamp(1.44rem, calc(0.931666875vw + 1.253666625rem), 1.999000125rem);
--h3: clamp(1.2rem, calc(0.499375vw + 1.100125rem), 1.499625rem);
--h4: clamp(1rem, calc(0.2083333333vw + 0.9583333333rem), 1.125rem);
--text-xxl: clamp(2.376rem, calc(2.4549394752vw + 1.8850121049rem), 3.8489636851rem);
--text-xl: clamp(1.98rem, calc(1.5124077083vw + 1.6775184583rem), 2.887444625rem);
--text-l: clamp(1.65rem, calc(0.5833333333vw + 1.5333333333rem), 2rem);
--text-m: clamp(1.375rem, calc(0.4166666667vw + 1.2916666667rem), 1.625rem);
--text-s: clamp(1.1458333333rem, calc(0.1220357173vw + 1.1214261899rem), 1.2190547637rem);
--text-xs: clamp(0.9548611111rem, calc(-0.0672356807vw + 0.9683082473rem), 0.9145197027rem);
}
:root:root {
  --space-xs: 0.84rem;
--space-s: clamp(1.125rem, 0.208vw + 1.084rem, 1.25rem);
--space-m: clamp(1.5rem, 0.625vw + 1.375rem, 1.875rem);
--space-l: clamp(2rem, 1.355vw + 1.728rem, 2.812rem);
--space-xl: clamp(2.665rem, 2.589vw + 2.148rem, 4.219rem);
--space-xxl: clamp(3.553rem, 4.625vw + 2.628rem, 6.328rem);
--section-space-xs: clamp(2.533rem, 1.335vw + 2.266rem, 3.333rem);
--section-space-s: clamp(3.376rem, 2.707vw + 2.834rem, 5rem);
--section-space-m: clamp(4.5rem, 5vw + 3.5rem, 7.5rem);
--gutter: clamp(1.5rem, 0.625vw + 1.375rem, 1.875rem);
}
:root:root {
  --content-width: 80rem;
--radius: 0.625rem;
--btn-radius: 0.5rem;
--header-height: 5.5rem;
--hero-text-shadow: 5px 5px 8px var(--shade-trans-40);
--box-shadow-m: 0 0 10px rgba(0, 0, 0, 0.3);
}
.icon {
  inline-size: 1.25em; block-size: 1.25em; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5em; padding: 0.35em 1.1em; border: 0; border-radius: var(--btn-radius);
  background: var(--gradient); color: var(--white); font-family: var(--text-font-family); font-size: var(--text-m); font-weight: 400; line-height: var(--text-line-height); text-decoration: none; white-space: nowrap;
  box-shadow: 0 4px 14px rgba(223, 76, 75, 0.25); transition: filter 0.2s ease, transform 0.2s ease; cursor: pointer;
  &[data-size="l"] { font-size: var(--text-m); }
  &:hover { color: var(--white); filter: brightness(1.08); transform: translateY(-1px); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.embed-frame {
  inline-size: 100%; block-size: 100%; min-block-size: var(--embed-min-height, 0px);
}
.embed-frame__iframe {
  display: block; inline-size: 100%; block-size: 100%; min-block-size: var(--embed-min-height, 0px); aspect-ratio: var(--embed-ratio, 16 / 9); border: 0;
}
.page-hero {
  position: relative; isolation: isolate; display: grid; place-items: center; min-block-size: 80svh; padding-block: calc(var(--header-height) + var(--space-l)) var(--space-xxl); padding-inline: var(--gutter); overflow: hidden; background-color: var(--shade); color: var(--white); text-align: center;
  &[data-layout="home"] { min-block-size: 100svh; }
  &[data-layout="title"] { min-block-size: 55svh; padding-block-end: var(--space-xl); }
}
.page-hero__bg {
  position: absolute; inset: 0; z-index: -2; inline-size: 100%; block-size: 100%; object-fit: cover;
}
.page-hero__video {
  position: absolute; inset: 0; z-index: -2; inline-size: 100%; block-size: 100%; object-fit: cover;
}
.page-hero__overlay {
  position: absolute; inset: 0; z-index: -1; background-color: var(--shade-trans-40);
}
.page-hero__inner {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-l); inline-size: 100%; max-inline-size: var(--content-width);
  &[data-layout="home"] { display: grid; grid-template-columns: 1fr 1fr; align-items: center; text-align: start; }
  @media (width < 768px) { &[data-layout="home"] { grid-template-columns: 1fr; text-align: center; justify-items: center; } }
}
.page-hero__logo {
  display: flex; justify-content: center;
}
.page-hero__logo-image {
  block-size: 50vh; max-block-size: 50vh; inline-size: auto; max-inline-size: 100%;
  @media (width <= 1280px) { block-size: 27vw; }
  @media (width < 768px) { block-size: 9.375rem; }
  @media (width < 480px) { block-size: 25vw; }
}
.page-hero__content {
  display: flex; flex-direction: column; gap: var(--space-s); max-inline-size: 60rem;
}
.page-hero__heading {
  font-size: var(--text-xxl); font-weight: 700; line-height: var(--text-line-height); color: var(--white); text-shadow: var(--hero-text-shadow); white-space: pre-line;
  &[data-font="display"] { font-family: var(--display-font-family); font-weight: 700; }
  .page-hero[data-layout="home"] & { font-size: clamp(var(--text-xl), 4vw, var(--text-xxl)); line-height: 1.3;
    @media (width < 992px) { font-size: clamp(var(--text-l), 4vw, var(--text-xxl)); }
    @media (width < 768px) { font-size: 5vw; } }
  .page-hero[data-layout="home"] &[data-font="display"] { font-weight: 500; letter-spacing: 12px;
    @media (width < 768px) { letter-spacing: 8px; }
    @media (width < 480px) { letter-spacing: 5px; } }
  .page-hero[data-layout="page"] &[data-font="display"] { font-weight: 500; letter-spacing: 1.6vw; line-height: 1.5; }
}
.page-hero__text {
  font-size: var(--text-l); line-height: var(--text-line-height); color: var(--white); text-shadow: var(--hero-text-shadow); white-space: pre-line;
}
.page-hero__book {
  position: absolute; inset-block-end: var(--space-m); inset-inline: 0; margin-inline: auto; inline-size: fit-content; display: flex; flex-direction: column; align-items: center; gap: 0.4em; color: var(--white); text-decoration: none; font-size: var(--text-s);
  &:hover { color: var(--primary-light); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.page-hero__book-label {
  font-family: var(--text-font-family); font-size: var(--text-m); font-weight: 100; letter-spacing: 5px;
  @media (width < 992px) { letter-spacing: 3px; }
}
.intro-band {
  position: relative; isolation: isolate; padding-block: var(--section-space-s); padding-inline: var(--gutter); overflow: hidden; background: var(--gradient); color: var(--white); text-align: center;
  &::after { content: ""; position: absolute; inset: 0; z-index: -1; background-color: rgba(0, 0, 0, 0.2); pointer-events: none; }
}
.intro-band__bg {
  position: absolute; inset: 0; z-index: -1; inline-size: 100%; block-size: 100%; object-fit: cover;
}
.intro-band__container {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-s); max-inline-size: var(--content-width); margin-inline: auto;
}
.intro-band__heading {
  font-size: var(--text-m); line-height: var(--text-line-height); letter-spacing: 5px; color: var(--white); text-shadow: var(--hero-text-shadow); white-space: pre-line;
  @media (width < 992px) { letter-spacing: 3px; }
  &[data-font="display"] { font-family: var(--display-font-family); font-weight: 700; }
}
.intro-band__text {
  max-inline-size: 60rem; font-size: var(--text-m); color: var(--white); text-shadow: var(--hero-text-shadow); white-space: pre-line;
}
.section {
  padding-inline: var(--gutter); background-color: var(--white); color: var(--text-color);
  &[data-theme="base"] { background-color: var(--base); }
  &[data-theme="dark"] { background-color: var(--shade-dark); color: var(--white); }
  &[data-theme="gradient"] { background: var(--gradient); color: var(--white); }
  &[data-space="s"] { padding-block: var(--section-space-s); }
  &[data-space="m"] { padding-block: var(--section-space-m); }
  &[data-space="none"] { padding-block: 0; }
  &[data-width="full"] { padding-inline: 0; }
}
.section__inner {
  display: flex; flex-direction: column; gap: var(--space-l); inline-size: 100%; max-inline-size: var(--content-width); margin-inline: auto;
  &[data-width="full"] { max-inline-size: none; }
}
.section__heading {
  font-size: var(--text-l); text-align: center; color: inherit;
}
.feature-grid__item {
  display: flex;
}
.feature-card {
  position: relative; isolation: isolate; flex: 1; display: flex; flex-direction: column; align-items: center; gap: var(--space-s); padding: var(--space-l) var(--space-m); overflow: hidden;
  background-color: var(--shade); color: var(--white); text-align: center; text-decoration: none; border-inline-end: 1px solid rgba(255, 255, 255, 0.15); min-block-size: 23.75rem;
  &:hover { color: var(--white); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.feature-card__bg {
  position: absolute; inset: 0; z-index: -1; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); filter: brightness(0.35); transition: opacity 0.5s ease, transform 0.8s ease;
  .feature-card:is(:hover, :focus-visible) & { opacity: 1; transform: scale(1); }
}
.feature-card__heading {
  font-size: var(--text-m); line-height: var(--text-line-height); letter-spacing: 3px; color: inherit;
  @media (width < 992px) { letter-spacing: 2px; }
  &[data-font="display"] { font-family: var(--display-font-family); font-weight: 700; }
  div.feature-card > & { line-height: 0.8; }
}
.feature-card__text {
  font-size: var(--text-m); color: inherit; white-space: pre-line;
}
.feature-card__icon {
  inline-size: 4rem; block-size: 4rem; margin-block-start: auto; object-fit: contain;
}
.media-text {
  display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background-color: var(--white); color: var(--accent); overflow: hidden;
  &[data-image-position="right"] { --media-order: 2; }
  &[data-theme="dark"] { background-color: var(--shade-dark); color: var(--white); --mt-heading: var(--white); }
  @media (width < 768px) { grid-template-columns: 1fr; --media-order: 0; }
}
.media-text__media {
  order: var(--media-order, 0); min-block-size: 20rem;
}
.media-text__image {
  inline-size: 100%; block-size: 100%; object-fit: cover;
}
.media-text__content {
  position: relative; display: flex; flex-direction: column; justify-content: center; gap: var(--space-s); padding: var(--space-xl) var(--space-l);
  &[data-ring="yes"]::after { content: ""; position: absolute; inset-block-end: -5rem; inset-inline-start: -5rem; inline-size: 11.25rem; aspect-ratio: 1; border-radius: 50%; background: var(--gradient); -webkit-mask: radial-gradient(circle, transparent 52%, #000 53%); mask: radial-gradient(circle, transparent 52%, #000 53%); pointer-events: none; }
}
.media-text__heading {
  font-size: var(--text-xl); line-height: 0.8; color: var(--mt-heading, var(--shade)); white-space: pre-line;
  &[data-font="display"] { font-family: var(--display-font-family); font-size: var(--text-l); font-weight: 500; line-height: var(--text-line-height); }
}
.separator {
  display: block; inline-size: 2.5rem; block-size: 0.25rem; border-radius: 2px; background: var(--gradient);
}
.media-text__body {
  display: flex; flex-direction: column; gap: var(--space-xs); font-size: var(--text-m);
}
.media-text__actions {
  display: flex; justify-content: flex-end; padding-block-start: var(--space-s);
}
.service-item {
  position: relative; display: flex; flex-direction: column; font-size: var(--text-s);
  &[data-kind="content"] { padding-inline-start: 1em; }
  &[data-kind="content"]::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 0.55em; inline-size: 0.35em; block-size: 0.35em; border-radius: 50%; background-color: var(--primary); }
  &[data-kind="head"] { font-weight: 700; color: var(--shade); grid-column: 1 / -1; padding-block-start: var(--space-xs); }
  &[data-kind="indent"] { padding-inline-start: 2.5em; }
}
.service-item__text {
  font-size: var(--text-l); font-weight: 400; line-height: var(--text-line-height); color: inherit;
  @media (width < 768px) { line-height: inherit; }
}
.service-item__sub {
  font-size: var(--text-m); color: var(--accent);
}
.service-list {
  padding-block: var(--section-space-s); padding-inline: var(--gutter); background-color: var(--base); color: var(--accent-dark);
  &[data-theme="white"] { background-color: var(--white); }
}
.service-list__container {
  display: flex; flex-direction: column; gap: var(--space-s); max-inline-size: var(--content-width); margin-inline: auto;
}
.service-list__heading {
  font-size: var(--text-xl); line-height: 0.8; color: var(--shade);
  &[data-font="display"] { font-family: var(--display-font-family); font-weight: 700; line-height: var(--text-line-height); }
}
.service-list__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xs) var(--space-l); padding-block-start: var(--space-s);
  @media (width < 992px) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  @media (width < 560px) { grid-template-columns: 1fr; }
  &:has(> .service-list__col) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  @media (width < 768px) { &:has(> .service-list__col) { grid-template-columns: minmax(0, 1fr); } }
}
.check-item {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-xs); text-align: center; color: var(--white);
  &[data-layout="row"] { flex-direction: row; align-items: flex-start; text-align: start; }
}
.check-item__icon {
  display: inline-flex; font-size: var(--text-xl); color: var(--white);
  .check-item[data-layout="row"] & { font-size: var(--text-m); color: var(--primary); }
}
.check-item__body {
  display: flex; flex-direction: column;
}
.check-item__text {
  font-size: var(--text-m);
}
.check-item__sub {
  font-size: var(--text-l); line-height: var(--text-line-height);
}
.feature-band {
  display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background-color: var(--shade-dark); color: var(--white);
  @media (width < 768px) { grid-template-columns: 1fr; }
}
.feature-band__panel {
  display: flex; flex-direction: column; justify-content: center; gap: var(--space-s); padding: var(--space-xl) var(--space-l);
}
.feature-band__title {
  display: flex; align-items: center; gap: var(--space-xs);
}
.feature-band__icon {
  inline-size: 2.5rem; block-size: auto;
}
.feature-band__heading {
  font-family: var(--display-font-family); font-size: var(--text-l); font-weight: 700; letter-spacing: 3px; line-height: var(--text-line-height); color: var(--white);
}
.feature-band__text {
  font-size: var(--text-m); color: var(--white); white-space: pre-line;
}
.feature-band__list {
  display: flex; flex-direction: column; gap: var(--space-xs);
}
.feature-band__media {
  min-block-size: 22.5rem;
}
.feature-band__image {
  inline-size: 100%; block-size: 100%; object-fit: cover;
}
.statement-band {
  position: relative; isolation: isolate; padding-block: var(--section-space-s); padding-inline: var(--gutter); overflow: hidden; background-color: var(--shade-dark); color: var(--white);
}
.statement-band__bg {
  position: absolute; inset: 0; z-index: -1; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: 0.25;
}
.statement-band__container {
  display: grid; grid-template-columns: 1fr 1.4fr; align-items: center; gap: var(--space-l); max-inline-size: var(--content-width); margin-inline: auto;
  @media (width < 768px) { grid-template-columns: 1fr; }
}
.statement-band__heading {
  display: flex; flex-direction: column; text-align: end; color: var(--primary);
  @media (width < 768px) { text-align: start; }
}
.statement-band__lead {
  font-size: 3.75rem; line-height: 0.6;
  @media (width <= 1280px) { font-size: 2.8125rem; }
  @media (width < 992px) { font-size: 2.5rem; }
  @media (width < 768px) { font-size: 3.125rem; }
}
.statement-band__emphasis {
  font-size: calc(var(--text-xxl) * 2.5); letter-spacing: 3px; font-style: italic; font-weight: 700; line-height: 0.6; background: var(--gradient); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.statement-band__text {
  font-size: var(--text-m); color: var(--white); white-space: pre-line;
}
.showcase {
  display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background-color: var(--shade-dark); color: var(--white); scroll-margin-block-start: var(--header-height);
  &[data-theme="base"] { background-color: var(--base); color: var(--accent); --sc-heading: var(--accent-dark); }
  &[data-layout="media-right"] { --sc-media-order: 2; }
  @media (width < 768px) { grid-template-columns: 1fr; --sc-media-order: 0; }
}
.showcase__media {
  position: relative; order: var(--sc-media-order, 0); min-block-size: 26.25rem; overflow: hidden;
}
.showcase__image {
  position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover;
}
.showcase__word {
  position: absolute; inset-block-start: var(--space-xl); inset-inline-end: var(--space-l); padding-inline-start: 0.6em; border-inline-start: 4px solid var(--primary);
  font-family: var(--display-font-family); font-size: var(--text-xl); font-weight: 500; letter-spacing: 12px; line-height: 1.5; color: var(--black); white-space: pre-line;
  @media (width < 992px) { letter-spacing: 5px; }
  @media (width < 768px) { letter-spacing: 3px; }
  @media (width < 480px) { font-size: 5vw; }
  #physiotherapy & {
    @media (width < 992px) { font-size: 1.875rem; }
    @media (width < 480px) { font-size: 5vw; } }
  #performance-lab & { font-size: var(--text-l); letter-spacing: 5px;
    @media (width < 992px) { letter-spacing: 2px; line-height: 1.1; }
    @media (width < 480px) { font-size: 5vw; } }
}
.showcase__body {
  display: flex; flex-direction: column;
}
.showcase__panel {
  display: flex; flex-direction: column; gap: var(--space-s); padding: var(--space-l); flex: 1; border-block-end: 4px solid transparent; border-image: var(--gradient) 1;
}
.showcase__title {
  display: flex; align-items: center; gap: var(--space-xs);
}
.showcase__icon {
  inline-size: 2rem; block-size: 2rem; object-fit: contain;
}
.showcase__heading {
  font-family: var(--display-font-family); font-size: var(--text-m); font-weight: 700; letter-spacing: 3px; line-height: var(--text-line-height); color: var(--sc-heading, var(--white));
  @media (width < 992px) { letter-spacing: 2px; }
}
.showcase__text {
  font-size: var(--text-m); color: inherit; white-space: pre-line;
}
.showcase__actions {
  display: flex; justify-content: flex-end;
}
.showcase__photos {
  display: grid; grid-template-columns: 1fr 1fr;
}
.showcase__photo {
  inline-size: 100%; aspect-ratio: 1; block-size: auto; object-fit: cover;
}
.gallery-strip {
  background-color: var(--shade-dark);
}
.gallery-strip__track {
  display: flex; align-self: stretch; inline-size: 100%; min-inline-size: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  &::-webkit-scrollbar { display: none; }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.review-slider {
  position: relative; padding-block: var(--section-space-s); background-color: var(--shade-dark); color: var(--white);
}
.review-slider__track {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  &::-webkit-scrollbar { display: none; }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.review-slide {
  flex: 0 0 100%; inline-size: 100%; min-inline-size: 0; scroll-snap-align: start; scroll-snap-stop: always; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; gap: var(--space-xl); padding-inline: max(var(--gutter), calc((100% - var(--content-width)) / 2));
  @media (width < 768px) { grid-template-columns: minmax(0, 1fr); gap: var(--space-l); }
  & > * { min-inline-size: 0; }
}
.review-slide__text {
  display: flex; flex-direction: column; gap: var(--space-xs); min-inline-size: 0; overflow-wrap: anywhere;
}
.review-slide__icon {
  inline-size: 2.75rem; block-size: auto;
}
.review-slide__name {
  font-family: var(--text-font-family); font-size: var(--text-m); font-weight: 700; letter-spacing: 3px; line-height: var(--text-line-height); color: var(--white);
  @media (width < 992px) { letter-spacing: 2px; }
}
.review-slide__para {
  font-size: var(--text-m); color: var(--white); white-space: pre-line;
}
.review-slide__photos {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); grid-template-rows: 1fr 1fr; gap: var(--space-xs); min-inline-size: 0; min-block-size: 26.25rem;
  @media (width < 768px) { min-block-size: 18.75rem; }
}
.review-slide__photo {
  inline-size: 100%; block-size: 100%; min-inline-size: 0; object-fit: cover;
  &[data-slot="a"] { grid-column: 1; grid-row: 1; }
  &[data-slot="b"] { grid-column: 1; grid-row: 2; }
  &[data-slot="main"] { grid-column: 2; grid-row: 1 / span 2; }
}
.review-slide__meta {
  position: absolute; inset-block-end: var(--space-s); inset-inline-end: var(--space-s); display: flex; align-items: baseline; gap: 0.4em; text-shadow: var(--hero-text-shadow);
}
.review-slide__label {
  font-family: var(--text-font-family); font-size: calc(var(--text-xxl) * 1.33); font-weight: 700; line-height: 1.2; text-transform: uppercase; color: var(--white);
  @media (width <= 1280px) { font-size: 8vw; }
}
.review-slide__number {
  font-family: var(--text-font-family); font-size: 37.5rem; font-weight: 700; line-height: 0.6; color: transparent; -webkit-text-stroke: 1px var(--white);
  @media (width <= 1280px) { font-size: 45vw; }
  @media (width < 992px) { font-size: 40vw; }
  @media (width < 768px) { font-size: 50vw; }
}
.review-slider__controls {
  display: flex; justify-content: center; gap: var(--space-s); padding-block-start: var(--space-m);
}
.review-slider__button {
  display: inline-flex; padding: 0.55em; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 50%; background: transparent; color: var(--white); font-size: var(--text-s); cursor: pointer;
  &:hover { background: var(--gradient); border-color: transparent; }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.cta-band {
  position: relative; isolation: isolate; padding-block: var(--section-space-s); padding-inline: var(--gutter); overflow: hidden; background-color: var(--base); color: var(--accent-dark);
}
.cta-band__decor {
  position: absolute; inset-block-end: -2.5rem; inset-inline-end: 4%; z-index: -1; inline-size: 16.25rem; block-size: auto; opacity: 0.08;
}
.cta-band__container {
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-l); max-inline-size: var(--content-width); margin-inline: auto;
}
.cta-band__content {
  display: flex; flex-direction: column; gap: var(--space-s); flex: 1 1 32rem; max-inline-size: 48rem;
}
.cta-band__heading {
  font-size: var(--text-xl); line-height: var(--text-line-height); color: var(--shade-ultra-dark); white-space: pre-line;
}
.cta-band__text {
  font-size: var(--text-m); white-space: pre-line;
}
.cta-band__actions {
  display: flex;
}
.team-section {
  padding-block: var(--section-space-s); padding-inline: var(--gutter); background-color: var(--base); text-align: center;
  &[data-theme="white"] { background-color: var(--white); }
}
.team-section__container {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-m); max-inline-size: var(--content-width); margin-inline: auto;
}
.team-section__heading {
  font-size: var(--text-l); color: var(--shade);
}
.team-section__grid {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: var(--space-xl);
}
.team-member {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-s); inline-size: min(100%, 18.75rem);
}
.team-member__role {
  font-size: var(--text-l); color: var(--shade);
}
.team-member__photo {
  inline-size: 16.25rem; max-inline-size: 100%; aspect-ratio: 1; block-size: auto; border-radius: 50%; object-fit: cover; box-shadow: var(--box-shadow-m);
}
.team-member__name {
  font-size: var(--text-m); font-weight: 700; color: var(--primary);
}
.testimonial-post {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-l); align-items: start;
  &[data-layout="media-right"] { --tp-media-order: 2; }
  @media (width < 900px) { grid-template-columns: 1fr; --tp-media-order: 0; }
}
.testimonial-post__media {
  order: var(--tp-media-order, 0); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xs);
}
.testimonial-post__card {
  display: flex; flex-direction: column; gap: var(--space-s); padding: var(--space-m); background-color: var(--white); color: var(--accent-dark);
}
.testimonial-post__author {
  display: flex; align-items: center; gap: var(--space-xs);
}
.testimonial-post__avatar {
  inline-size: 3.5rem; block-size: 3.5rem; border-radius: 50%; object-fit: cover; box-shadow: var(--box-shadow-m);
}
.testimonial-post__name {
  font-size: var(--text-s); font-weight: 700; color: var(--shade);
}
.testimonial-post__body {
  display: flex; flex-direction: column; gap: var(--space-s); font-size: var(--text-m);
}
.contact-block {
  display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background-color: var(--shade-dark); color: var(--white);
  @media (width < 768px) { grid-template-columns: 1fr; }
}
.contact-block__map {
  min-block-size: 28rem;
}
.contact-block__details {
  display: flex; flex-direction: column; gap: var(--space-s); padding: var(--space-xl) var(--space-l) 0;
  @media (width < 768px) { order: -1; padding: var(--space-l) var(--space-l) calc(var(--space-l) + 8px); background: var(--gradient) bottom / 100% 8px no-repeat; }
}
.contact-block__title {
  font-size: var(--text-l); line-height: var(--text-line-height); color: var(--white);
}
.contact-block__address {
  font-size: var(--text-m); color: var(--white); max-inline-size: 36rem; white-space: pre-line;
}
.contact-block__links {
  display: flex; flex-direction: column; gap: var(--space-xs);
}
.contact-block__link {
  display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--white); text-decoration: none; font-size: var(--text-m); overflow-wrap: anywhere;
  &:hover { color: var(--primary-light); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.contact-block__icon {
  display: inline-flex; padding: 0.45em; border-radius: 50%; background: var(--gradient); color: var(--white); font-size: var(--text-xs);
}
.contact-block__photos {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xs); margin-block-start: auto; padding-block-start: var(--space-m);
  @media (width < 768px) { display: none; }
}
.contact-block__photo {
  display: block; inline-size: 100%; aspect-ratio: 4 / 3; block-size: auto; object-fit: cover;
}
.post-card {
  display: grid; grid-template-columns: 1fr 1fr; background-color: var(--shade); color: var(--white);
  @media (width < 768px) { grid-template-columns: 1fr; }
}
.post-card__media {
  display: block; min-block-size: 17.5rem;
}
.post-card__image {
  inline-size: 100%; block-size: 100%; object-fit: cover;
}
.post-card__content {
  display: flex; flex-direction: column; gap: var(--space-s); padding: var(--space-l);
}
.post-card__title {
  font-size: var(--text-l); color: var(--white);
}
.post-card__link {
  color: inherit; text-decoration: none;
  &:hover { color: var(--primary-light); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.post-card__category {
  align-self: flex-start; padding: 0.15em 0.75em; border-radius: var(--btn-radius); background: var(--gradient); font-size: var(--text-xs); color: var(--white);
}
.post-card__excerpt {
  font-size: var(--text-xs); color: var(--white);
}
.post-card__actions {
  display: flex; justify-content: flex-start;
}
.site-header {
  position: fixed; inset-block-start: 0; inset-inline: 0; z-index: 50; padding-inline: var(--gutter); padding-block: 1.25rem; background-color: transparent; background-image: linear-gradient(#000, rgba(0, 0, 0, 0)); transition: background-color 0.3s ease, box-shadow 0.3s ease;
  &.is-stuck { background-color: var(--shade-dark); background-image: none; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    @media (width < 768px) { padding-block: 0.625rem; } }
}
.site-header__inner {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-m); max-inline-size: var(--content-width); margin-inline: auto;
}
.site-header__logo {
  display: inline-flex; flex-shrink: 0;
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.site-header__logo-image {
  block-size: 4.375rem; inline-size: auto;
  @media (width < 768px) { block-size: 3.125rem; }
}
.site-nav {
  @media (width < 992px) { display: none; }
}
.site-nav__list {
  display: flex; align-items: center; gap: var(--space-s);
}
.site-nav__item {
  position: relative; display: flex;
}
.site-nav__link {
  display: inline-flex; align-items: center; gap: 0.3em; padding: 0.5em 0.25em; border: 0; background: none; color: var(--white); font-family: var(--text-font-family); font-size: var(--text-m); font-weight: 100; letter-spacing: 1px; text-decoration: none; cursor: pointer; text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
  &:hover { color: var(--primary-light); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
  .site-header[data-lang="en"] & { font-family: var(--display-font-family); font-size: var(--text-xs); }
}
.site-nav__sub {
  position: absolute; inset-block-start: 100%; inset-inline-start: 0; z-index: 2; min-inline-size: 16.25rem; padding: 0.5em 0; border-radius: var(--radius); background: var(--gradient-menu); box-shadow: var(--box-shadow-m);
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  .site-nav__item:is(.is-open, :has(:focus-visible)) & { opacity: 1; visibility: visible; transform: none; }
  @media (hover: hover) { .site-nav__item:hover & { opacity: 1; visibility: visible; transform: none; } }
}
.site-nav__sub-link {
  display: block; padding: 0.45em 1.1em; color: var(--white); font-size: var(--text-m); font-weight: 400; text-decoration: none;
  &:hover { color: var(--white); background-color: var(--white-trans-10); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.site-header__tools {
  display: flex; align-items: center; gap: var(--space-s);
}
.lang-switch {
  display: flex; align-items: center; gap: 0.6em;
}
.site-header__lang {
  @media (width < 992px) { display: none; }
}
.lang-switch__link {
  display: inline-flex; align-items: center; gap: 0.3em; color: var(--white); font-size: var(--text-xs); text-decoration: none; opacity: 0.8;
  &[aria-current="true"] { opacity: 1; font-weight: 700; }
  &:hover { color: var(--white); opacity: 1; }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.lang-switch__flag {
  inline-size: 16px; block-size: 11px;
}
.lang-switch__label {
  line-height: 1;
}
.site-header__cta {
  display: flex;
  @media (width < 992px) { display: none; }
}
.site-header__toggle {
  display: none; padding: 0.4em; border: 0; background: transparent; color: var(--white); font-size: var(--text-l); cursor: pointer;
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
  @media (width < 992px) { display: inline-flex; }
}
.mobile-menu {
  position: fixed; inset: 0 0 0 auto; margin: 0; inline-size: min(22rem, 88vw); block-size: 100dvh; max-block-size: none; padding: var(--space-m); border: 0; overflow-y: auto; overscroll-behavior: contain;
  background: var(--gradient-menu); color: var(--white);
  opacity: 0; transform: translateX(16px); transition: opacity 0.25s ease, transform 0.25s ease, display 0.25s allow-discrete, overlay 0.25s allow-discrete;
  &:popover-open { display: flex; flex-direction: column; gap: var(--space-m); opacity: 1; transform: none; }
  &::backdrop { background-color: rgba(0, 0, 0, 0.5); }
  @starting-style { &:popover-open { opacity: 0; transform: translateX(16px); } }
}
.mobile-menu__header {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-s);
}
.mobile-menu__close {
  display: inline-flex; padding: 0.3em; border: 0; background: transparent; color: var(--white); font-size: var(--text-l); cursor: pointer;
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.mobile-menu__list {
  display: flex; flex-direction: column;
}
.mobile-menu__item {
  border-block-end: 1px solid rgba(255, 255, 255, 0.25);
}
.mobile-menu__group {
  display: block;
}
.mobile-menu__summary {
  display: flex; align-items: center; justify-content: space-between; padding: 0.7em 0; font-weight: 400; cursor: pointer; list-style: none;
  &::-webkit-details-marker { display: none; }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.mobile-menu__sub {
  display: flex; flex-direction: column; padding-block-end: 0.5em; padding-inline-start: 1em;
}
.mobile-menu__sub-link {
  display: block; padding: 0.4em 0; color: var(--white); font-size: var(--text-m); text-decoration: none;
  &:hover { color: var(--white); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.mobile-menu__link {
  display: block; padding: 0.7em 0; color: var(--white); font-weight: 400; text-decoration: none;
  &:hover { color: var(--white); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.mobile-menu__cta {
  display: flex;
}
.site-footer {
  position: relative; isolation: isolate; padding: var(--section-space-s) var(--gutter) var(--space-m); overflow: hidden; background: var(--gradient); color: var(--white);
}
.site-footer__bg {
  position: absolute; inset: 0; z-index: -1; inline-size: 100%; block-size: 100%; object-fit: cover;
}
.site-footer__inner {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-m); max-inline-size: 52rem; margin-inline: auto;
}
.site-footer__main {
  display: grid; grid-template-columns: auto 1fr; align-items: center; gap: var(--space-l);
  @media (width < 640px) { grid-template-columns: 1fr; justify-items: center; text-align: center; }
}
.site-footer__logo {
  display: inline-flex;
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.site-footer__logo-image {
  inline-size: 8.75rem; block-size: auto;
}
.site-footer__text {
  display: flex; flex-direction: column; gap: var(--space-s);
}
.site-footer__blurb {
  font-size: var(--text-m); color: var(--white);
}
.site-footer__links {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.4em var(--space-l);
  @media (width < 400px) { grid-template-columns: 1fr; }
}
.site-footer__link {
  color: var(--white); font-size: var(--text-m); font-weight: 400; text-decoration: none;
  &:hover { color: var(--white); text-decoration: underline; }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.site-footer__social {
  display: flex; gap: var(--space-s);
}
.site-footer__social-link {
  display: inline-flex; color: var(--white); font-size: var(--text-s);
  &:hover { color: var(--primary-light); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.site-footer__bottom {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 0.25em var(--space-s); inline-size: 100%; padding-block-start: var(--space-s); border-block-start: 1px solid rgba(255, 255, 255, 0.5); font-size: 0.75rem;
}
.site-footer__copyright {
  font-family: var(--display-font-family); font-size: 0.625rem; font-weight: 100; letter-spacing: 0.04em;
}
.site-footer__credit {
  font-size: var(--text-xs); padding-inline-start: var(--space-s); border-inline-start: 1px solid rgba(255, 255, 255, 0.6);
  @media (width < 768px) { padding-inline-start: 0; border-inline-start: 0; }
}
.site-footer__credit-link {
  color: var(--white);
}
.feature-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); inline-size: 100%;
  @media (width < 992px) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  @media (width < 560px) { grid-template-columns: 1fr; }
}
.copy {
  white-space: pre-line; text-wrap: pretty; color: inherit;
}
.copy-list {
  display: flex; flex-direction: column; gap: 0.15em; margin: 0; padding-inline-start: 1.25em;
  & li::marker { color: var(--primary); }
}
.check-grid {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-m); inline-size: 100%;
  @media (width < 992px) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  @media (width < 560px) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.gallery-strip__item {
  flex: 0 0 calc(100% / 3); scroll-snap-align: start;
  @media (width < 768px) { flex-basis: 80%; }
}
.gallery-strip__image {
  display: block; inline-size: 100%; block-size: clamp(14rem, 25vw, 24rem); object-fit: cover;
}
.testimonial-list {
  display: flex; flex-direction: column; gap: var(--space-xl);
}
.testimonial-post__photo {
  display: block; inline-size: 100%; block-size: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  &[data-span="2"] { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
}
.testimonial-post__link {
  color: var(--primary); font-weight: 400; overflow-wrap: anywhere;
}
.post-list {
  display: flex; flex-direction: column; gap: var(--space-l);
}
.post-single {
  display: flex; flex-direction: column; gap: var(--space-m); inline-size: 100%; max-inline-size: 52rem; margin-inline: auto; padding-block: var(--section-space-s); padding-inline: var(--gutter);
}
.post-single__meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); font-size: var(--text-xs); color: var(--accent);
}
.post-single__category {
  padding: 0.15em 0.75em; border-radius: var(--btn-radius); background: var(--gradient); color: var(--white);
}
.post-single__content {
  display: flex; flex-direction: column; gap: var(--space-s); font-size: var(--text-s); color: var(--accent-dark);
}
.post-single__back {
  display: flex;
}
.post-single__para {
  white-space: pre-line;
}
.post-single__image {
  inline-size: 100%; block-size: auto; border-radius: var(--radius);
}
.testimonial-post__text {
  white-space: pre-line;
}
.prose {
  display: flex; flex-direction: column; gap: var(--space-s); inline-size: 100%; max-inline-size: 60rem; margin-inline: auto; font-size: var(--text-s); color: var(--accent-dark);
  & h2 { margin-block-start: var(--space-m); font-size: var(--text-l); color: var(--accent); }
  & h3 { margin-block-start: var(--space-s); font-size: var(--text-m); color: var(--accent); }
  & ul { display: flex; flex-direction: column; gap: 0.25em; margin: 0; padding-inline-start: 1.25em; }
  & strong { font-weight: 700; }
}
.brand-icon {
  display: block; inline-size: auto; block-size: 1.25em; flex-shrink: 0; fill: currentColor;
}
.mobile-menu__logo {
  display: inline-flex;
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.mobile-menu__logo-image {
  inline-size: 7.5rem; block-size: auto;
}
.mobile-menu__social {
  display: flex; gap: var(--space-s);
}
.mobile-menu__social-link {
  display: inline-flex; color: var(--white); font-size: var(--text-m);
  &:hover { color: var(--primary-light); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.service-list__col {
  min-inline-size: 0;
}
.service-list__col-list {
  display: flex; flex-direction: column; gap: var(--space-xs);
}