: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="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-header {
  position: fixed; inset-block-start: 0; inset-inline: 0; z-index: 99; padding: var(--space-s) var(--gutter); background-color: transparent; transition: background-color 3s; --link-color: var(--white); --link-color-hover: var(--primary-hover);
 &[data-scrolled] { background-color: color-mix(in srgb, var(--black) 70%, transparent); }
}
.site-header__inner {
  flex-direction: row; justify-content: space-between; align-items: center; position: relative;
}
.site-header__logo {
  display: block; flex-shrink: 0;
}
.site-header__logo-img {
  inline-size: 11.25rem; /* acss-ok: live logo 180px */ block-size: auto;
 @media (width < 480px) { inline-size: 7.5rem; /* acss-ok: live logo 120px on phones */ }
}
.site-header__burger {
  display: none; color: var(--primary-ultra-light); padding: var(--space-xs); cursor: pointer;
 @media (width < 992px) { display: block; }
}
.site-header__burger-icon {
  display: block; inline-size: 1.25rem; /* acss-ok: live burger 20px */ block-size: 1rem; fill: currentColor;
}
.site-header__nav {
  display: flex; align-items: center; gap: var(--space-m);
 @media (width < 992px) { display: none; position: absolute; inset-block-start: 100%; inset-inline: calc(var(--gutter) * -1); flex-direction: column; align-items: flex-start; padding: var(--space-m) var(--gutter); background-color: color-mix(in srgb, var(--black) 40%, transparent); .site-header[data-open] & { display: flex; } }
}
.site-header__menu {
  display: flex; align-items: center; gap: var(--space-m);
 @media (width < 992px) { flex-direction: column; align-items: flex-start; }
}
.site-header__link {
  color: var(--white); font-size: var(--text-m); text-decoration: none; transition: color var(--transition);
 &:hover { color: var(--primary-hover); } &[aria-current="page"] { color: var(--primary); }
 @media (width < 992px) { font-size: var(--text-s); text-transform: uppercase; }
}
.site-header__cta {
  &.btn--primary { --btn-text-color: var(--white); --btn-text-color-hover: var(--white); --btn-border-color: var(--white); --btn-border-color-hover: var(--white); --btn-font-weight: 400; --btn-min-width: 0; --btn-padding-block: 0.75em; --btn-padding-inline: 1.667em; }
}
.contact-card {
  padding-block: var(--section-space-s); @media (width < 768px) { padding-block: var(--space-m); }
}
.contact-card__card {
  display: grid; grid-template-columns: var(--grid-1-3); align-items: center; gap: var(--space-xl); padding: var(--space-xl); background-color: var(--secondary); border-radius: var(--radius);
 @media (width < 768px) { grid-template-columns: var(--grid-1); gap: var(--space-m); padding: var(--space-m); }
}
.contact-card__media {
  display: flex; justify-content: center;
}
.contact-card__avatar {
  inline-size: 15.1875rem; /* acss-ok: live portrait 243px */ aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-circle);
 @media (width < 768px) { inline-size: 14.625rem; /* acss-ok: live 234px */ }
}
.contact-card__content {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m);
}
.contact-card__heading {
  font-size: var(--h3); color: var(--primary);
}
.contact-card__lede {
  font-size: var(--text-l); color: var(--text-dark-muted);
}
.contact-card__actions {
  display: flex; flex-wrap: wrap; gap: 0 var(--space-s); @media (width < 768px) { flex-direction: column; }
}
.contact-card__action {
  display: flex; align-items: center; color: var(--primary-ultra-dark); text-decoration: none; transition: color var(--transition); &:hover { color: var(--primary-hover); }
}
.contact-card__icon {
  inline-size: 4.9375rem; /* acss-ok: live icon box 79px */ block-size: 4.9375rem; padding: 1rem; /* acss-ok: live 16px inset */ fill: none; stroke: var(--primary); stroke-width: 0.9; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0;
}
.contact-card__action-text {
  font-size: var(--text-s);
}
.testimonials {
  padding-block: 0;
}
.testimonials__card {
  align-items: center; gap: 0; background-color: var(--primary); border-radius: var(--radius); padding-block: 0; color: var(--primary-ultra-light);
}
.testimonials__title {
  font-size: var(--h2); color: var(--primary-ultra-light); text-align: center; padding: var(--space-m);
}
.testimonials__track {
  display: flex; inline-size: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; block-size: 23.75rem; /* acss-ok: live slide 450px less dots */ &::-webkit-scrollbar { display: none; }
}
.testimonial {
  flex: 0 0 100%; scroll-snap-align: start; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--space-m); padding-inline: var(--space-m); text-align: center;
}
.testimonial__quote {
  padding: 0; border: 0; background: none; box-shadow: none; margin: 0; font-size: var(--text-xl); font-style: italic; line-height: 1.4; color: var(--primary-ultra-light); max-inline-size: 100%;
 @media (width < 768px) { font-size: var(--text-m); }
}
.testimonial__person {
  font-size: var(--text-s); color: var(--primary-ultra-light);
}
.testimonials__dots {
  display: flex; justify-content: center; gap: var(--space-xs); padding-block: var(--space-xs) var(--space-l);
}
.testimonials__dot {
  inline-size: 0.9375rem; /* acss-ok: live dot 15px */ aspect-ratio: 1; border-radius: var(--radius-circle); border: 1px solid var(--primary-ultra-light); background-color: color-mix(in srgb, var(--primary-light) 10%, transparent); cursor: pointer; padding: 0; &[aria-current] { background-color: var(--primary-light); }
}
.site-footer {
  padding: 0;
}
.site-footer__main {
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-m); padding: var(--space-s) var(--space-xxl) var(--space-s) var(--space-s); @media (width < 768px) { display: grid; grid-template-columns: var(--grid-2); align-items: center; gap: var(--space-m) var(--space-m); padding: var(--space-m) var(--space-s); }
}
.site-footer__logo-img {
  inline-size: 13.5rem; /* acss-ok: live footer logo 216px */ @media (width < 768px) { inline-size: 8.125rem; /* acss-ok: live 130px */ }
}
.site-footer__logos {
  display: flex; align-items: center; gap: var(--space-m); @media (width < 768px) { display: contents; }
}
.site-footer__badge {
  inline-size: 11.8125rem; /* acss-ok: live badge 189px */ max-block-size: 6.3125rem; /* acss-ok: live 101px */ object-fit: contain; @media (width < 768px) { inline-size: 9.75rem; /* acss-ok: live 156px */ }
}
.site-footer__linkedin {
  display: grid; place-items: center; inline-size: 3.3125rem; /* acss-ok: live 53px */ aspect-ratio: 1; border-radius: var(--radius-circle); background-color: var(--primary); transition: background-color var(--transition); &:hover { background-color: var(--primary-hover); }
}
.site-footer__linkedin-icon {
  inline-size: 1.625rem; /* acss-ok: live 26px */ fill: var(--white);
}
.site-footer__bar {
  display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-s); padding: var(--space-s); border-block-start: 1px solid var(--primary-light); font-size: var(--text-s); color: var(--primary-semi-dark); @media (width < 768px) { flex-direction: column; align-items: center; gap: var(--space-xs); padding-block: var(--space-m); text-align: center; }
}
.site-footer__copyright {
  font-size: var(--text-s); color: var(--primary-semi-dark);
}
.site-footer__legal {
  display: flex; flex-wrap: wrap; gap: var(--space-s); justify-content: flex-end; @media (width < 768px) { justify-content: center; align-items: center; gap: var(--space-xs); }
}
.site-footer__legal-link {
  color: var(--primary-semi-dark); text-decoration: none; font-size: var(--text-s); &:hover { color: var(--primary-hover); }
}
.site-footer__credit {
  font-size: var(--text-s);
}
.privacy-notice {
  position: fixed; inset-block-end: var(--space-s); inset-inline-end: var(--space-s); z-index: 100; max-inline-size: 28.75rem; /* acss-ok: notice 460px (Paper) */ display: flex; flex-direction: column; gap: var(--space-s); padding: var(--space-m); background-color: var(--white); border-radius: var(--radius); box-shadow: 0 0.5rem 2rem color-mix(in srgb, var(--base) 18%, transparent); /* acss-ok: Paper notice shadow */
 &[hidden] { display: none; }
 @media (width < 768px) { inset-inline: var(--space-xs); flex-direction: row; align-items: center; padding: var(--space-s); }
}
.privacy-notice__text {
  font-size: var(--text-s); color: var(--base);
}
.privacy-notice__link {
  color: var(--primary-semi-dark); text-decoration: underline;
}
.privacy-notice__ok {
  align-self: flex-end; &.btn--primary { --btn-min-width: 0; --btn-padding-block: 0.75em; --btn-padding-inline: 2em; --btn-font-size: var(--text-s); } @media (width < 768px) { align-self: center; flex-shrink: 0; }
}
.site-footer__logo {
  @media (width < 768px) { justify-self: center; }
}
.site-footer__logo-item {
  @media (width < 768px) { display: flex; justify-content: center; }
}
.site-footer__legal-item {
  @media (width < 768px) { & + &::before { content: "·"; margin-inline-end: var(--space-xs); } }
}
.accreditations {
  padding-block: var(--section-space-s); @media (width < 768px) { padding-block: var(--space-m); }
}
.accreditations__list {
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-m);
 @media (width < 768px) { display: grid; grid-template-columns: var(--grid-2); gap: 0 var(--space-m); }
}
.accreditations__item {
  display: flex; justify-content: center; @media (width < 768px) { min-block-size: 4.4375rem; /* acss-ok: live row 71px */ align-items: center; }
}
.accreditations__logo {
  block-size: auto; object-fit: contain; @media (width < 768px) { inline-size: 100%; max-inline-size: 10.0625rem; /* acss-ok: live 161px */ }
}
.accreditations__logo--afc {
  inline-size: 16.5rem; /* acss-ok: live 264px */
}
.accreditations__logo--eqi {
  inline-size: 14.0625rem; /* acss-ok: live 225px */
}
.accreditations__logo--mhfa {
  inline-size: 17.5rem; /* acss-ok: live 280px */
}
.accreditations__logo--iip {
  inline-size: 18rem; /* acss-ok: live 288px */
}
.home-hero {
  position: relative; isolation: isolate; block-size: 100vh; /* acss-ok: live hero 100vh */ padding-block: var(--section-space-s); justify-content: flex-end; color: var(--white);
 &::after { content: ""; position: absolute; inset: 0; z-index: -1; background-color: color-mix(in srgb, var(--black) 30%, transparent); }
 @media (width < 768px) { padding-block: var(--space-m); }
}
.home-hero__image {
  position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; z-index: -2;
}
.home-hero__inner {
  block-size: 100%; justify-content: flex-end;
}
.home-hero__content {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s); max-inline-size: 44.6875rem; /* acss-ok: live 715px */
}
.home-hero__title {
  font-size: var(--h1); color: var(--white); max-inline-size: 18ch; padding-block-end: var(--space-xs);
}
.home-hero__lede {
  color: var(--white);
}
.home-hero__cta-line {
  color: var(--white); font-weight: 700; padding-block-end: var(--space-xs);
}
.statement {
  padding-block: 0; @media (width < 768px) { padding-block-end: var(--space-m); }
}
.statement__card {
  padding: var(--space-xl) var(--space-m); background-color: var(--primary); border-radius: var(--radius);
}
.statement__text {
  font-size: var(--text-xxl); line-height: 1.2; color: var(--primary-ultra-light); text-align: center; max-inline-size: 100%;
}
.services-intro {
  padding-block: var(--section-space-s); @media (width < 768px) { padding-block: var(--space-m); }
}
.services-intro__inner {
  align-items: center; gap: var(--space-xl);
}
.services-intro__title {
  font-size: var(--h2); color: var(--primary); text-align: center;
}
.services-intro__grid {
  display: grid; grid-template-columns: var(--grid-3); inline-size: 100%; @media (width < 768px) { grid-template-columns: var(--grid-1); gap: var(--space-m); }
}
.service-card {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m); padding: var(--space-m);
}
.service-card__image {
  inline-size: 12.375rem; /* acss-ok: live 198px */ aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-circle); @media (width < 768px) { inline-size: 11.0625rem; /* acss-ok: live 177px */ }
}
.service-card__title {
  font-size: var(--h3);
}
.service-card__text {
  font-size: var(--text-s); max-inline-size: 25rem; /* acss-ok: live 400px */
}
.service-card__btn {
  &.btn--primary { --btn-font-size: var(--text-s); --btn-padding-block: 1em; }
}
.page-hero {
  position: relative; isolation: isolate; block-size: 80vh; /* acss-ok: live subpage hero 80vh */ padding-block: var(--section-space-s); justify-content: flex-end; color: var(--white);
 &::after { content: ""; position: absolute; inset: 0; z-index: -1; background-color: color-mix(in srgb, var(--black) 40%, transparent); }
 @media (width < 768px) { padding-block: var(--space-m); }
}
.page-hero__image {
  position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; z-index: -2;
}
.page-hero__inner {
  block-size: 100%; justify-content: flex-end;
}
.page-hero__title {
  font-size: var(--h1); color: var(--white); max-inline-size: 18ch;
}
.about-story {
  padding-block: var(--space-xl) var(--section-space-l);
}
.about-story__inner {
  align-items: flex-start; gap: var(--space-s);
}
.about-story__title {
  font-size: var(--h2); color: var(--primary); padding-block-end: var(--space-xs);
}
.about-story__text {
  max-inline-size: 59.5625rem; /* acss-ok: live text column 953px */
}
.about-story__strong {
  font-weight: 700;
}
.about-story__values {
  list-style: disc; padding-inline-start: var(--space-l); display: flex; flex-direction: column; gap: var(--space-s); max-inline-size: 59.5625rem; /* acss-ok: live 953px */
}
.photo-band {
  padding-block: 0; @media (width < 768px) { padding-block: var(--space-m); }
}
.photo-band__card {
  position: relative; isolation: isolate; overflow: hidden; min-block-size: 28.75rem; /* acss-ok: live band 460px */ justify-content: flex-end; align-items: center; padding: var(--space-xl) var(--space-xxl); border-radius: var(--radius);
 &::after { content: ""; position: absolute; inset: 0; z-index: -1; background-color: color-mix(in srgb, var(--black) 40%, transparent); }
 @media (width < 768px) { min-block-size: 26.6875rem; /* acss-ok: live 427px */ padding: var(--space-xl) var(--space-s); }
}
.photo-band__image {
  position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; z-index: -2;
}
.photo-band__text {
  font-size: var(--text-xl); line-height: 1.24; color: var(--text-light-muted); text-align: center; max-inline-size: 71.875rem; /* acss-ok: live 1150px */ @media (width < 768px) { font-size: var(--text-l); }
}
.values {
  padding-block: var(--section-space-s); @media (width < 768px) { padding-block: var(--space-m); }
}
.values__inner {
  align-items: flex-start; gap: var(--space-m);
}
.values__title {
  font-size: var(--h2); color: var(--primary);
}
.values__grid {
  display: grid; grid-template-columns: var(--grid-4); gap: var(--space-m); inline-size: 100%; @media (width < 768px) { grid-template-columns: var(--grid-1); }
}
.value-card {
  display: flex; flex-direction: column; gap: var(--space-m); padding: var(--space-m); border-inline-end: 1px solid var(--primary); @media (width < 768px) { border-inline-end: 0; }
}
.value-card__title {
  font-size: var(--h3);
}
.value-card__text {
  font-size: var(--text-s);
}
.page-hero--band {
  block-size: 25rem; /* acss-ok: live band 400px */ background-color: var(--primary); &::after { display: none; } @media (width < 768px) { block-size: 15.625rem; /* acss-ok: live 250px */ }
}
.service-detail {
  padding-block: var(--space-xl) var(--section-space-l); @media (width < 768px) { padding-block: var(--space-xl); }
}
.service-detail--stone {
  background-color: var(--secondary); padding-block: var(--section-space-s); @media (width < 768px) { padding-block: var(--space-m); }
}
.service-detail__inner {
  display: grid; grid-template-columns: 22.0625rem minmax(0, 1fr); /* acss-ok: live image column 353px */ align-items: start; gap: var(--space-m); @media (width < 768px) { grid-template-columns: var(--grid-1); }
}
.service-detail__image {
  inline-size: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-circle);
}
.service-detail__content {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s);
}
.service-detail__title {
  font-size: var(--h2); color: var(--primary); padding-block-end: var(--space-xs);
}
.service-detail__lede {
  font-size: var(--h3); line-height: 1.1; color: var(--primary); padding-block-end: var(--space-xs);
}
.service-detail__lede--dark {
  color: var(--text-dark);
}
.service-detail__text {
  max-inline-size: 59.5625rem; /* acss-ok: live 953px */ .service-detail--stone & { max-inline-size: 66.125rem; /* acss-ok: live 1058px */ }
}
.service-detail__strong {
  font-weight: 700;
}
.service-detail__values {
  list-style: disc; padding-inline-start: var(--space-l); display: flex; flex-direction: column; gap: var(--space-s); max-inline-size: 59.5625rem; /* acss-ok: live 953px */
}
.service-detail__cta-line {
  font-weight: 700;
}
.service-detail__btn {
  margin-block-start: var(--space-xs);
}
.privacy {
  padding-block: var(--space-xl) var(--section-space-l); @media (width < 768px) { padding-block: var(--space-xl); }
}
.privacy__inner {
  align-items: flex-start; gap: var(--space-s);
}
.privacy__heading {
  font-size: var(--h3); color: var(--primary); padding-block-start: var(--space-s);
}
.privacy__text {
  max-inline-size: 59.5625rem; /* acss-ok: live text column 953px */
}
.privacy__strong {
  font-weight: 700;
}
.privacy__link {
  color: var(--primary-semi-dark);
}
.privacy__updated {
  font-size: var(--text-s); color: var(--text-dark-muted); padding-block-start: var(--space-s);
}
.not-found {
  padding-block: var(--space-xl) var(--section-space-s);
}
.not-found__inner {
  align-items: flex-start; gap: var(--space-s);
}
.not-found__links {
  display: flex; flex-wrap: wrap; gap: var(--space-s) var(--space-m);
}
.not-found__link {
  color: var(--primary-semi-dark); &:hover { color: var(--primary-hover); }
}