: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 {
  display: block; padding: 0; position: relative; z-index: 50; background-color: var(--base); color: var(--white); box-shadow: var(--box-shadow-1); @media (width >= 48em) { & { position: sticky; inset-block-start: 0; } } @media (width < 78em) { &[data-nav-js] .site-header__toggle { display: inline-flex; } &[data-nav-js] .site-nav { display: none; flex-basis: 100%; } &[data-nav-open] .site-nav { display: block; max-block-size: calc(100dvh - 9rem); overflow-y: auto; } & .site-nav { flex-basis: 100%; } & .site-header__brand { flex: 1 1 0; } & .site-nav__menu { flex-direction: column; align-items: stretch; gap: 0; } & .site-nav__item { flex-wrap: wrap; border-block-start: 1px solid color-mix(in oklch, var(--white) 15%, transparent); } & .site-nav__link { flex: 1; padding-block: 0.8em; } & .site-nav__item .site-nav__sub-toggle { padding: 0.6em 0.8em; } & .site-nav__submenu { position: static; flex-basis: 100%; min-inline-size: 0; padding: 0 0 var(--space-xs) var(--space-s); background: transparent; box-shadow: none; } & .site-nav__sublink { color: var(--white); &:hover, &:focus-visible { background-color: color-mix(in oklch, var(--white) 10%, transparent); color: var(--accent-light); } &[aria-current='page'] { color: var(--accent); } } &:not([data-nav-js]) .site-nav__submenu { display: block; } } 
}
.site-header__skip {
  position: absolute; inset-inline-start: var(--space-s); inset-block-start: -10rem; z-index: 100; padding: 0.6em 1em; border-radius: var(--radius); background-color: var(--accent); color: var(--base); font-weight: 700; text-decoration: none; &:focus { inset-block-start: var(--space-xs); }
}
.site-header__bar {
  background-color: var(--primary); font-size: calc((var(--text-s) + var(--text-m)) / 2);
}
.site-header__bar-inner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.25em var(--space-m); max-inline-size: var(--content-width); margin-inline: auto; padding: 0.45em var(--gutter); @media (width < 40em) { & { justify-content: center; text-align: center; } }
}
.site-header__member {
  margin: 0; color: var(--accent-light); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
}
.site-header__contacts {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 0.25em var(--space-m); margin: 0; padding: 0; list-style: none;
}
.site-header__contact-link {
  display: inline-flex; align-items: center; gap: 0.4em; color: var(--white); font-weight: 700; text-decoration: none; white-space: nowrap; &:hover, &:focus-visible { color: var(--accent-light); }
}
.site-header__contact-icon {
  flex: none; inline-size: 1.1em; block-size: 1.1em; color: var(--accent);
}
.site-header__inner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs) var(--space-m); max-inline-size: var(--content-width); margin-inline: auto; padding: var(--space-xs) var(--gutter);
}
.site-header__brand {
  display: flex; flex-direction: column; min-inline-size: 0; padding-block: 0.3em; color: var(--white); line-height: 1.15; text-decoration: none; &:hover .site-header__name, &:focus-visible .site-header__name { color: var(--accent-light); }
}
.site-header__name {
  color: var(--white); font-family: var(--heading-font-family); font-size: var(--h3); font-weight: 700; letter-spacing: 0.02em;
}
.site-header__tagline {
  color: color-mix(in oklch, var(--white) 75%, transparent); font-size: var(--text-s);
}
.site-header__toggle-icon {
  position: relative; display: block; inline-size: 1.25em; block-size: 2px; background: currentColor; &::before, &::after { content: ''; position: absolute; inset-inline: 0; block-size: 100%; background: currentColor; transition: transform 0.2s; } &::before { inset-block-start: -0.4em; } &::after { inset-block-start: 0.4em; }
}
.site-nav {
  min-inline-size: 0; margin-inline-start: auto;
}
.site-nav__menu {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-s); margin: 0; padding: 0; list-style: none;
}
.site-nav__item {
  position: relative; display: flex; align-items: center;
}
.site-nav__link {
  display: block; padding: 0.55em 0.6em; border-radius: var(--radius); color: var(--white); font-size: var(--text-s); font-weight: 600; text-decoration: none; &:hover, &:focus-visible { color: var(--accent-light); } &[aria-current='page'] { color: var(--accent); } @media (width >= 78em) { &[aria-current='page'] { background-image: linear-gradient(var(--accent), var(--accent)); background-repeat: no-repeat; background-size: calc(100% - 1.2em) 2px; background-position: 50% calc(100% - 0.2em); } }
}
.site-nav__item--parent {
  &[data-current] > .site-nav__link { color: var(--accent); } @media (width >= 78em) { &:hover > .site-nav__submenu, &:focus-within > .site-nav__submenu { display: block; } }
}
.site-nav__sub-icon {
  inline-size: 1em; block-size: 1em; transition: transform 0.2s;
}
.site-nav__submenu {
  display: none; position: absolute; inset-block-start: 100%; inset-inline-start: 0; z-index: 20; min-inline-size: 17rem; margin: 0; padding: var(--space-xs); list-style: none; background-color: var(--card-bg); border-radius: var(--radius); box-shadow: var(--box-shadow-2);
}
.site-nav__sublink {
  display: block; padding: 0.55em 0.8em; border-radius: calc(var(--radius) / 2); color: var(--base); font-size: var(--text-s); text-decoration: none; &:hover, &:focus-visible { background-color: var(--primary-ultra-light); color: var(--primary); } &[aria-current='page'] { color: var(--primary); font-weight: 700; }
}
.site-main {
  display: block; padding: 0;
}
.book-strip {
  display: block; padding: var(--section-space-m) var(--gutter); color: var(--white); background: radial-gradient(circle at 12% 15%, color-mix(in oklch, var(--primary) 60%, transparent), transparent 55%), var(--base);
}
.book-strip__inner {
  display: grid; gap: var(--space-l); max-inline-size: var(--content-width); margin-inline: auto; @media (width >= 56em) { & { grid-template-columns: 3fr 2fr; align-items: center; } }
}
.book-strip__main {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s);
}
.book-strip__title {
  margin: 0; color: var(--accent); font-size: var(--h2);
}
.book-strip__text {
  max-inline-size: 55ch; margin: 0; color: color-mix(in oklch, var(--white) 85%, transparent); font-size: var(--text-m);
}
.book-strip__phones {
  display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-l); margin: 0; padding: 0; list-style: none;
}
.book-strip__phone-link {
  color: var(--white); font-family: var(--heading-font-family); font-size: var(--h3); font-weight: 700; text-decoration: none; white-space: nowrap; &:hover, &:focus-visible { color: var(--accent-light); }
}
.cta-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5em; max-inline-size: 100%; padding: 0.8em 1.4em; border: 2px solid transparent; border-radius: 999px; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; overflow-wrap: anywhere; transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s; &:hover { transform: translateY(-1px); } &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; } @media (prefers-reduced-motion: reduce) { & { transition: none; } &:hover { transform: none; } }
}
.cta-button--gold {
  background-color: var(--accent); color: var(--base); &:hover, &:focus-visible { background-color: var(--accent-light); color: var(--base); }
}
.book-strip__aside {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m); @media (width >= 56em) { & { align-items: flex-end; } }
}
.book-strip__badge {
  display: block; inline-size: 15rem; max-inline-size: 100%; block-size: auto; padding: var(--space-xs); border-radius: var(--radius); background-color: var(--white);
}
.book-strip__tinsel {
  display: flex; align-items: center; gap: var(--space-s); max-inline-size: 26rem; padding: var(--space-s); border: 1px solid color-mix(in oklch, var(--white) 18%, transparent); border-radius: var(--radius); background-color: color-mix(in oklch, var(--white) 6%, transparent); color: var(--white); text-decoration: none; transition: border-color 0.2s; &:hover, &:focus-visible { border-color: var(--accent); }
}
.book-strip__tinsel-img {
  flex: none; inline-size: 3.25rem; block-size: 3.25rem; padding: 0.35rem; border-radius: 50%; background-color: var(--white); object-fit: contain;
}
.book-strip__tinsel-text {
  display: flex; flex-direction: column; gap: 0.15em; color: color-mix(in oklch, var(--white) 85%, transparent); font-size: var(--text-s);
}
.book-strip__tinsel-title {
  color: var(--accent); font-size: var(--text-m);
}
.site-footer {
  display: block; padding: var(--space-m) var(--gutter); background-color: color-mix(in oklch, var(--base) 80%, var(--black)); color: color-mix(in oklch, var(--white) 72%, transparent); font-size: var(--text-s);
}
.site-footer__inner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs) var(--space-m); max-inline-size: var(--content-width); margin-inline: auto;
}
.site-footer__copy {
  margin: 0;
}
.site-footer__credit {
  margin: 0; & a { color: var(--white); text-underline-offset: 0.2em; &:hover { color: var(--accent-light); } }
}
body {
  --surface: var(--primary-ultra-light); --surface-alt: color-mix(in oklch, var(--primary-ultra-light) 70%, var(--primary-light)); --card-bg: color-mix(in oklch, var(--primary-ultra-light) 35%, var(--white)); background-color: var(--surface); color: var(--base);
}
html {
  scroll-padding-block-start: 10rem;
}
.hidden-accessible {
  position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.site-header__inner .site-header__toggle {
  display: none; flex: none; align-items: center; gap: 0.6em; min-inline-size: 0; padding: 0.55em 0.9em; border: 1px solid color-mix(in oklch, var(--white) 40%, transparent); border-radius: var(--radius); background: transparent; color: var(--white); font: inherit; font-weight: 700; cursor: pointer; &:hover { border-color: var(--accent); } &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; } &[aria-expanded='true'] .site-header__toggle-icon { background: transparent; } &[aria-expanded='true'] .site-header__toggle-icon::before { transform: translateY(0.4em) rotate(45deg); } &[aria-expanded='true'] .site-header__toggle-icon::after { transform: translateY(-0.4em) rotate(-45deg); }
}
.site-nav__item .site-nav__sub-toggle {
  display: inline-flex; min-inline-size: 0; margin-inline-start: -0.3em; padding: 0.3em; border: 0; border-radius: var(--radius); background: transparent; color: var(--white); cursor: pointer; &:hover { color: var(--accent-light); } &:focus-visible { outline: 2px solid var(--accent); } &[aria-expanded='true'] .site-nav__sub-icon { transform: rotate(180deg); } &[aria-expanded='true'] + .site-nav__submenu { display: block; }
}
.cta-button--outline {
  border-color: color-mix(in oklch, var(--white) 70%, transparent); color: var(--white); &:hover, &:focus-visible { background-color: var(--white); color: var(--primary); }
}
.cta-button--outline-dark {
  border-color: var(--primary); color: var(--primary); &:hover, &:focus-visible { background-color: var(--primary); color: var(--white); }
}
.cta-button__icon {
  flex: none; inline-size: 1.2em; block-size: 1.2em;
}
.page-hero {
  position: relative; isolation: isolate; display: block; overflow: hidden; padding: var(--section-space-m) var(--gutter); color: var(--white); background: radial-gradient(circle at 88% 12%, color-mix(in oklch, var(--accent) 28%, transparent), transparent 45%), linear-gradient(135deg, var(--base) 0%, var(--primary-dark) 45%, var(--primary) 100%); &::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: radial-gradient(circle, color-mix(in oklch, var(--white) 75%, transparent) 1px, transparent 1.6px), radial-gradient(circle, color-mix(in oklch, var(--accent) 70%, transparent) 1px, transparent 1.7px); background-size: 46px 46px, 79px 79px; background-position: 0 0, 23px 31px; opacity: 0.35; mask-image: linear-gradient(to bottom, black, transparent 90%); }
}
.page-hero__inner {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s); max-inline-size: var(--content-width); margin-inline: auto;
}
.page-hero__eyebrow {
  margin: 0; color: var(--accent); font-size: var(--text-s); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
}
.page-hero__title {
  max-inline-size: 22ch; margin: 0; color: var(--white); font-size: var(--h1); text-wrap: balance;
}
.page-hero__lead {
  max-inline-size: 60ch; margin: 0; color: color-mix(in oklch, var(--white) 88%, transparent); font-size: var(--text-l);
}
.page-hero__actions {
  display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-s); margin-block-start: var(--space-xs);
}
.page-body {
  display: block; padding: var(--section-space-m) var(--gutter); background-color: var(--surface);
}
.page-body__inner {
  display: flex; flex-direction: column; gap: var(--space-xl); max-inline-size: var(--content-width); margin-inline: auto;
}
.page-card {
  display: block;
}
.page-card--film {
  padding: var(--space-l) var(--space-m); border-radius: var(--radius); background-color: var(--card-bg);
}
.page-card__layout {
  display: grid; gap: var(--space-l); align-items: start; @media (width >= 56em) { & { grid-template-columns: 2fr 3fr; } }
}
.page-card__layout--narrow {
  @media (width >= 56em) { & { grid-template-columns: 1fr 2fr; } }
}
.page-card__layout--text {
  display: block; max-inline-size: 70ch;
}
.page-card__media {
  display: flex; flex-direction: column; gap: var(--space-l); @media (width >= 56em) { & { position: sticky; inset-block-start: 10rem; } }
}
.page-card__figure {
  position: relative; margin: 0; padding: 0 var(--space-s) var(--space-s) 0; &::before { content: ''; position: absolute; inset: var(--space-s) 0 0 var(--space-s); border: 2px solid var(--accent); border-radius: var(--radius); }
}
.page-card__figure--small {
  max-inline-size: 18rem;
}
.page-card__img {
  position: relative; z-index: 1; display: block; inline-size: 100%; block-size: auto; border-radius: var(--radius); box-shadow: var(--box-shadow-1);
}
.page-card__img-link {
  position: relative; z-index: 1; display: block; border-radius: var(--radius); &:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
}
.page-card__text {
  display: flex; flex-direction: column; gap: var(--space-s); max-inline-size: 70ch; font-size: var(--text-m); line-height: 1.65; & p { margin: 0; } & a { color: var(--primary); text-underline-offset: 0.2em; &:hover { color: var(--primary-dark); } }
}
.page-card__lead {
  color: var(--primary); font-size: var(--text-m);
}
.page-card__subheading {
  margin: var(--space-s) 0 0; color: var(--primary); font-size: var(--h3);
}
.page-card__panel {
  display: flex; flex-direction: column; gap: var(--space-s); margin-block-start: var(--space-s); padding: var(--space-m); border-inline-start: 4px solid var(--accent); border-radius: var(--radius); background-color: var(--card-bg); & .page-card__subheading { margin: 0; }
}
.page-card__list {
  display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none;
}
.page-card__list--facts {
  padding: var(--space-m); border-radius: var(--radius); background-color: var(--base); color: var(--white); & .page-card__list-icon { color: var(--accent); }
}
.page-card__list-item {
  display: flex; align-items: flex-start; gap: 0.6em;
}
.page-card__list-icon {
  flex: none; inline-size: 1.2em; block-size: 1.2em; margin-block-start: calc((1lh - 1.2em) / 2); color: var(--primary);
}
.page-card__questions {
  display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none;
}
.page-card__question {
  padding: var(--space-s) var(--space-m); border-radius: var(--radius); background-color: var(--base); color: var(--white); & strong { color: var(--accent); }
}
.related {
  display: block;
}
.related__heading {
  margin: 0 0 var(--space-m); color: var(--primary); font-size: var(--h2);
}
.related__list {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: var(--space-m); margin: 0; padding: 0; list-style: none;
}
.related__item {
  display: flex;
}
.related__link {
  display: flex; flex-direction: column; inline-size: 100%; overflow: hidden; border: 1px solid color-mix(in oklch, var(--primary) 14%, transparent); border-radius: var(--radius); background-color: var(--card-bg); box-shadow: var(--box-shadow-1); color: var(--base); text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; &:hover { transform: translateY(-3px); box-shadow: var(--box-shadow-2); } &:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; } @media (prefers-reduced-motion: reduce) { & { transition: none; } &:hover { transform: none; } }
}
.related__img {
  display: block; inline-size: 100%; block-size: auto; aspect-ratio: 4 / 3; object-fit: cover;
}
.related__title {
  padding: var(--space-s) var(--space-s) 0; color: var(--primary); font-family: var(--heading-font-family); font-size: var(--h4); font-weight: 600; line-height: 1.25;
}
.related__more {
  display: inline-flex; align-items: center; gap: 0.3em; margin-block-start: auto; padding: var(--space-xs) var(--space-s) var(--space-s); font-size: var(--text-s); font-weight: 700;
}
.related__icon {
  inline-size: 1.1em; block-size: 1.1em; color: var(--accent);
}
.quotes {
  display: grid; gap: var(--space-m); @media (width >= 52em) { & { grid-template-columns: repeat(2, 1fr); } }
}
.quotes__photo {
  margin: 0;
}
.quotes__img {
  display: block; inline-size: 100%; block-size: 100%; min-block-size: 16rem; border-radius: var(--radius); object-fit: cover;
}
.quote {
  display: flex; flex-direction: column; gap: var(--space-s); margin: 0; padding: var(--space-l) var(--space-m) var(--space-m); border-radius: var(--radius); background-color: var(--card-bg); &::before { content: ''; display: block; inline-size: 2.2em; block-size: 2.2em; background-color: var(--accent); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.95 12.75c-.9 0-1.65 0-2.24-.08-.63-.08-1.2-.27-1.65-.73-.46-.45-.64-1.02-.73-1.65-.08-.6-.08-1.34-.08-2.24v-.1c0-.9 0-1.65.08-2.24.09-.63.27-1.2.73-1.65.45-.46 1.02-.64 1.65-.73.6-.08 1.34-.08 2.24-.08h.1c.9 0 1.65 0 2.24.08.63.09 1.2.27 1.65.73.46.45.64 1.02.73 1.65.08.6.08 1.34.08 2.24v.1c0 .9 0 1.65-.08 2.24-.09.63-.27 1.2-.73 1.65-.45.46-1.02.65-1.65.73-.6.08-1.34.08-2.24.08z'/%3E%3Cpath d='M2.8 20.05a1 1 0 0 1 .65-1.25c3.11-.97 5.3-3.72 5.3-6.91V7.75a1 1 0 0 1 2 0v4.14c0 4.14-2.84 7.61-6.7 8.81a1 1 0 0 1-1.25-.65z'/%3E%3Cpath d='M17.95 12.75c-.9 0-1.65 0-2.24-.08-.63-.08-1.2-.27-1.65-.73-.46-.45-.64-1.02-.73-1.65-.08-.6-.08-1.34-.08-2.24v-.1c0-.9 0-1.65.08-2.24.09-.63.27-1.2.73-1.65.45-.46 1.02-.64 1.65-.73.6-.08 1.34-.08 2.24-.08h.1c.9 0 1.65 0 2.24.08.63.09 1.2.27 1.65.73.46.45.64 1.02.73 1.65.08.6.08 1.34.08 2.24v.1c0 .9 0 1.65-.08 2.24-.09.63-.27 1.2-.73 1.65-.45.46-1.02.65-1.65.73-.6.08-1.34.08-2.24.08z'/%3E%3Cpath d='M14.8 20.05a1 1 0 0 1 .65-1.25c3.11-.97 5.3-3.72 5.3-6.91V7.75a1 1 0 0 1 2 0v4.14c0 4.14-2.84 7.61-6.7 8.81a1 1 0 0 1-1.25-.65z'/%3E%3C/svg%3E") no-repeat center / contain; }
}
.quote__text {
  margin: 0; padding: 0; border: 0; background: none; color: var(--base); font-size: var(--text-m); font-weight: 600; line-height: 1.5; & p { margin: 0; }
}
.quote__cite {
  color: color-mix(in oklch, var(--base) 72%, var(--white)); font-size: var(--text-s); & a { color: var(--primary); }
}
.gallery {
  display: flex; flex-direction: column; gap: var(--space-s); inline-size: 100%; max-inline-size: 60rem; margin-inline: auto;
}
.gallery__stage {
  position: relative;
}
.gallery__track {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: var(--space-s); margin: 0; padding: 0; list-style: none;
}
.gallery[data-gallery-js] .gallery__track {
  display: block;
}
.gallery__slide {
  &[hidden] { display: none; }
}
.gallery__figure {
  margin: 0;
}
.gallery__img {
  display: block; inline-size: 100%; block-size: auto; border-radius: var(--radius); background-color: var(--base);
}
.gallery[data-gallery-js] .gallery__img {
  aspect-ratio: 3 / 2; object-fit: contain;
}
.gallery:not([data-gallery-js]) .gallery__btn, .gallery:not([data-gallery-js]) .gallery__thumbs {
  display: none;
}
.gallery[data-gallery-js] .gallery__btn {
  position: absolute; inset-block-start: 50%; translate: 0 -50%; display: grid; place-items: center; inline-size: 3rem; block-size: 3rem; min-inline-size: 0; padding: 0; border: 0; border-radius: 50%; background-color: color-mix(in oklch, var(--white) 92%, transparent); color: var(--primary); box-shadow: var(--box-shadow-1); cursor: pointer; &:hover { background-color: var(--accent); color: var(--base); } &:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
}
.gallery__btn--prev {
  inset-inline-start: var(--space-s);
}
.gallery__btn--next {
  inset-inline-end: var(--space-s);
}
.gallery__btn-icon {
  inline-size: 1.6rem; block-size: 1.6rem;
}
.gallery__thumbs {
  display: flex; gap: var(--space-xs); margin: 0; padding: 0.25rem 0.25rem var(--space-xs); overflow-x: auto; list-style: none; scroll-snap-type: x mandatory;
}
.gallery__thumb-item {
  flex: none; scroll-snap-align: start;
}
.gallery .gallery__thumb {
  display: block; min-inline-size: 0; padding: 0; overflow: hidden; border: 3px solid transparent; border-radius: calc(var(--radius) / 1.5); background: none; opacity: 0.6; cursor: pointer; &:hover { opacity: 1; } &[aria-current='true'] { border-color: var(--accent); opacity: 1; } &:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
}
.gallery__thumb-img {
  display: block; inline-size: 5.5rem; block-size: 3.7rem; object-fit: cover;
}
.gallery__credit {
  margin: 0; font-size: var(--text-s); text-align: center; & a { color: var(--primary); }
}
.videos {
  display: grid; gap: var(--space-m); @media (width >= 48em) { & { grid-template-columns: repeat(2, 1fr); } }
}
.video {
  display: flex; flex-direction: column; gap: var(--space-xs); margin: 0;
}
.video__player {
  display: block; inline-size: 100%; block-size: auto; aspect-ratio: 4 / 3; border-radius: var(--radius); background-color: var(--base); box-shadow: var(--box-shadow-1);
}
.video__caption {
  color: color-mix(in oklch, var(--base) 72%, var(--white)); font-size: var(--text-s);
}
.videos__note {
  max-inline-size: 70ch; margin: var(--space-s) 0 0; & a { color: var(--primary); }
}
.contact-methods {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--space-m); margin: 0; padding: 0; list-style: none;
}
.contact-methods__item {
  display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-l) var(--space-m); border-block-start: 4px solid var(--accent); border-radius: var(--radius); background-color: var(--card-bg); box-shadow: var(--box-shadow-1);
}
.contact-methods__icon {
  inline-size: 2.5rem; block-size: 2.5rem; color: var(--primary);
}
.contact-methods__title {
  margin: 0; color: var(--base); font-size: var(--h4);
}
.contact-methods__value {
  margin: 0; font-size: var(--text-l); font-weight: 700; overflow-wrap: break-word; & a { color: var(--primary); text-decoration: none; &:hover, &:focus-visible { color: var(--primary-dark); } }
}
.contact-methods__links {
  display: flex; flex-wrap: wrap; gap: var(--space-s); margin: 0; & a { color: var(--primary); font-weight: 600; }
}
.home-hero {
  position: relative; isolation: isolate; display: block; overflow: hidden; padding: var(--section-space-l) var(--gutter) var(--section-space-m); color: var(--white); background: radial-gradient(ellipse at 78% 25%, color-mix(in oklch, var(--primary) 75%, transparent), transparent 60%), var(--base); &::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: radial-gradient(circle, color-mix(in oklch, var(--white) 75%, transparent) 1px, transparent 1.6px), radial-gradient(circle, color-mix(in oklch, var(--accent) 70%, transparent) 1px, transparent 1.7px); background-size: 46px 46px, 79px 79px; background-position: 0 0, 23px 31px; opacity: 0.35; mask-image: linear-gradient(to bottom, black, transparent 90%); }
}
.home-hero__inner {
  display: grid; gap: var(--space-xl); align-items: center; max-inline-size: var(--content-width); margin-inline: auto; @media (width >= 56em) { & { grid-template-columns: 3fr 2fr; } }
}
.home-hero__content {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m); min-inline-size: 0;
}
.home-hero__eyebrow {
  margin: 0; padding: 0.45em 1em; border: 1px solid color-mix(in oklch, var(--accent) 55%, transparent); border-radius: 999px; background-color: color-mix(in oklch, var(--accent) 16%, transparent); color: var(--accent-light); font-size: var(--text-s); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
}
.home-hero__title {
  margin: 0; color: var(--white); font-size: var(--h1); line-height: 1.08; text-wrap: balance;
}
.home-hero__lead {
  max-inline-size: 36ch; margin: 0; color: color-mix(in oklch, var(--white) 92%, transparent); font-size: var(--text-l); line-height: 1.4;
}
.home-hero__ideal {
  max-inline-size: 55ch; margin: 0; color: color-mix(in oklch, var(--white) 75%, transparent); font-size: var(--text-m);
}
.home-hero__actions {
  display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-s);
}
.home-hero__badge {
  display: block; inline-size: 12rem; block-size: auto; padding: var(--space-xs); border-radius: var(--radius); background-color: var(--white);
}
.home-hero__media {
  position: relative; justify-self: center; inline-size: min(100%, 26rem); margin: 0; padding: 0 var(--space-m) var(--space-m) 0; &::before { content: ''; position: absolute; inset: var(--space-m) 0 0 var(--space-m); z-index: -1; border-radius: 999px 999px var(--radius) var(--radius); background: linear-gradient(160deg, var(--accent), var(--primary)); }
}
.home-hero__img {
  display: block; inline-size: 100%; block-size: auto; border-radius: 999px 999px var(--radius) var(--radius); background-color: var(--primary-ultra-light); box-shadow: var(--box-shadow-2);
}
.home-section {
  display: block; padding: var(--section-space-m) var(--gutter); background-color: var(--surface);
}
.home-section--tint {
  background-color: var(--surface-alt);
}
.home-section__inner {
  display: flex; flex-direction: column; gap: var(--space-m); max-inline-size: var(--content-width); margin-inline: auto;
}
.home-section__eyebrow {
  margin: 0; color: var(--primary); font-size: var(--text-s); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
}
.home-section__title {
  margin: calc(var(--space-m) * -0.6) 0 var(--space-xs); color: var(--base); font-size: var(--h2); text-wrap: balance;
}
.home-section__more {
  margin: var(--space-xs) 0 0;
}
.home-section__inner.home-split {
  display: grid; gap: var(--space-xl); align-items: center; @media (width >= 56em) { & { grid-template-columns: 3fr 2fr; } }
}
.home-split__text {
  font-size: var(--text-m); display: flex; flex-direction: column; gap: var(--space-s); line-height: 1.65; & p:not([class]) { margin: 0; font-size: var(--text-m); } & a { color: var(--primary); text-underline-offset: 0.2em; } & .home-section__title { margin: 0 0 var(--space-xs); }
}
.home-split__media {
  position: relative; padding-block-end: var(--space-xl);
}
.home-split__figure {
  margin: 0;
}
.home-split__figure--main {
  & .home-split__img { border-radius: var(--radius); box-shadow: var(--box-shadow-2); }
}
.home-split__figure--inset {
  position: absolute; inset-inline-end: var(--space-s); inset-block-end: 0; inline-size: 34%; & .home-split__img { border: 4px solid var(--white); border-radius: var(--radius); box-shadow: var(--box-shadow-2); }
}
.home-split__img {
  display: block; inline-size: 100%; block-size: auto;
}
.reviews {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: var(--space-m); margin: 0; padding: 0; list-style: none;
}
.reviews__item {
  display: flex;
}
.review {
  display: flex; flex-direction: column; inline-size: 100%; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: var(--radius); background-color: var(--card-bg); box-shadow: var(--box-shadow-1);
}
.review--text {
  gap: var(--space-s); padding: var(--space-m); &::before { content: ''; display: block; inline-size: 2.2em; block-size: 2.2em; background-color: var(--accent); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.95 12.75c-.9 0-1.65 0-2.24-.08-.63-.08-1.2-.27-1.65-.73-.46-.45-.64-1.02-.73-1.65-.08-.6-.08-1.34-.08-2.24v-.1c0-.9 0-1.65.08-2.24.09-.63.27-1.2.73-1.65.45-.46 1.02-.64 1.65-.73.6-.08 1.34-.08 2.24-.08h.1c.9 0 1.65 0 2.24.08.63.09 1.2.27 1.65.73.46.45.64 1.02.73 1.65.08.6.08 1.34.08 2.24v.1c0 .9 0 1.65-.08 2.24-.09.63-.27 1.2-.73 1.65-.45.46-1.02.65-1.65.73-.6.08-1.34.08-2.24.08z'/%3E%3Cpath d='M2.8 20.05a1 1 0 0 1 .65-1.25c3.11-.97 5.3-3.72 5.3-6.91V7.75a1 1 0 0 1 2 0v4.14c0 4.14-2.84 7.61-6.7 8.81a1 1 0 0 1-1.25-.65z'/%3E%3Cpath d='M17.95 12.75c-.9 0-1.65 0-2.24-.08-.63-.08-1.2-.27-1.65-.73-.46-.45-.64-1.02-.73-1.65-.08-.6-.08-1.34-.08-2.24v-.1c0-.9 0-1.65.08-2.24.09-.63.27-1.2.73-1.65.45-.46 1.02-.64 1.65-.73.6-.08 1.34-.08 2.24-.08h.1c.9 0 1.65 0 2.24.08.63.09 1.2.27 1.65.73.46.45.64 1.02.73 1.65.08.6.08 1.34.08 2.24v.1c0 .9 0 1.65-.08 2.24-.09.63-.27 1.2-.73 1.65-.45.46-1.02.65-1.65.73-.6.08-1.34.08-2.24.08z'/%3E%3Cpath d='M14.8 20.05a1 1 0 0 1 .65-1.25c3.11-.97 5.3-3.72 5.3-6.91V7.75a1 1 0 0 1 2 0v4.14c0 4.14-2.84 7.61-6.7 8.81a1 1 0 0 1-1.25-.65z'/%3E%3C/svg%3E") no-repeat center / contain; }
}
.review__img {
  display: block; inline-size: 100%; block-size: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 25%;
}
.review__text {
  margin: 0; padding: var(--space-m); border: 0; background: none; font-size: var(--text-m); line-height: 1.6; & p { margin: 0; font-size: inherit; } & strong { color: var(--primary); font-weight: 700; } & a { color: inherit; text-underline-offset: 0.2em; }
}
.review--text .review__text {
  padding: 0;
}
.photo-strip {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-s); margin: 0; padding: 0; list-style: none; @media (width >= 48em) { & { grid-template-columns: repeat(4, 1fr); } }
}
.photo-strip__item {
  overflow: hidden; aspect-ratio: 1; border-radius: var(--radius); background-color: var(--base);
}
.photo-strip__img {
  display: block; inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 0.4s; &:hover { transform: scale(1.04); } @media (prefers-reduced-motion: reduce) { & { transition: none; } }
}
.home-cta {
  display: block; padding: var(--section-space-m) var(--gutter); background: linear-gradient(120deg, var(--primary-dark), var(--primary)); color: var(--white);
}
.home-cta__inner {
  display: grid; gap: var(--space-m); align-items: center; max-inline-size: var(--content-width); margin-inline: auto; @media (width >= 56em) { & { grid-template-columns: 1fr auto; } }
}
.home-cta__title {
  margin: 0; color: var(--white); font-size: var(--h3); text-wrap: balance;
}
.home-cta__number {
  color: var(--accent); white-space: nowrap;
}
.home-cta__note {
  margin: var(--space-xs) 0 0; color: var(--accent-light);
}
.home-cta__actions {
  display: flex; flex-wrap: wrap; gap: var(--space-s);
}
.not-found {
  position: relative; isolation: isolate; display: grid; place-items: center; min-block-size: 60vh; padding: var(--section-space-l) var(--gutter); overflow: hidden; color: var(--white); text-align: center; background: radial-gradient(circle at 50% 30%, color-mix(in oklch, var(--primary) 70%, transparent), transparent 60%), var(--base); &::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: radial-gradient(circle, color-mix(in oklch, var(--white) 75%, transparent) 1px, transparent 1.6px), radial-gradient(circle, color-mix(in oklch, var(--accent) 70%, transparent) 1px, transparent 1.7px); background-size: 46px 46px, 79px 79px; background-position: 0 0, 23px 31px; opacity: 0.35; }
}
.not-found__inner {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-m); max-inline-size: 40rem;
}
.not-found__tag {
  display: inline-flex; align-items: center; gap: 0.5rem; margin: 0; padding: 0.4em 0.9em; border: 1px dashed color-mix(in oklch, var(--accent) 70%, transparent); border-radius: var(--radius); color: var(--accent-light); font-size: var(--text-s); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; rotate: -4deg;
}
.not-found__tag-dot {
  display: block; flex: 0 0 8px; width: 8px; height: 8px; min-width: 8px; max-width: 8px; min-height: 8px; max-height: 8px; background: var(--accent); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
.not-found__title {
  margin: 0; color: var(--white); font-size: var(--h1); line-height: 1.1; text-wrap: balance;
}
.not-found__highlight {
  display: block; color: var(--accent);
}
.not-found__lede {
  max-inline-size: 38ch; margin: 0; color: color-mix(in oklch, var(--white) 85%, transparent); font-size: var(--text-l); & a { color: var(--accent-light); font-weight: 700; white-space: nowrap; }
}
body:has(.contact-methods) .book-strip {
  display: none;
}
.reviews--text {
  display: block; columns: 3 18rem; column-gap: var(--space-m); margin-block-start: var(--space-m); & > .reviews__item { break-inside: avoid; margin-block-end: var(--space-m); }
}
html:root {
  /* Etch reset sets scrollbar-gutter: stable; with overlay scrollbars that leaves an empty strip at the right edge beside coloured bands */
  scrollbar-gutter: auto;
}
.contact-methods__item--featured {
  color: var(--white); background: radial-gradient(circle at 100% 0%, color-mix(in oklch, var(--accent) 24%, transparent), transparent 45%), linear-gradient(135deg, var(--base) 0%, var(--primary-dark) 45%, var(--primary) 100%); & .contact-methods__icon { color: var(--accent); } & .contact-methods__title { color: var(--white); } & .contact-methods__value a { color: var(--white); &:hover, &:focus-visible { color: var(--accent-light); } } & .contact-methods__text { color: color-mix(in oklch, var(--white) 88%, transparent); }
}
.contact-methods__text {
  margin: 0; font-size: var(--text-m); line-height: 1.5;
}
.contact-methods__actions {
  display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-block-start: auto; padding-block-start: var(--space-xs);
}
.contact-methods__actions .cta-button {
  padding: 0.6em 1.2em; font-size: var(--text-s);
}
.contact-details {
  display: grid; gap: var(--space-m); @media (width >= 56em) { & { grid-template-columns: 1fr 1fr; } } & .page-card__panel { margin: 0; } & .page-card__list-item { font-size: var(--text-m); }
}
.contact-details__text {
  margin: 0; font-size: var(--text-m); line-height: 1.65;
}
.privacy__list {
  display: grid; gap: var(--space-2xs); margin: 0; padding-inline-start: 1.25em; list-style: disc;
}
.privacy__optout {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s);
}
.privacy__button {
  font-family: inherit; font-size: var(--text-s); background-color: transparent; cursor: pointer;
}
.site-footer__link {
  color: var(--white); text-underline-offset: 0.2em; &:hover { color: var(--accent-light); }
}