@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700&family=Rubik:wght@500;600;700;800&subset=cyrillic&display=swap');

:root {
  --atb-color-text: #2C2825;
  --atb-color-background: #F7F1E8;
  --atb-color-surface: #FFF9F2;
  --atb-color-primary: #D9412E;
  --atb-color-secondary: #9CCAAD;
  --atb-color-accent: #B52E1D;
  --atb-color-border: rgba(44, 40, 37, 0.4);
  --atb-color-muted: #665F59;
  --atb-font-body: 'Manrope', sans-serif;
  --atb-font-heading: 'Rubik', sans-serif;
  --atb-width-max: 1280px;
  --atb-actions-gap: 1rem;
  --atb-breadcrumb-divider: "›";
  --atb-shadow-sm: 0 2px 8px rgba(44, 40, 37, 0.08);
  --atb-shadow-lg: 0 12px 32px rgba(44, 40, 37, 0.12);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: var(--atb-font-body);
  color: var(--atb-color-text);
  background: var(--atb-color-background);
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img {
  max-inline-size: 100%;
  height: auto;
  display: block;
}
figure {
  margin: 0;
}
a {
  color: var(--atb-color-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--atb-color-accent);
}
p {
  margin-block: 0 1rem;
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--atb-font-heading);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--atb-color-text);
  margin-block: 0 0.75em;
  font-weight: 700;
}
.s {
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
  padding-block: clamp(3rem, 6vw, 6rem);
}
.s + .s {
  margin-block-start: 0;
}
.s[data-position="first"] {
  padding-block-start: clamp(2rem, 5vw, 4rem);
}
.s[data-position="last"] {
  padding-block-end: clamp(3rem, 6vw, 6rem);
}
.s.s--alt {
  background: var(--atb-color-surface);
  color: var(--atb-color-text);
  box-shadow: 0 0 0 100vmax var(--atb-color-surface);
  clip-path: inset(0 -100vmax);
}
.s.s--spotlight {
  background: var(--atb-color-text);
  color: var(--atb-color-background);
  box-shadow: 0 0 0 100vmax var(--atb-color-text);
  clip-path: inset(0 -100vmax);
}
.s.s--spotlight h1,
.s.s--spotlight h2,
.s.s--spotlight h3,
.s.s--spotlight h4,
.s.s--spotlight h5,
.s.s--spotlight h6 {
  color: var(--atb-color-background);
}
.s.s--spotlight a {
  color: var(--atb-color-secondary);
}
.s.s--spotlight a:hover {
  color: var(--atb-color-background);
}
.s.s--narrow {
  max-inline-size: 60rem;
}
/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--atb-font-heading);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  padding: 0.75rem 1.5rem;
  border: 1px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease,
    border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.btn--primary {
  background: var(--atb-color-primary);
  color: #FFF9F2;
  border-color: var(--atb-color-primary);
}
.btn--primary:hover {
  background: var(--atb-color-accent);
  border-color: var(--atb-color-accent);
  color: #FFF9F2;
  box-shadow: var(--atb-shadow-sm);
  transform: translateY(-2px);
}
.btn--primary:focus-visible {
  outline: 2px solid var(--atb-color-accent);
  outline-offset: 2px;
  background: var(--atb-color-accent);
  color: #FFF9F2;
}
.btn--ghost {
  background: transparent;
  border-color: var(--atb-color-border);
  color: var(--atb-color-text);
}
.btn--ghost:hover {
  background: var(--atb-color-primary);
  border-color: var(--atb-color-primary);
  color: var(--atb-color-text);
}
.btn--ghost:focus-visible {
  outline: 2px solid var(--atb-color-primary);
  outline-offset: 2px;
  background: var(--atb-color-primary);
  border-color: var(--atb-color-primary);
  color: var(--atb-color-text);
}
.btn--external::after {
  content: " ↗";
  font-size: 0.85em;
  line-height: 1;
}
.btn--external .platform-mark {
  flex-shrink: 0;
}
/* Header */
.site-topbar,
.site-prefooter {
  background: var(--atb-color-text);
  color: var(--atb-color-background);
  font-size: 0.875rem;
  letter-spacing: 0.02em;
}
.site-topbar__inner,
.site-prefooter__inner {
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding: 0.5rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.site-topbar__text,
.site-prefooter__text {
  margin: 0;
}
.site-topbar__link,
.site-prefooter__link {
  color: var(--atb-color-secondary);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.site-topbar__link:hover,
.site-prefooter__link:hover {
  color: var(--atb-color-background);
}
.site-header {
  background: var(--atb-color-background);
  border-bottom: 1px dashed var(--atb-color-border);
}
.site-header__inner {
  padding-inline: 1.5rem;
}
.brand {
  text-decoration: none;
  color: var(--atb-color-text);
}
.brand__mark {
  margin-inline-end: 0.5rem;
}
span.brand__mark {
  background: var(--atb-color-primary);
  color: var(--atb-color-background);
  border-radius: 50%;
  font-weight: 700;
  font-size: 1.1rem;
}
.brand__name {
  font-family: var(--atb-font-heading);
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: -0.02em;
}
.brand__tagline {
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  color: var(--atb-color-muted);
}
.site-nav__link {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--atb-color-text);
  padding: 0.75rem 1rem;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.site-nav__link:hover,
.site-nav__link:focus-visible {
  background: var(--atb-color-primary);
  color: var(--atb-color-text);
}
.site-nav__item--current .site-nav__link {
  background: var(--atb-color-primary);
  color: var(--atb-color-background);
}
.site-header__cta {
  margin-inline-start: auto;
}
.site-nav__list--sub .site-nav__link {
  padding-block: 0.5rem;
  font-size: 0.9rem;
  background: var(--atb-color-surface);
  color: var(--atb-color-text);
  border-bottom: 1px dashed var(--atb-color-border);
}
.site-nav__list--sub .site-nav__link:hover,
.site-nav__list--sub .site-nav__link:focus-visible {
  background: var(--atb-color-primary);
  color: var(--atb-color-text);
}
/* Footer */
.site-footer {
  background: var(--atb-color-text);
  color: var(--atb-color-background);
  padding-block: clamp(3rem, 6vw, 6rem);
  border-top: 1px dashed rgba(247, 241, 232, 0.25);
}
.site-footer__inner {
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
}
.site-footer__block {
  margin-block-end: 2rem;
}
.site-footer__brand .brand__name {
  color: var(--atb-color-background);
}
.site-footer__tagline {
  color: var(--atb-color-secondary);
  font-size: 0.9rem;
  margin: 0;
}
.site-footer__heading {
  font-family: var(--atb-font-heading);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--atb-color-secondary);
  margin-block: 0 1rem;
}
.site-footer__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer__link {
  color: var(--atb-color-background);
  display: inline-block;
  padding: 0.25rem 0;
  border-bottom: 1px dashed transparent;
}
.site-footer__link:hover {
  color: var(--atb-color-secondary);
  border-bottom-color: var(--atb-color-secondary);
}
.site-footer__contact {
  margin-block: 0.25rem;
  color: var(--atb-color-background);
}
.site-footer__copyright {
  margin-block-start: 2rem;
  padding-block-start: 1.5rem;
  border-top: 1px dashed rgba(247, 241, 232, 0.25);
  color: var(--atb-color-secondary);
  font-size: 0.875rem;
}
/* Breadcrumbs */
.atb-breadcrumbs {
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
  padding-block: 1rem 2rem;
}
.atb-breadcrumbs .breadcrumb {
  background: transparent;
}
.atb-breadcrumbs .breadcrumb-item {
  font-size: 0.9rem;
  letter-spacing: 0.02em;
}
.atb-breadcrumbs .breadcrumb-item a {
  color: var(--atb-color-muted);
  text-decoration: none;
}
.atb-breadcrumbs .breadcrumb-item a:hover {
  color: var(--atb-color-primary);
}
.atb-breadcrumbs .breadcrumb-item.active span {
  color: var(--atb-color-text);
}
/* Sections common list reset */
.s ul,
.s ol,
.s dl {
  margin: 0;
  padding: 0;
}
.s li {
  list-style: none;
}
/* Hero */
.s-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}
.s-hero__eyebrow {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--atb-color-primary);
  margin: 0;
}
.s-hero__title {
  font-size: clamp(2rem, 3.5vw + 0.5rem, 3rem);
  line-height: 1.1;
  max-inline-size: 22ch;
  margin-block: 0 1rem;
}
.s-hero__lead {
  font-size: 1.125rem;
  line-height: 1.6;
  max-inline-size: 45ch;
}
.s-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--atb-actions-gap);
  margin-block-start: 1.5rem;
}
.s-hero__media {
  margin: 0;
}
.s-hero__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  max-block-size: min(60vh, 34rem);
}
.s-hero__caption {
  font-size: 0.875rem;
  color: var(--atb-color-muted);
  margin-block-start: 0.5rem;
  text-align: right;
}
.s-hero--split {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  column-gap: 3rem;
}
.s-hero--split .s-hero__eyebrow,
.s-hero--split .s-hero__title,
.s-hero--split .s-hero__lead,
.s-hero--split .s-hero__actions {
  grid-column: 1;
}
.s-hero--split .s-hero__media {
  grid-column: 2;
  align-self: start;
}
.s-hero--split .s-hero__title[data-length="long"] {
  font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.5rem);
  max-inline-size: 22ch;
}
.s-hero--split:not(:has(.s-hero__media)) {
  grid-template-columns: minmax(0, 1fr);
}
.s-hero--split:not(:has(.s-hero__media)) > * {
  grid-column: 1;
}
.s-hero--stacked {
  grid-template-columns: minmax(0, 1fr);
}
.s-hero--stacked .s-hero__media {
  grid-column: 1;
  grid-row: auto;
}
/* Story */
.s-story {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 2rem;
  align-items: start;
}
.s-story__body {
  grid-column: 1;
}
.s-story__media {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.s-story__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  max-block-size: min(70vh, 34rem);
}
.s-story__paragraph {
  margin-block-end: 1.5rem;
}
.s-story--aside {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
.s-story--aside .s-story__media {
  grid-column: 1;
  grid-row: 1 / span 2;
}
.s-story--aside .s-story__body {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: start;
}
.s-story--columns {
  grid-template-columns: minmax(0, 1fr);
}
.s-story--columns .s-story__media {
  grid-column: 1;
}
.s-story--columns .s-story__body {
  grid-column: 1;
  column-count: 2;
  column-gap: 2rem;
}
.s-story--columns .s-story__paragraph {
  break-inside: avoid;
}
.s-story:not(:has(.s-story__media)) {
  grid-template-columns: minmax(0, 1fr);
}
.s-story:not(:has(.s-story__media)) > * {
  grid-column: 1;
}
/* Offering */
.s-offering__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
  list-style: none;
}
.s-offering__col {
  display: flex;
}
.s-offering__item {
  flex: 1;
  height: 100%;
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.s-offering__item:hover {
  box-shadow: var(--atb-shadow-lg);
  transform: translateY(-4px);
}
.s-offering__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  max-block-size: min(70vh, 20rem);
}
.s-offering__item-title {
  font-size: 1.25rem;
  margin: 0;
}
.s-offering__item-text {
  margin: 0;
  font-size: 0.95rem;
}
.s-offering--rows .s-offering__list {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}
.s-offering--rows .s-offering__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 1.5rem;
  align-items: start;
}
.s-offering--rows .s-offering__image {
  grid-column: 1;
}
.s-offering--rows .s-offering__item-title,
.s-offering--rows .s-offering__item-text {
  grid-column: 2;
}
.s-offering--rows .s-offering__item:not(:has(.s-offering__image)) {
  grid-template-columns: minmax(0, 1fr);
}
.s-offering--rows .s-offering__item:not(:has(.s-offering__image)) > .s-offering__item-title,
.s-offering--rows .s-offering__item:not(:has(.s-offering__image)) > .s-offering__item-text {
  grid-column: 1;
}
/* Steps */
.s-steps__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  counter-reset: step;
}
.s-steps__item {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1.5rem;
  row-gap: 0.5rem;
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  counter-increment: step;
}
.s-steps__number {
  font-family: var(--atb-font-heading);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--atb-color-primary);
  grid-column: 1;
  grid-row: 1 / span 2;
}
.s-steps__item-title {
  grid-column: 2;
  margin: 0;
}
.s-steps__item-text {
  grid-column: 2;
  margin: 0;
  font-size: 0.95rem;
}
.s-steps--horizontal .s-steps__list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 2rem;
}
.s-steps--horizontal .s-steps__item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border: none;
  background: transparent;
  padding: 0;
}
.s-steps--horizontal .s-steps__number {
  font-size: 1.75rem;
}
.s-steps--horizontal .s-steps__item::after {
  content: "";
  position: absolute;
  top: 2.2rem;
  right: -1.5rem;
  width: 1.5rem;
  height: 2px;
  background: var(--atb-color-border);
}
.s-steps--horizontal .s-steps__item:last-child::after {
  display: none;
}
/* Highlight */
.s-highlight {
  text-align: center;
}
.s-highlight__claim {
  font-family: var(--atb-font-heading);
  font-size: clamp(1.75rem, 3vw + 0.5rem, 3rem);
  line-height: 1.1;
  font-weight: 700;
  max-inline-size: 22ch;
  margin-inline: auto;
  margin-block: 0 1rem;
}
.s-highlight__attribution {
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--atb-color-muted);
  margin: 0;
}
.s-highlight--quote {
  text-align: left;
  border-inline-start: 4px solid var(--atb-color-primary);
  padding-inline-start: 2rem;
}
.s-highlight--quote .s-highlight__claim {
  max-inline-size: none;
  margin-inline: 0;
}
.s-highlight--marker {
  text-align: left;
  background: var(--atb-color-text);
  color: var(--atb-color-background);
  box-shadow: 0 0 0 100vmax var(--atb-color-text);
  clip-path: inset(0 -100vmax);
  padding-block: 4rem;
}
.s-highlight--marker .s-highlight__claim {
  max-inline-size: 30ch;
}
.s-highlight--marker .s-highlight__attribution {
  color: var(--atb-color-secondary);
}
/* Checklist */
.s-checklist__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.s-checklist__item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
  border-block-end: 1px dashed var(--atb-color-border);
}
.s-checklist__text {
  font-weight: 600;
}
.s-checklist__note {
  color: var(--atb-color-muted);
  font-size: 0.875rem;
  white-space: nowrap;
}
.s-checklist--plain .s-checklist__item {
  border-block-end: none;
  border-block-start: 1px dashed var(--atb-color-border);
}
/* Timeline */
.s-timeline__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.s-timeline__item {
  display: grid;
  grid-template-columns: minmax(4rem, 0.3fr) minmax(0, 1.7fr);
  gap: 1rem;
  padding-block: 1.5rem;
  border-block-end: 1px dashed var(--atb-color-border);
}
.s-timeline__period {
  font-family: var(--atb-font-heading);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--atb-color-primary);
}
.s-timeline__item-title {
  margin: 0;
}
.s-timeline__item-text {
  grid-column: 2;
  margin: 0;
  font-size: 0.95rem;
}
/* Specs */
.s-specs__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.s-specs__item {
  display: grid;
  grid-template-columns: minmax(10rem, 0.6fr) minmax(0, 1.4fr);
  gap: 2rem;
  padding-block: 1.5rem;
  border-block-end: 1px dashed var(--atb-color-border);
}
.s-specs__label {
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.9rem;
  color: var(--atb-color-muted);
}
.s-specs__value {
  font-size: 1.125rem;
  margin: 0;
}
.s-specs--table .s-specs__item {
  grid-template-columns: minmax(10rem, 0.5fr) minmax(0, 1.5fr);
}
.s-specs--cards .s-specs__list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 2rem;
}
.s-specs--cards .s-specs__item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  background: var(--atb-color-surface);
}
/* Team */
.s-team__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
}
.s-team__item {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.s-team__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  max-block-size: min(70vh, 18rem);
}
.s-team__name {
  font-size: 1.25rem;
  margin: 0;
}
.s-team__role {
  color: var(--atb-color-primary);
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0;
}
.s-team__bio {
  font-size: 0.95rem;
  margin: 0;
}
/* Clients */
.s-clients__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
}
.s-clients__item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-block: 1rem;
  border-block-end: 1px dashed var(--atb-color-border);
}
.s-clients__name {
  font-weight: 600;
}
.s-clients__note {
  font-size: 0.875rem;
  color: var(--atb-color-muted);
}
/* Cards */
.s-cards__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
}
.s-cards__item {
  height: 100%;
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.s-cards__item:hover {
  box-shadow: var(--atb-shadow-lg);
  transform: translateY(-4px);
}
.s-cards__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  max-block-size: min(70vh, 20rem);
}
.s-cards__item-title {
  margin: 0;
}
.s-cards__item-text {
  margin: 0;
  font-size: 0.95rem;
}
.s-cards__link {
  margin-top: auto;
  font-weight: 600;
  color: var(--atb-color-primary);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: color 0.2s ease;
}
.s-cards__link:hover {
  color: var(--atb-color-accent);
}
.s-cards--list .s-cards__list {
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
.s-cards--list .s-cards__item {
  flex-direction: row;
  align-items: center;
  gap: 1.5rem;
}
.s-cards--list .s-cards__image {
  inline-size: 6rem;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
}
.s-cards--list .s-cards__item-title,
.s-cards--list .s-cards__item-text {
  margin: 0;
}
.s-cards--list .s-cards__link {
  margin-inline-start: auto;
}
/* Documents */
.s-documents__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
.s-documents__item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding-block: 1rem;
  border-block-end: 1px dashed var(--atb-color-border);
}
.s-documents__link {
  font-weight: 600;
  color: var(--atb-color-text);
}
.s-documents__link:hover {
  color: var(--atb-color-primary);
}
.s-documents__item-title {
  font-weight: 600;
}
.s-documents__note {
  font-size: 0.875rem;
  color: var(--atb-color-muted);
  white-space: nowrap;
}
/* Stats */
.s-stats__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.s-stats__item {
  flex: 1 1 12rem;
  text-align: center;
  padding: 1.5rem;
  border-block-start: 2px solid var(--atb-color-primary);
}
.s-stats__value {
  display: block;
  font-family: var(--atb-font-heading);
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1;
  color: var(--atb-color-primary);
  margin-block-end: 0.5rem;
}
.s-stats__label {
  display: block;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--atb-color-muted);
}
/* Testimonials */
.s-testimonials__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
}
.s-testimonials__item {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  height: 100%;
}
.s-testimonials__quote {
  font-size: 1.125rem;
  line-height: 1.6;
  margin: 0 0 1rem;
  font-style: italic;
  color: var(--atb-color-text);
}
.s-testimonials__author {
  font-weight: 600;
  margin: 0;
}
.s-testimonials__role {
  font-size: 0.875rem;
  color: var(--atb-color-muted);
  margin: 0;
}
/* FAQ */
.s-faq {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}
.s-faq__title {
  grid-column: 1;
}
.s-faq__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
.s-faq__item {
  border-block-end: 1px dashed var(--atb-color-border);
  padding-block: 1rem;
}
.s-faq__item[open] {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  padding: 1rem;
}
summary.s-faq__question {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
summary.s-faq__question::-webkit-details-marker {
  display: none;
}
summary.s-faq__question::after {
  content: "+";
  font-size: 1.5rem;
  line-height: 1;
  color: var(--atb-color-primary);
  font-weight: 400;
}
details[open] summary.s-faq__question::after {
  content: "–";
}
.s-faq__answer p {
  margin: 0.5rem 0 0;
}
.s-faq--split {
  grid-template-columns: minmax(0, 0.4fr) minmax(0, 1.6fr);
  align-items: start;
}
.s-faq--split .s-faq__title {
  grid-column: 1;
  position: sticky;
  top: 2rem;
}
.s-faq--split .s-faq__list {
  grid-column: 2;
}
.s-faq--boxed .s-faq__item {
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1rem;
  border-block-end: 1px dashed var(--atb-color-border);
}
.s-faq--boxed .s-faq__item[open] {
  background: var(--atb-color-surface);
  border-color: var(--atb-color-primary);
}
/* Gallery */
.s-gallery__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 1.5rem;
}
.s-gallery__item {
  height: 100%;
}
.s-gallery__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  max-block-size: min(70vh, 20rem);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.s-gallery__item:hover .s-gallery__image {
  transform: scale(1.02);
  box-shadow: var(--atb-shadow-lg);
}
.s-gallery--mosaic .s-gallery__item:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2;
}
.s-gallery--mosaic .s-gallery__item:nth-child(1) .s-gallery__image {
  aspect-ratio: 2 / 1;
  max-block-size: min(70vh, 32rem);
}
.s-gallery--mosaic .s-gallery__item:nth-child(2) {
  grid-column: span 1;
}
.s-gallery--mosaic .s-gallery__item:nth-child(3) {
  grid-column: span 1;
}
.s-gallery--strip .s-gallery__list {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 1rem;
  padding-block-end: 0.5rem;
}
.s-gallery--strip .s-gallery__item {
  flex: 0 0 clamp(16rem, 60vw, 24rem);
  scroll-snap-align: start;
}
.s-gallery--strip .s-gallery__image {
  aspect-ratio: 16 / 10;
  max-block-size: min(70vh, 28rem);
}
.s-gallery--column .s-gallery__list {
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}
.s-gallery--column .s-gallery__image {
  aspect-ratio: 16 / 9;
  max-block-size: min(70vh, 40rem);
}
/* Pricing */
.s-pricing__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
}
.s-pricing__item {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.s-pricing__name {
  font-size: 1.125rem;
  margin: 0;
}
.s-pricing__price {
  font-family: var(--atb-font-heading);
  font-weight: 700;
  font-size: 1.75rem;
  color: var(--atb-color-primary);
  margin: 0;
}
.s-pricing__note {
  font-size: 0.9rem;
  color: var(--atb-color-muted);
  margin: 0;
}
/* Contact */
.s-contact__details {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}
.s-contact__item {
  border-block-end: 1px dashed var(--atb-color-border);
  padding-block: 1rem;
}
.s-contact__label {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--atb-color-muted);
  margin: 0;
}
.s-contact__value {
  font-size: 1.125rem;
  margin: 0.25rem 0 0;
}
.s-contact__value a {
  color: var(--atb-color-text);
}
.s-contact__value a:hover {
  color: var(--atb-color-primary);
}
.s-contact--columns .s-contact__details {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
}
.s-contact--columns .s-contact__item {
  border: none;
  border-block-start: 1px dashed var(--atb-color-border);
  padding-block: 1rem;
}
/* Comparison */
.s-comparison__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
}
.s-comparison__item {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.s-comparison__name {
  font-size: 1.25rem;
  margin: 0;
}
.s-comparison__summary {
  font-size: 0.95rem;
  margin: 0;
}
.s-comparison__best {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--atb-color-primary);
  margin: 0.5rem 0 0;
}
.s-comparison__caveat {
  font-size: 0.85rem;
  color: var(--atb-color-muted);
  margin: 0;
}
/* Schedule */
.s-schedule__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
.s-schedule__item {
  display: grid;
  grid-template-columns: minmax(6rem, 0.4fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  padding-block: 1rem;
  border-block-end: 1px dashed var(--atb-color-border);
}
.s-schedule__when {
  font-weight: 600;
  font-family: var(--atb-font-heading);
}
.s-schedule__name {
  font-weight: 600;
}
.s-schedule__detail {
  font-size: 0.9rem;
  color: var(--atb-color-muted);
}
/* Locations */
.s-locations__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
}
.s-locations__item {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  height: 100%;
}
.s-locations__name {
  font-size: 1.25rem;
  margin: 0 0 0.75rem;
}
.s-locations__address {
  margin: 0;
  font-size: 0.95rem;
}
.s-locations__hours {
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  color: var(--atb-color-muted);
}
.s-locations__phone {
  display: inline-block;
  margin: 0.5rem 0 0;
  font-weight: 600;
  color: var(--atb-color-primary);
}
.s-locations__phone:hover {
  color: var(--atb-color-accent);
}
/* Prose */
.s-prose__body {
  max-inline-size: 65ch;
}
.s-prose__paragraph {
  margin-block-end: 1.5rem;
  font-size: 1.05rem;
  line-height: 1.7;
}
/* Moment */
.s-moment {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}
.s-moment__media {
  margin: 0;
}
.s-moment__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  max-block-size: min(70vh, 40rem);
}
.s-moment__index {
  font-family: var(--atb-font-heading);
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--atb-color-primary);
  margin: 0;
}
.s-moment__title {
  font-size: clamp(1.75rem, 3vw + 0.5rem, 2.75rem);
  max-inline-size: 22ch;
  margin-block: 0 0.75rem;
}
.s-moment__body {
  font-size: 1.125rem;
  line-height: 1.6;
  max-inline-size: 50ch;
}
.s-moment--center {
  text-align: center;
}
.s-moment--center .s-moment__media {
  max-inline-size: min(100%, 60rem);
  margin-inline: auto;
}
.s-moment--center .s-moment__title,
.s-moment--center .s-moment__body {
  margin-inline: auto;
}
.s-moment--offset {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.5fr);
  align-items: end;
}
.s-moment--offset .s-moment__media {
  grid-column: 1;
}
.s-moment--offset .s-moment__title,
.s-moment--offset .s-moment__body,
.s-moment--offset .s-moment__index {
  grid-column: 2;
}
/* Lettering */
.s-lettering__words {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
.s-lettering__word {
  font-family: var(--atb-font-heading);
  font-weight: 700;
  font-size: clamp(2rem, 6vw, 4rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--atb-color-text);
}
.s-lettering__action {
  margin-block-start: 2rem;
}
.s-lettering--scatter .s-lettering__word:nth-child(1) {
  transform: translateY(0.5rem) rotate(-2deg);
}
.s-lettering--scatter .s-lettering__word:nth-child(2) {
  transform: translateY(-0.25rem) rotate(1.5deg);
}
.s-lettering--scatter .s-lettering__word:nth-child(3) {
  transform: translateY(0.75rem) rotate(-1deg);
}
.s-lettering--scatter .s-lettering__word:nth-child(4) {
  transform: translateY(-0.5rem) rotate(2deg);
}
.s-lettering--scatter .s-lettering__word:nth-child(5) {
  transform: translateY(0.25rem) rotate(-0.5deg);
}
.s-lettering--stair .s-lettering__words {
  flex-direction: column;
  align-items: flex-start;
}
.s-lettering--stair .s-lettering__word {
  margin-inline-start: calc(var(--i, 0) * 3rem);
  font-size: clamp(1.5rem, 4vw, 3rem);
}
.s-lettering--stair .s-lettering__word:nth-child(1) { --i: 0; }
.s-lettering--stair .s-lettering__word:nth-child(2) { --i: 1; }
.s-lettering--stair .s-lettering__word:nth-child(3) { --i: 2; }
.s-lettering--stair .s-lettering__word:nth-child(4) { --i: 3; }
.s-lettering--stair .s-lettering__word:nth-child(5) { --i: 4; }
/* Inset */
.s-inset {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
}
.s-inset__media {
  margin: 0;
}
.s-inset__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  max-block-size: min(70vh, 34rem);
}
.s-inset__title {
  margin-block: 0 0.75rem;
}
.s-inset__text {
  font-size: 1.055rem;
  line-height: 1.6;
  margin-block-end: 1.5rem;
}
.s-inset--left .s-inset__media {
  grid-column: 1;
  grid-row: 1 / span 3;
}
.s-inset--left .s-inset__title,
.s-inset--left .s-inset__text,
.s-inset--left .s-inset__action {
  grid-column: 2;
}
.s-inset--right .s-inset__media {
  grid-column: 2;
  grid-row: 1 / span 3;
}
.s-inset--right .s-inset__title,
.s-inset--right .s-inset__text,
.s-inset--right .s-inset__action {
  grid-column: 1;
}
.s-inset--dark {
  background: var(--atb-color-text);
  color: var(--atb-color-background);
  box-shadow: 0 0 0 100vmax var(--atb-color-text);
  clip-path: inset(0 -100vmax);
}
.s-inset--dark .s-inset__title {
  color: var(--atb-color-background);
}
/* Panorama */
.s-panorama__media {
  margin: 0 0 1rem;
}
.s-panorama__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 5;
  max-block-size: min(70vh, 36rem);
}
.s-panorama__words {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin-block: 1rem 0.5rem;
}
.s-panorama__word {
  font-family: var(--atb-font-heading);
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.04em;
}
.s-panorama__word:not(:first-child)::before {
  content: "";
  display: inline-block;
  inline-size: 1.5rem;
  height: 1px;
  background: var(--atb-color-border);
  margin-inline-end: 0.75rem;
  vertical-align: middle;
}
.s-panorama__caption {
  color: var(--atb-color-muted);
  font-size: 1rem;
  margin: 0;
}
/* Duo */
.s-duo__media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.s-duo__figure {
  margin: 0;
}
.s-duo__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 10;
  max-block-size: min(70vh, 30rem);
}
.s-duo__figure:nth-child(2) {
  transform: translateY(1rem);
}
.s-duo__title {
  margin-block: 1rem 0.5rem;
}
.s-duo__text {
  font-size: 1.125rem;
  color: var(--atb-color-muted);
}
/* Fragments */
.s-fragments__parts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 2rem;
  margin-block-start: 1.5rem;
}
.s-fragments__item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.s-fragments__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  max-block-size: min(70vh, 18rem);
}
.s-fragments__label {
  font-family: var(--atb-font-heading);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--atb-color-primary);
  margin: 0;
}
.s-fragments__note {
  font-size: 0.9rem;
  color: var(--atb-color-muted);
  margin: 0;
}
/* Booking */
.s-booking__form {
  max-inline-size: 36rem;
}
.s-booking__fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  margin-block-end: 2rem;
}
.s-booking__field {
  margin: 0;
}
.s-booking__label {
  display: block;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--atb-color-muted);
  margin-block-end: 0.5rem;
}
.s-booking__label span {
  color: var(--atb-color-primary);
}
.s-booking__input.form-control {
  background: transparent;
  border: none;
  border-bottom: 2px dashed var(--atb-color-border);
  border-radius: 0;
  padding: 0.5rem 0.25rem;
  font-family: var(--atb-font-body);
  font-size: 1rem;
  color: var(--atb-color-text);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.s-booking__input.form-control:focus {
  border-bottom-color: var(--atb-color-primary);
  box-shadow: 0 2px 0 0 var(--atb-color-primary);
  outline: none;
}
textarea.s-booking__input.form-control {
  min-height: 6rem;
  resize: vertical;
}
.s-booking__submit {
  margin-block-end: 1rem;
}
.s-booking__note {
  font-size: 0.85rem;
  color: var(--atb-color-muted);
}
/* CTA */
.s-cta {
  text-align: center;
}
.s-cta__title {
  font-size: clamp(1.75rem, 3vw + 0.5rem, 2.75rem);
  max-inline-size: 22ch;
  margin-inline: auto;
  margin-block: 0 1rem;
}
.s-cta__text {
  font-size: 1.125rem;
  line-height: 1.6;
  max-inline-size: 50ch;
  margin-inline: auto;
  margin-block-end: 2rem;
}
.s-cta__action {
  display: inline-flex;
}
.s-cta--band {
  background: var(--atb-color-text);
  color: var(--atb-color-background);
  box-shadow: 0 0 0 100vmax var(--atb-color-text);
  clip-path: inset(0 -100vmax);
  text-align: left;
}
.s-cta--band .s-cta__title {
  color: var(--atb-color-background);
  margin-inline: 0;
}
.s-cta--band .s-cta__text {
  margin-inline: 0;
}
.s-cta--card {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 2rem;
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  text-align: left;
}
/* Thanks */
.s-thanks {
  text-align: center;
}
.s-thanks__eyebrow {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--atb-color-primary);
  margin: 0;
}
.s-thanks__title {
  font-size: clamp(2rem, 3.5vw + 0.5rem, 3rem);
  max-inline-size: 22ch;
  margin-inline: auto;
  margin-block: 0.75rem 1rem;
}
.s-thanks__lead {
  font-size: 1.125rem;
  max-inline-size: 50ch;
  margin-inline: auto;
  margin-block-end: 1.5rem;
}
.s-thanks__body {
  max-inline-size: 50ch;
  margin-inline: auto;
  margin-block-end: 2rem;
}
.s-thanks__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--atb-actions-gap);
  justify-content: center;
  margin-block-end: 1.5rem;
}
.s-thanks__note {
  font-size: 0.9rem;
  color: var(--atb-color-muted);
}
.s-thanks__note-link {
  font-weight: 600;
  color: var(--atb-color-primary);
}
.s-thanks__note-link:hover {
  color: var(--atb-color-accent);
}
/* HTML fragment */
.s-html-fragment__content .notice,
.site-header__edit-fragment .notice,
.site-footer__edit-fragment .notice {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1rem 1.5rem;
  font-size: 0.9rem;
}
/* Archive / blog */
.archive-header {
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
  margin-block-end: 2rem;
}
.archive-header__title {
  font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.5rem);
}
.archive-header__description {
  color: var(--atb-color-muted);
  font-size: 1.125rem;
}
.post-list {
  list-style: none;
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2rem;
}
.post-list__item {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.post-card__media {
  display: block;
}
.post-card__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  max-block-size: min(70vh, 16rem);
}
.post-card__title {
  font-size: 1.25rem;
  margin: 0;
}
.post-card__link {
  color: var(--atb-color-text);
}
.post-card__link:hover {
  color: var(--atb-color-primary);
}
.post-card__meta {
  font-size: 0.85rem;
  color: var(--atb-color-muted);
  margin: 0;
}
.post-card__excerpt {
  font-size: 0.95rem;
  margin: 0;
}
.post-pagination {
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
}
.page-item .page-link {
  color: var(--atb-color-text);
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  padding: 0.5rem 0.75rem;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.page-item.active .page-link {
  background: var(--atb-color-primary);
  border-color: var(--atb-color-primary);
  color: #FFF9F2;
}
.page-item .page-link:hover {
  background: var(--atb-color-primary);
  border-color: var(--atb-color-primary);
  color: var(--atb-color-text);
}
/* Entry */
.entry {
  max-inline-size: 65ch;
  margin-inline: auto;
  padding-inline: 1.5rem;
}
.entry__header {
  margin-block-end: 2rem;
}
.entry__title {
  font-size: clamp(2rem, 3vw + 0.5rem, 2.5rem);
}
.entry__meta {
  color: var(--atb-color-muted);
  font-size: 0.9rem;
}
.entry__media {
  margin-block-end: 2rem;
}
.entry__image {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  max-block-size: min(70vh, 30rem);
}
.entry__content p {
  margin-block-end: 1.5rem;
  font-size: 1.05rem;
  line-height: 1.7;
}
.entry__footer {
  margin-block-start: 2rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px dashed var(--atb-color-border);
  display: flex;
  gap: 1rem;
  font-size: 0.9rem;
}
.page-links a,
.cat-links a,
.tags-links a {
  color: var(--atb-color-muted);
  text-decoration: none;
}
.page-links a:hover,
.cat-links a:hover,
.tags-links a:hover {
  color: var(--atb-color-primary);
}
.post-navigation {
  max-inline-size: 65ch;
  margin-inline: auto;
  padding-inline: 1.5rem;
  margin-block: 2rem;
}
/* Not found */
.not-found {
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
  text-align: center;
  padding-block: 3rem;
}
.not-found__title {
  font-size: clamp(2rem, 4vw, 3rem);
}
.not-found__text {
  color: var(--atb-color-muted);
  font-size: 1.125rem;
  margin-block-end: 2rem;
}
.not-found .search-form {
  max-inline-size: 24rem;
  margin-inline: auto;
  margin-block-start: 2rem;
}
.not-found .input-group {
  display: flex;
  gap: 0.5rem;
}
.not-found .search-field.form-control {
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 0.5rem 0.75rem;
  background: var(--atb-color-surface);
  color: var(--atb-color-text);
}
.not-found .search-submit.btn {
  background: var(--atb-color-primary);
  border-color: var(--atb-color-primary);
  color: #FFF9F2;
}
/* Page fallback */
article.page {
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
  padding-block: 2rem;
}
.page-header__title {
  font-size: clamp(2rem, 3vw + 0.5rem, 2.75rem);
}
.page-header__media {
  margin-block-end: 2rem;
}
.page-header__media img {
  inline-size: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  max-block-size: min(70vh, 30rem);
}
/* Floating */
.site-floating {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 10;
  background: var(--atb-color-primary);
  color: #FFF9F2;
  padding: 0.75rem 1.25rem;
  border-radius: 2px;
  font-weight: 600;
  letter-spacing: 0.02em;
  box-shadow: var(--atb-shadow-lg);
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.site-floating:hover {
  background: var(--atb-color-accent);
  color: #FFF9F2;
  transform: translateY(-2px);
}
/* Consent banner */
.consent-banner {
  background: var(--atb-color-text);
  color: var(--atb-color-background);
  border-top: 1px dashed rgba(247, 241, 232, 0.25);
  padding-block: 1rem;
}
.consent-banner__inner {
  max-inline-size: var(--atb-width-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  justify-content: space-between;
}
.consent-banner__text {
  margin: 0;
  font-size: 0.95rem;
  max-inline-size: 50ch;
}
.consent-banner__link {
  color: var(--atb-color-secondary);
}
.consent-banner__link:hover {
  color: var(--atb-color-background);
}
.consent-banner__actions {
  display: flex;
  gap: var(--atb-actions-gap);
  flex-wrap: wrap;
}
/* Age gate */
.atb-agegate {
  background: rgba(44, 40, 37, 0.85);
}
.atb-agegate__panel {
  background: var(--atb-color-surface);
  border: 1px dashed var(--atb-color-border);
  border-radius: 2px;
  padding: 2.5rem;
  max-inline-size: 28rem;
  text-align: center;
  box-shadow: var(--atb-shadow-lg);
}
.atb-agegate__eyebrow {
  font-family: var(--atb-font-heading);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--atb-color-primary);
  margin: 0 0 1rem;
}
.atb-agegate__title {
  font-size: 1.75rem;
  margin-block: 0 0.75rem;
}
.atb-agegate__text {
  font-size: 0.95rem;
  line-height: 1.6;
  margin-block-end: 2rem;
}
.atb-agegate__actions {
  display: flex;
  gap: var(--atb-actions-gap);
  justify-content: center;
  flex-wrap: wrap;
}
/* Animations */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.s-hero > * {
  animation: fadeUp 0.6s ease-out both;
}
.s-hero > *:nth-child(1) { animation-delay: 0.05s; }
.s-hero > *:nth-child(2) { animation-delay: 0.1s; }
.s-hero > *:nth-child(3) { animation-delay: 0.15s; }
.s-hero > *:nth-child(4) { animation-delay: 0.2s; }
.s-hero > *:nth-child(5) { animation-delay: 0.25s; }
/* Responsive */
@media (max-width: 90rem) {
  .s-hero--split {
    column-gap: 2rem;
  }
}
@media (max-width: 64rem) {
  .s-hero--split {
    grid-template-columns: minmax(0, 1fr);
  }

  .s-hero--split .s-hero__media {
    grid-column: 1;
    grid-row: auto;
  }

  .s-hero--split .s-hero__eyebrow,
  .s-hero--split .s-hero__title,
  .s-hero--split .s-hero__lead,
  .s-hero--split .s-hero__actions {
    grid-column: 1;
  }

  .s-story {
    grid-template-columns: minmax(0, 1fr);
  }

  .s-story__body,
  .s-story__media,
  .s-story--aside .s-story__media,
  .s-story--aside .s-story__body {
    grid-column: 1;
    grid-row: auto;
  }

  .s-story--columns .s-story__body {
    column-count: 1;
  }

  .s-faq--split {
    grid-template-columns: minmax(0, 1fr);
  }

  .s-faq--split .s-faq__title {
    position: static;
    grid-column: 1;
  }

  .s-faq--split .s-faq__list {
    grid-column: 1;
  }

  .s-inset {
    grid-template-columns: minmax(0, 1fr);
  }

  .s-inset__media,
  .s-inset--left .s-inset__media,
  .s-inset--right .s-inset__media {
    grid-column: 1;
    grid-row: auto;
  }

  .s-inset__title,
  .s-inset__text,
  .s-inset__action,
  .s-inset--left .s-inset__title,
  .s-inset--left .s-inset__text,
  .s-inset--left .s-inset__action,
  .s-inset--right .s-inset__title,
  .s-inset--right .s-inset__text,
  .s-inset--right .s-inset__action {
    grid-column: 1;
  }

  .s-moment--offset {
    grid-template-columns: minmax(0, 1fr);
  }

  .s-moment--offset .s-moment__media,
  .s-moment--offset .s-moment__title,
  .s-moment--offset .s-moment__body,
  .s-moment--offset .s-moment__index {
    grid-column: 1;
  }

  .s-schedule__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
  }
}
@media (max-width: 48rem) {
  :root {
    --atb-width-max: 100%;
  }

  .s {
    padding-inline: 1rem;
    padding-block: 3rem;
  }

  .site-header__inner,
  .site-footer__inner,
  .atb-breadcrumbs,
  .archive-header,
  .post-list,
  .post-pagination,
  .entry,
  article.page {
    padding-inline: 1rem;
  }

  .s.s--alt,
  .s.s--spotlight {
    padding-inline: 1rem;
  }

  .s-hero__title {
    font-size: clamp(1.75rem, 5vw + 0.5rem, 2.5rem);
  }

  .s-hero__lead {
    font-size: 1rem;
  }

  .s-offering--rows .s-offering__item {
    grid-template-columns: minmax(0, 1fr);
  }

  .s-offering--rows .s-offering__image {
    grid-column: 1;
  }

  .s-offering--rows .s-offering__item-title,
  .s-offering--rows .s-offering__item-text {
    grid-column: 1;
  }

  .s-steps--horizontal .s-steps__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .s-steps--horizontal .s-steps__item::after {
    display: none;
  }

  .s-cards--list .s-cards__item {
    flex-direction: column;
    align-items: flex-start;
  }

  .s-cards--list .s-cards__image {
    inline-size: 100%;
    max-inline-size: 12rem;
  }

  .s-cards--list .s-cards__link {
    margin-inline-start: 0;
  }

  .s-contact--columns .s-contact__details {
    grid-template-columns: minmax(0, 1fr);
  }

  .consent-banner__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-topbar__inner,
  .site-prefooter__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
@media (max-width: 24.375rem) {
  .s {
    padding-inline: 0.75rem;
  }

  .s-hero__title {
    font-size: clamp(1.5rem, 7vw + 0.25rem, 2rem);
  }

  .btn {
    padding: 0.6rem 1.2rem;
    font-size: 0.9rem;
  }

  .s-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .s-hero__actions .btn {
    inline-size: 100%;
    justify-content: center;
  }

  .s-gallery--strip .s-gallery__item {
    flex-basis: 85vw;
  }

  .site-floating {
    bottom: 1rem;
    right: 1rem;
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
  }
}

/* ── Repair (ATB) ──────────────────────────────────────── */
.s-specs__item > * {
  grid-column: 2;
}
.s-specs__item > .s-specs__label {
  grid-column: 1;
}
.s-schedule__item > * {
  grid-column: 2;
}
.s-schedule__item > .s-schedule__when {
  grid-column: 1;
}
.s-schedule__item > .s-schedule__detail {
  grid-column: 3;
}
.s.s--alt .s-hero__eyebrow,
.s.s--alt .s-timeline__period,
.s.s--alt .s-team__role,
.s.s--alt .s-cards__link,
.s.s--alt .s-stats__value,
.s.s--alt .s-comparison__best,
.s.s--alt .s-locations__phone,
.s.s--alt .s-moment__index,
.s.s--alt .s-fragments__label,
.s.s--alt .s-thanks__eyebrow,
.s.s--alt .s-thanks__note-link {
  color: var(--atb-color-accent);
}
.s.s--spotlight .s-hero__eyebrow,
.s.s--spotlight .s-hero__caption,
.s.s--spotlight .s-highlight__attribution,
.s.s--spotlight .s-checklist__note,
.s.s--spotlight .s-timeline__period,
.s.s--spotlight .s-specs__label,
.s.s--spotlight .s-team__role,
.s.s--spotlight .s-clients__note,
.s.s--spotlight .s-cards__link,
.s.s--spotlight .s-documents__link,
.s.s--spotlight .s-documents__note,
.s.s--spotlight .s-stats__value {
  color: inherit;
}
.site-header .brand__mark,
.site-header .brand__name {
  color: var(--atb-color-text);
}
.site-footer .brand,
.site-footer .brand__tagline {
  color: inherit;
}
.atb-agegate__panel .atb-agegate__eyebrow {
  color: var(--atb-color-accent);
}
@media (max-width: 64rem) {
  .s-schedule__item > *,
  .s-schedule__item > .s-schedule__when,
  .s-schedule__item > .s-schedule__name,
  .s-schedule__item > .s-schedule__detail {
    grid-column: 1;
  }
}


/* ── Hero repair (ATB) ─────────────────────────────────── */
@media (min-width: 64.0625rem) {
	.s-hero--split > .s-hero__media { grid-row: 1 / span 4; }
}

/* ── Token floor (ATB) ─────────────────────────────────
   Declared by the pipeline, not the design: left undeclared these
   fall back to the starter theme's neutral grey and put it under
   the chrome, the bands and every section the sheet did not
   paint itself. Derived from the design's own tokens so they
   follow it, including a palette pinned after this point. */
:root {
	--atb-color-text-muted: color-mix(in srgb, var(--atb-color-text) 65%, var(--atb-color-background));
}


/* ── Safety net (ATB) ─────────────────────────────────── */
html { overflow-x: clip; }
body { overflow-x: clip; max-width: 100%; }
body[class] { max-inline-size: none; margin-inline: 0; padding-inline: 0; }
img, svg, video { max-width: 100%; height: auto; }
.site-main, .site-footer { overflow-wrap: anywhere; }
:where(.s) > * { min-inline-size: 0; }
.s-hero__title {
	font-size: clamp(2rem, 3.5vw + 0.5rem, 3rem);
	line-height: 1.1;
	max-inline-size: 22ch;
}
:where(.s-story__title, .s-offering__title, .s-steps__title, .s-checklist__title, .s-timeline__title, .s-specs__title, .s-team__title, .s-clients__title, .s-cards__title, .s-documents__title, .s-testimonials__title, .s-faq__title, .s-gallery__title, .s-pricing__title, .s-contact__title, .s-prose__title, .s-cta__title) {
	font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.5rem);
	line-height: 1.1;
	max-inline-size: 22ch;
}
.s-highlight__claim { font-size: clamp(1.75rem, 3vw + 0.5rem, 3rem); line-height: 1.1; }
.s-hero { min-block-size: auto; }
.s[data-position="first"]:not(.s-hero) { padding-block-start: clamp(2rem, 5vw, 4rem); }
:where(.s img) {
	max-block-size: min(78vh, 44rem);
	max-block-size: min(78svh, 44rem);
	object-fit: cover;
}
:where(.s-hero__image) {
	max-block-size: min(68vh, 34rem);
	max-block-size: min(68svh, 34rem);
}
.atb-section-grid :is(.s-specs__item, .s-contact__item),
.atb-no-bootstrap :is(.s-specs__item, .s-contact__item) {
	height: auto;
	block-size: auto;
}

/* Row items keep a readable title and text (ATB) */
.s-checklist__item, .s-cards--list .s-cards__item, .s-documents__item { flex-wrap: wrap; }
.s-checklist__item::before, .s-cards--list .s-cards__item::before, .s-documents__item::before, .s-checklist__item::after, .s-cards--list .s-cards__item::after, .s-documents__item::after { flex-shrink: 0; }
.s-checklist__item > [class*="__item-title"], .s-cards--list .s-cards__item > [class*="__item-title"], .s-documents__item > [class*="__item-title"] { min-inline-size: min(100%, 12rem); }
.s-checklist__item > [class*="__item-text"], .s-cards--list .s-cards__item > [class*="__item-text"], .s-documents__item > [class*="__item-text"] { min-inline-size: min(100%, 16rem); }

/* Ink corrected for the ground it lands on (ATB) */
.s--spotlight .s-stats__label { color: rgb(247 241 232 / 78%); }
.s--spotlight .s-testimonials__quote { color: inherit; }
.s--spotlight .s-testimonials__role { color: rgb(247 241 232 / 78%); }
.s--spotlight .s-pricing__note { color: rgb(247 241 232 / 78%); }
.s--spotlight .s-contact__label { color: rgb(247 241 232 / 78%); }
.s--spotlight .s-comparison__caveat { color: inherit; }
.s--spotlight .s-schedule__detail { color: inherit; }
.s--spotlight .s-locations__hours { color: inherit; }
.s--spotlight .s-lettering__word { color: inherit; }
.s--spotlight .s-panorama__caption { color: rgb(247 241 232 / 78%); }
.s--spotlight .s-duo__text { color: rgb(247 241 232 / 78%); }
.s--spotlight .s-fragments__note { color: rgb(247 241 232 / 78%); }
.s--spotlight .s-booking__label { color: rgb(247 241 232 / 78%); }
.s--spotlight .s-booking__input { color: inherit; }
.s--spotlight .s-booking__note { color: rgb(247 241 232 / 78%); }
.s--spotlight .s-thanks__note { color: rgb(247 241 232 / 78%); }
.site-header .site-header__cta[data-platform]::after { content: none; }
@media (min-width: 64.0625rem) {
	.s-hero--split .s-hero__title[data-length="long"] {
		font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.5rem);
	}
}
@media (max-width: 64rem) {
	.s-hero, .s-hero--split { grid-template-columns: minmax(0, 1fr); }
	.s-hero__media { grid-row: auto; grid-column: 1; }
}
@media (max-width: 767px) {
	.s img { max-height: 55vh; object-fit: cover; }
}
