

:root {
  --color-eggshell: #FDFBF7;
  --color-linen: #F2EFE9;
  --color-sage: #7A9A7E;
  --color-sage-hover: #6A8A6E;
  --color-sage-light: #E6EDE6;
  --color-slate: #2F3A3C;
  --color-slate-muted: #5C6B6E;
  --color-terracotta: #C17A5B;
  --color-terracotta-light: #F5E6DF;
  --color-white: #FFFFFF;

  --font-heading: 'Inter', system-ui, -apple-system, sans-serif;
  --font-body: 'Source Serif 4', Georgia, 'Times New Roman', serif;

  --text-display-size: clamp(2.5rem, 5vw, 3.5rem);
  --text-h1-size: clamp(2rem, 4vw, 2.5rem);
  --text-h2-size: clamp(1.75rem, 3vw, 2rem);
  --text-h3-size: 1.5rem;
  --text-h4-size: 1.25rem;
  --text-body-large-size: 1.125rem;
  --text-body-size: 1rem;
  --text-body-small-size: 0.875rem;
  --text-caption-size: 0.75rem;

  --text-display-leading: 1.1;
  --text-h1-leading: 1.15;
  --text-h2-leading: 1.2;
  --text-h3-leading: 1.25;
  --text-h4-leading: 1.3;
  --text-body-large-leading: 1.6;
  --text-body-leading: 1.6;
  --text-body-small-leading: 1.5;
  --text-caption-leading: 1.4;

  --text-display-tracking: -0.02em;
  --text-h1-tracking: -0.01em;
  --text-h2-tracking: -0.01em;
  --text-h3-tracking: 0;
  --text-h4-tracking: 0;
  --text-body-large-tracking: 0;
  --text-body-tracking: 0;
  --text-body-small-tracking: 0;
  --text-caption-tracking: 0.01em;

  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 8rem;

  --container-max: 1200px;
  --container-narrow-max: 800px;
  --container-padding-mobile: 24px;
  --container-padding-tablet: 48px;
  --container-padding-desktop: 64px;
  --section-padding-mobile: 64px;
  --section-padding-tablet: 96px;
  --section-padding-desktop: 128px;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-full: 9999px;

  --border-card: 1px solid var(--color-sage-light);
  --border-divider: 1px solid var(--color-linen);
  --shadow-modal: 0 4px 12px rgba(47, 58, 60, 0.08);
  --focus-ring: 2px solid var(--color-terracotta);
  --focus-offset: 2px;

  --transition-fast: 200ms ease-out;
  --transition-medium: 300ms ease-in-out;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate);
  background-color: var(--color-eggshell);
  min-height: 100vh;
  min-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-slate);
  line-height: var(--text-h1-leading);
}

h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  margin-block-end: var(--space-md);
}

h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: var(--space-md);
}

h3 {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  letter-spacing: var(--text-h3-tracking);
  margin-block-end: var(--space-sm);
}

h4 {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  letter-spacing: var(--text-h4-tracking);
  margin-block-end: var(--space-sm);
}

h5,
h6 {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  margin-block-end: var(--space-xs);
}

p {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  margin-block-end: var(--space-sm);
}

ul,
ol {
  margin-block-end: var(--space-sm);
  padding-inline-start: var(--space-md);
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

blockquote {
  margin-block-end: var(--space-sm);
  padding-inline-start: var(--space-md);
  border-inline-start: 3px solid var(--color-sage);
  color: var(--color-slate-muted);
  font-style: italic;
}

figure {
  margin-block-end: var(--space-sm);
}

figcaption {
  font-family: var(--font-heading);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: var(--text-caption-tracking);
  color: var(--color-slate-muted);
  margin-block-start: var(--space-2xs);
}

a {
  color: var(--color-sage);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-sage-hover);
  text-decoration: underline;
}

a:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
  border-radius: var(--radius-sm);
}

img,
picture,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
select,
textarea,
button {
  font: inherit;
  color: inherit;
  margin: 0;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

textarea {
  resize: vertical;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-block-end: var(--space-sm);
}

th,
td {
  text-align: start;
  padding: var(--space-xs);
  border-block-end: var(--border-divider);
}

th {
  font-family: var(--font-heading);
  font-weight: 600;
}

hr {
  border: none;
  border-block-start: var(--border-divider);
  margin-block: var(--space-md);
}

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
}

/* Center long-form home-page sections instead of letting them span the viewport. */
.container-narrow {
  width: 100%;
  max-width: var(--container-narrow-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
}

.section {
  padding-block: var(--section-padding-mobile);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 500;
  line-height: 1.2;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-md);
  min-height: 44px;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
  text-decoration: none;
  border: 1px solid transparent;
}

.btn:hover {
  text-decoration: none;
}

.btn:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.btn-primary {
  background-color: var(--color-sage);
  color: var(--color-white);
  border-color: var(--color-sage);
}

.btn-primary:hover {
  background-color: var(--color-sage-hover);
  border-color: var(--color-sage-hover);
  color: var(--color-white);
}

.btn-secondary {
  background-color: transparent;
  color: var(--color-sage);
  border-color: var(--color-sage);
}

.btn-secondary:hover {
  background-color: var(--color-sage-light);
  color: var(--color-sage);
  border-color: var(--color-sage);
}

.btn-tertiary {
  background-color: transparent;
  color: var(--color-sage);
  border-color: transparent;
  padding-inline: var(--space-xs);
}

.btn-tertiary:hover {
  background-color: var(--color-sage-light);
  color: var(--color-sage);
  border-color: transparent;
}

.card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
}

.card > :last-child {
  margin-block-end: 0;
}

.tag {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-sage-light);
  color: var(--color-sage);
  border-radius: var(--radius-sm);
  padding: var(--space-3xs) var(--space-2xs);
  font-family: var(--font-heading);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: var(--text-caption-tracking);
  font-weight: 500;
}

.form-input {
  width: 100%;
  background-color: var(--color-white);
  border: 1px solid var(--color-linen);
  border-radius: var(--radius-sm);
  padding: var(--space-xs) var(--space-sm);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate);
  transition: border-color var(--transition-fast);
  min-height: 44px;
}

.form-input::placeholder {
  color: var(--color-slate-muted);
}

.form-input:focus {
  border-color: var(--color-terracotta);
  outline: none;
}

.form-input:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.form-label {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
  font-weight: 500;
  color: var(--color-slate);
  margin-block-end: var(--space-2xs);
}

.form-group {
  margin-block-end: var(--space-sm);
}

.form-group > :last-child {
  margin-block-end: 0;
}

.form-error {
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
  margin-block-start: var(--space-2xs);
}

.form-success {
  background-color: var(--color-sage-light);
  color: var(--color-sage);
  border-radius: var(--radius-sm);
  padding: var(--space-xs) var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
  margin-block-end: var(--space-sm);
}

.accordion {
  border-block-end: var(--border-divider);
}

.accordion > :last-child {
  margin-block-end: 0;
}

.accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  padding-block: var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 600;
  color: var(--color-slate);
  text-align: start;
  min-height: 44px;
}

.accordion-header:hover {
  color: var(--color-sage);
}

.accordion-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  transition: transform var(--transition-medium);
}

.accordion-icon.is-open {
  transform: rotate(180deg);
}

.accordion-content {
  padding-block-end: var(--space-sm);
  color: var(--color-slate-muted);
}

.accordion-content > :last-child {
  margin-block-end: 0;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(47, 58, 60, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-fast), visibility var(--transition-fast);
}

.modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.modal {
  background-color: var(--color-white);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--shadow-modal);
  position: relative;
}

.modal > :last-child {
  margin-block-end: 0;
}

.modal-close {
  position: absolute;
  top: var(--space-sm);
  right: var(--space-sm);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  color: var(--color-slate-muted);
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.modal-close:hover {
  background-color: var(--color-sage-light);
  color: var(--color-slate);
}

.modal-close:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(320px, 85vw);
  background-color: var(--color-white);
  border-inline-start: var(--border-card);
  padding: var(--space-lg);
  z-index: 1001;
  transform: translateX(100%);
  transition: transform var(--transition-medium);
  overflow-y: auto;
}

.mobile-menu.is-open {
  transform: translateX(0);
}

.mobile-menu > :last-child {
  margin-block-end: 0;
}

@media (min-width: 768px) {
  .container {
    padding-inline: var(--container-padding-tablet);
  }

  .container-narrow {
    padding-inline: var(--container-padding-tablet);
  }

  .section {
    padding-block: var(--section-padding-tablet);
  }
}

@media (min-width: 1024px) {
  .container {
    padding-inline: var(--container-padding-desktop);
  }

  .container-narrow {
    padding-inline: var(--container-padding-desktop);
  }

  .section {
    padding-block: var(--section-padding-desktop);
  }
}


.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 900;
  background-color: var(--color-eggshell);
  border-bottom: var(--border-divider);
  height: 80px;
  display: flex;
  align-items: center;
}

.site-header__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
}

.site-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  text-decoration: none;
  color: var(--color-slate);
  flex-shrink: 0;
}

.site-header__brand:hover {
  text-decoration: none;
  color: var(--color-slate);
}

.site-header__logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}

.site-header__wordmark {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-slate);
}

.site-header__toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: var(--radius-sm);
  transition: background-color var(--transition-fast);
  flex-shrink: 0;
}

.site-header__toggle:hover {
  background-color: var(--color-sage-light);
}

.site-header__toggle:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.site-header__toggle-line {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-slate);
  border-radius: 1px;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(2) {
  opacity: 0;
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.site-header__nav {
  display: none;
  position: fixed;
  top: 80px;
  right: 0;
  bottom: 0;
  width: min(320px, 85vw);
  background-color: var(--color-white);
  border-left: var(--border-card);
  padding: var(--space-lg);
  overflow-y: auto;
  z-index: 950;
  transform: translateX(100%);
  transition: transform var(--transition-medium);
}

.site-header__nav.is-open {
  display: block;
  transform: translateX(0);
}

.site-header__nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.site-header__nav-item {
  margin: 0;
  padding: 0;
}

.site-header__nav-link {
  display: block;
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-slate);
  text-decoration: none;
  padding: var(--space-xs) 0;
  transition: color var(--transition-fast);
}

.site-header__nav-link:hover {
  color: var(--color-sage);
  text-decoration: none;
}

.site-header__nav-link:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
  border-radius: var(--radius-sm);
}

@media (min-width: 1024px) {
  .site-header__inner {
    padding-inline: var(--container-padding-desktop);
  }

  .site-header__logo {
    width: 40px;
    height: 40px;
  }

  .site-header__wordmark {
    font-size: 1.25rem;
  }

  .site-header__toggle {
    display: none;
  }

  .site-header__nav {
    display: block;
    position: static;
    width: auto;
    background: transparent;
    border: none;
    padding: 0;
    overflow: visible;
    transform: none;
    transition: none;
  }

  .site-header__nav-list {
    flex-direction: row;
    align-items: center;
    gap: var(--space-md);
  }

  .site-header__nav-link {
    font-size: var(--text-body-size);
    font-weight: 500;
    padding: var(--space-2xs) 0;
    position: relative;
  }

  .site-header__nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background-color: var(--color-sage);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--transition-fast);
  }

  .site-header__nav-link:hover::after,
  .site-header__nav-link:focus-visible::after {
    transform: scaleX(1);
  }
}

@media (max-width: 1023px) {
  .site-header__nav.is-open {
    transform: translateX(0);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .site-header__inner {
    padding-inline: var(--container-padding-tablet);
  }
}


.site-footer {
  background-color: var(--color-linen);
  border-top: var(--border-divider);
  padding-block: var(--space-xl);
  margin-top: var(--space-2xl);
}

.site-footer__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.site-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  text-decoration: none;
  color: var(--color-slate);
}

.site-footer__brand-link:hover {
  text-decoration: none;
  color: var(--color-slate);
}

.site-footer__logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}

.site-footer__wordmark {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-slate);
}

.site-footer__tagline {
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
  color: var(--color-slate-muted);
  max-width: 40ch;
}

.site-footer__nav-title {
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 600;
  line-height: var(--text-body-leading);
  color: var(--color-slate);
  margin-bottom: var(--space-sm);
}

.site-footer__nav-list,
.site-footer__legal-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

.site-footer__nav-list a,
.site-footer__legal-button {
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate-muted);
  text-decoration: none;
  transition: color var(--transition-fast);
  background: none;
  border: none;
  padding: 0;
  text-align: left;
  cursor: pointer;
}

.site-footer__nav-list a:hover,
.site-footer__legal-button:hover {
  color: var(--color-sage);
  text-decoration: underline;
}

.site-footer__nav-list a:focus-visible,
.site-footer__legal-button:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
  border-radius: var(--radius-sm);
}

.site-footer__address {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

.site-footer__address p {
  margin: 0;
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate-muted);
}

.site-footer__address a {
  color: var(--color-sage);
  text-decoration: none;
}

.site-footer__address a:hover {
  color: var(--color-sage-hover);
  text-decoration: underline;
}

.site-footer__bottom {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  margin-top: var(--space-lg);
  border-top: var(--border-divider);
  padding-top: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.site-footer__disclaimer {
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
  color: var(--color-slate-muted);
  max-width: 70ch;
}

.site-footer__copyright {
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
  color: var(--color-slate-muted);
}

.site-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: var(--color-white);
  border-top: var(--border-card);
  padding: var(--space-md);
  box-shadow: var(--shadow-modal);
}

.site-consent[hidden] {
  display: none !important;
}

.site-consent__content {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  align-items: flex-start;
}

.site-consent__text {
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
  color: var(--color-slate);
  margin: 0;
}

.site-consent__actions {
  display: flex;
  gap: var(--space-xs);
  flex-wrap: wrap;
}

.site-consent__accept,
.site-consent__reject {
  font-family: var(--font-heading);
  font-size: var(--text-body-small-size);
  font-weight: 500;
  line-height: 1.2;
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--radius-md);
  min-height: 44px;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.site-consent__accept {
  background-color: var(--color-sage);
  color: var(--color-white);
  border: 1px solid var(--color-sage);
}

.site-consent__accept:hover {
  background-color: var(--color-sage-hover);
  border-color: var(--color-sage-hover);
}

.site-consent__reject {
  background-color: transparent;
  color: var(--color-sage);
  border: 1px solid var(--color-sage);
}

.site-consent__reject:hover {
  background-color: var(--color-sage-light);
}

.site-consent__accept:focus-visible,
.site-consent__reject:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.age-modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background-color: rgba(47, 58, 60, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md);
}

.age-modal[hidden] {
  display: none !important;
}

.age-modal__content {
  background-color: var(--color-white);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--shadow-modal);
  text-align: center;
}

.age-modal__title {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  font-weight: 600;
  line-height: var(--text-h3-leading);
  color: var(--color-slate);
  margin-bottom: var(--space-sm);
}

.age-modal__description {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate-muted);
  margin-bottom: var(--space-md);
}

.age-modal__actions {
  display: flex;
  gap: var(--space-sm);
  justify-content: center;
  flex-wrap: wrap;
}

.age-modal__confirm,
.age-modal__decline {
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 500;
  line-height: 1.2;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-md);
  min-height: 44px;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.age-modal__confirm {
  background-color: var(--color-sage);
  color: var(--color-white);
  border: 1px solid var(--color-sage);
}

.age-modal__confirm:hover {
  background-color: var(--color-sage-hover);
  border-color: var(--color-sage-hover);
}

.age-modal__decline {
  background-color: transparent;
  color: var(--color-sage);
  border: 1px solid var(--color-sage);
}

.age-modal__decline:hover {
  background-color: var(--color-sage-light);
}

.age-modal__confirm:focus-visible,
.age-modal__decline:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.legal-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background-color: rgba(47, 58, 60, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md);
}

.legal-modal[hidden] {
  display: none !important;
}

.legal-modal__content {
  background-color: var(--color-white);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--shadow-modal);
  position: relative;
}

.legal-modal__close {
  position: absolute;
  top: var(--space-sm);
  right: var(--space-sm);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  color: var(--color-slate-muted);
  font-size: 1.5rem;
  line-height: 1;
  background: none;
  border: none;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.legal-modal__close:hover {
  background-color: var(--color-sage-light);
  color: var(--color-slate);
}

.legal-modal__close:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.legal-modal__title {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  font-weight: 600;
  line-height: var(--text-h3-leading);
  color: var(--color-slate);
  margin-bottom: var(--space-sm);
  padding-right: var(--space-xl);
}

.legal-modal__body {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate-muted);
}

.legal-modal__body p {
  margin-bottom: var(--space-sm);
}

@media (min-width: 768px) {
  .site-footer__inner {
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--space-xl);
    padding-inline: var(--container-padding-tablet);
  }

  .site-footer__bottom {
    padding-inline: var(--container-padding-tablet);
  }

  .site-consent__content {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

@media (min-width: 1024px) {
  .site-footer__inner {
    padding-inline: var(--container-padding-desktop);
  }

  .site-footer__bottom {
    padding-inline: var(--container-padding-desktop);
  }
}


.policy-page {
  background-color: var(--color-eggshell);
}

.policy-container {
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  padding-block: var(--section-padding-mobile);
}

.policy-jump-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-block-end: var(--space-xl);
  padding-block-end: var(--space-md);
  border-block-end: var(--border-divider);
}

.policy-jump-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: var(--space-2xs) var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--text-body-small-size);
  font-weight: 500;
  color: var(--color-sage);
  border-radius: var(--radius-sm);
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.policy-jump-nav a:hover {
  background-color: var(--color-sage-light);
  color: var(--color-sage-hover);
  text-decoration: none;
}

.policy-section {
  margin-block-end: var(--space-2xl);
}

.policy-section:last-child {
  margin-block-end: 0;
}

.policy-section h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: var(--space-md);
  position: relative;
  padding-block-start: var(--space-md);
}

.policy-section h2::before {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-end: var(--space-sm);
}

.policy-section h3 {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  letter-spacing: var(--text-h3-tracking);
  margin-block-end: var(--space-sm);
}

.policy-section p {
  margin-block-end: var(--space-sm);
}

.policy-section ul {
  max-width: 70ch;
  margin-block-end: var(--space-sm);
  padding-inline-start: var(--space-md);
}

.policy-section li {
  margin-block-end: var(--space-2xs);
}

.policy-lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-slate);
  max-width: 70ch;
  margin-block-end: var(--space-md);
}

.policy-card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  max-width: 70ch;
}

.policy-card > :last-child {
  margin-block-end: 0;
}

.policy-cookie-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 70ch;
}

.policy-cookie-item {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
}

.policy-cookie-item h3 {
  margin-block-end: var(--space-xs);
}

.policy-cookie-item p {
  margin-block-end: 0;
}

.policy-contact-card {
  max-width: 70ch;
}

.policy-contact-card ul {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.policy-contact-card li {
  margin-block-end: var(--space-xs);
}

.policy-contact-card li:last-child {
  margin-block-end: 0;
}

.policy-section-date strong {
  color: var(--color-slate);
  font-weight: 600;
}

@media (min-width: 768px) {
  .policy-container {
    padding-inline: var(--container-padding-tablet);
    padding-block: var(--section-padding-tablet);
  }

  .policy-jump-nav {
    gap: var(--space-sm);
  }
}

@media (min-width: 1024px) {
  .policy-container {
    padding-inline: var(--container-padding-desktop);
    padding-block: var(--section-padding-desktop);
  }
}

@media (max-width: 480px) {
  .policy-container {
    padding-inline: var(--container-padding-mobile);
  }

  .policy-section h2 {
    font-size: clamp(1.5rem, 6vw, 2rem);
  }

  .policy-jump-nav {
    flex-direction: column;
    align-items: stretch;
  }

  .policy-jump-nav a {
    justify-content: flex-start;
    width: 100%;
  }
}


/* Galeria page styles */

.galeria-intro {
  background-color: var(--color-eggshell);
  padding-block: var(--section-padding-mobile);
}

.galeria-intro__container {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.galeria-intro__titulo {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  color: var(--color-slate);
  margin-block-end: var(--space-md);
  position: relative;
  padding-block-end: var(--space-sm);
}

.galeria-intro__titulo::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-start: var(--space-sm);
}

.galeria-intro__texto {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-slate);
  max-width: 70ch;
  margin-block-end: 0;
}

.galeria-grade {
  background-color: var(--color-eggshell);
  padding-block: var(--section-padding-mobile);
}

.galeria-grade__titulo {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-slate);
  margin-block-end: var(--space-lg);
}

.galeria-grade__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}

.galeria-card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  min-width: 0;
}

.galeria-card__figura {
  margin: 0;
}

.galeria-card__imagem {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-sm);
  display: block;
}

.galeria-card__legenda {
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
  color: var(--color-slate-muted);
  margin-block-start: var(--space-2xs);
  max-width: 30ch;
  text-align: left;
}

.galeria-destaque {
  background-color: var(--color-eggshell);
  padding-block: var(--section-padding-mobile);
}

.galeria-destaque__titulo {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-slate);
  margin-block-end: var(--space-md);
}

.galeria-destaque__figura {
  margin: 0 0 var(--space-md);
}

.galeria-destaque__imagem {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-lg);
  display: block;
}

.galeria-destaque__texto {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate);
  max-width: 70ch;
  margin-block-end: 0;
}

.galeria-convite {
  background-color: var(--color-linen);
  padding-block: var(--section-padding-mobile);
}

.galeria-convite__container {
  display: flex;
  justify-content: center;
}

.galeria-convite__card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  max-width: 600px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.galeria-convite__titulo {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-slate);
  margin-block-end: 0;
}

.galeria-convite__texto {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-slate);
  max-width: 60ch;
  margin-block-end: 0;
}

.galeria-convite__botao {
  align-self: center;
}

@media (min-width: 768px) {
  .galeria-intro {
    padding-block: var(--section-padding-tablet);
  }

  .galeria-grade {
    padding-block: var(--section-padding-tablet);
  }

  .galeria-grade__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
  }

  .galeria-destaque {
    padding-block: var(--section-padding-tablet);
  }

  .galeria-convite {
    padding-block: var(--section-padding-tablet);
  }
}

@media (min-width: 1024px) {
  .galeria-intro {
    padding-block: var(--section-padding-desktop);
  }

  .galeria-grade {
    padding-block: var(--section-padding-desktop);
  }

  .galeria-grade__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-lg);
  }

  .galeria-destaque {
    padding-block: var(--section-padding-desktop);
  }

  .galeria-convite {
    padding-block: var(--section-padding-desktop);
  }
}


/* Page-owned styles for Política de Privacidade */

.privacy-page {
    background-color: var(--color-eggshell);
}

.privacy-container {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-padding-mobile);
}

.privacy-container-narrow {
    max-width: var(--container-narrow-max);
}

.privacy-section {
    padding-block: var(--section-padding-mobile);
}

.privacy-section-linen {
    background-color: var(--color-linen);
    border-top: 2px solid var(--color-terracotta);
}

.privacy-h1 {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-leading);
    letter-spacing: var(--text-h1-tracking);
    margin-block-end: var(--space-sm);
}

.privacy-h2 {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-leading);
    letter-spacing: var(--text-h2-tracking);
    margin-block-end: var(--space-md);
}

.privacy-h3 {
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-leading);
    letter-spacing: var(--text-h3-tracking);
    margin-block-end: var(--space-sm);
}

.privacy-terracotta-rule {
    width: 24px;
    height: 2px;
    background-color: var(--color-terracotta);
    margin-block-end: var(--space-md);
}

.privacy-lead {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-leading);
    margin-block-end: var(--space-md);
    max-width: 70ch;
}

.privacy-body {
    font-size: var(--text-body-size);
    line-height: var(--text-body-leading);
    margin-block-end: var(--space-sm);
    max-width: 70ch;
}

.privacy-footnote {
    font-size: var(--text-body-small-size);
    line-height: var(--text-body-small-leading);
    color: var(--color-slate-muted);
    margin-block-start: var(--space-sm);
    max-width: 70ch;
}

.privacy-list {
    list-style: disc;
    padding-inline-start: var(--space-md);
    margin-block-end: var(--space-sm);
    max-width: 70ch;
}

.privacy-ordered-list {
    list-style: decimal;
    padding-inline-start: var(--space-md);
    margin-block-end: var(--space-sm);
    max-width: 70ch;
}

.privacy-grid-two {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-md);
}

.privacy-card {
    background-color: var(--color-white);
    border: var(--border-card);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    min-width: 0;
}

.privacy-card > :last-child {
    margin-block-end: 0;
}

.privacy-cookie-card {
    background-color: var(--color-sage-light);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    margin-block-start: var(--space-md);
    max-width: 70ch;
}

.privacy-cookie-card > :last-child {
    margin-block-end: 0;
}

.privacy-security-block {
    margin-block-end: var(--space-lg);
}

.privacy-security-block:last-child {
    margin-block-end: 0;
}

.privacy-contact-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    background-color: var(--color-white);
    border: var(--border-card);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    max-width: 600px;
    min-width: 0;
}

.privacy-contact-card > :last-child {
    margin-block-end: 0;
}

.privacy-contact-icon {
    color: var(--color-sage);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-full);
    background-color: var(--color-sage-light);
}

.privacy-link {
    color: var(--color-sage);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.privacy-link:hover {
    color: var(--color-sage-hover);
    text-decoration: underline;
}

.privacy-link:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
    border-radius: var(--radius-sm);
}

@media (min-width: 768px) {
    .privacy-container {
        padding-inline: var(--container-padding-tablet);
    }

    .privacy-section {
        padding-block: var(--section-padding-tablet);
    }

    .privacy-grid-two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-lg);
    }

    .privacy-contact-card {
        flex-direction: row;
        align-items: flex-start;
        gap: var(--space-md);
    }
}

@media (min-width: 1024px) {
    .privacy-container {
        padding-inline: var(--container-padding-desktop);
    }

    .privacy-section {
        padding-block: var(--section-padding-desktop);
    }
}

@media (max-width: 389px) {
    .privacy-container,
    .privacy-container-narrow {
        padding-inline: var(--space-sm);
    }

    .privacy-h1 {
        font-size: clamp(1.75rem, 8vw, 2rem);
    }

    .privacy-h2 {
        font-size: clamp(1.5rem, 7vw, 1.75rem);
    }
}


.termos-page {
  background-color: var(--color-eggshell);
}

.termos-container {
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  padding-block: var(--section-padding-mobile);
}

.termos-section {
  margin-block-end: var(--space-2xl);
}

.termos-section:last-child {
  margin-block-end: 0;
}

.termos-intro h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  margin-block-end: var(--space-md);
}

.termos-intro-copy,
.termos-copy,
.termos-definicoes {
  max-width: 70ch;
}

.termos-lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-block-end: var(--space-md);
}

.termos-aviso-card {
  background-color: var(--color-terracotta-light);
  border: 1px solid var(--color-terracotta);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  margin-block-start: var(--space-md);
  margin-block-end: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.termos-aviso-data {
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 600;
  color: var(--color-terracotta);
  margin: 0;
}

.termos-aviso-texto {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate);
  margin: 0;
}

.termos-definicoes h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: var(--space-sm);
}

.termos-definicoes-intro {
  margin-block-end: var(--space-sm);
}

.termos-lista-definicoes {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  max-width: 60ch;
}

.termos-lista-definicoes li {
  padding-inline-start: var(--space-md);
  position: relative;
}

.termos-lista-definicoes li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-sage);
  font-weight: 600;
}

.termos-section h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: var(--space-md);
  position: relative;
  padding-block-start: var(--space-sm);
}

.termos-section h2::before {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-end: var(--space-xs);
}

.termos-section h3 {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  letter-spacing: var(--text-h3-tracking);
  margin-block-end: var(--space-sm);
}

.termos-section p {
  margin-block-end: var(--space-sm);
}

.termos-section p:last-child {
  margin-block-end: 0;
}

.termos-card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.termos-card > :last-child {
  margin-block-end: 0;
}

.termos-lista-regras,
.termos-lista-contato {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  max-width: 65ch;
}

.termos-lista-regras li {
  padding-inline-start: var(--space-md);
  position: relative;
}

.termos-lista-regras li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-sage);
  font-weight: 600;
}

.termos-lista-contato li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-xs);
  padding-block: var(--space-2xs);
}

.termos-contato-icone {
  flex-shrink: 0;
  width: 24px;
  text-align: center;
  color: var(--color-sage);
  font-family: var(--font-heading);
  font-weight: 600;
}

.termos-natureza,
.termos-reservas,
.termos-gerais {
  background-color: var(--color-linen);
  border-radius: var(--radius-md);
  padding: var(--space-md);
}

.termos-natureza .termos-copy,
.termos-reservas .termos-copy,
.termos-gerais .termos-copy {
  max-width: 70ch;
}

.termos-propriedade,
.termos-limitacao,
.termos-privacidade {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
}

@media (min-width: 768px) {
  .termos-container {
    padding-inline: var(--container-padding-tablet);
    padding-block: var(--section-padding-tablet);
  }

  .termos-section {
    margin-block-end: var(--space-3xl);
  }

  .termos-aviso-card {
    padding: var(--space-lg);
  }

  .termos-card {
    padding: var(--space-lg);
  }

  .termos-natureza,
  .termos-reservas,
  .termos-gerais,
  .termos-propriedade,
  .termos-limitacao,
  .termos-privacidade {
    padding: var(--space-lg);
  }
}

@media (min-width: 1024px) {
  .termos-container {
    padding-inline: var(--container-padding-desktop);
    padding-block: var(--section-padding-desktop);
  }
}

@media (max-width: 767px) {
  .termos-container {
    padding-block: var(--space-2xl);
  }

  .termos-section {
    margin-block-end: var(--space-2xl);
  }

  .termos-aviso-card,
  .termos-card,
  .termos-natureza,
  .termos-reservas,
  .termos-gerais,
  .termos-propriedade,
  .termos-limitacao,
  .termos-privacidade {
    padding: var(--space-sm);
  }

  .termos-section h2 {
    font-size: clamp(1.5rem, 4vw, 1.75rem);
  }

  .termos-section h3 {
    font-size: 1.25rem;
  }
}


/* Contato page styles */

.contato-page {
  width: 100%;
}

/* Hero */
.contato-hero {
  background-color: var(--color-eggshell);
}

.contato-hero__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.contato-hero__content {
  width: 100%;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
}

.contato-hero__titulo {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  margin-block-end: 0;
}

.contato-hero__regra {
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  flex-shrink: 0;
}

.contato-hero__texto {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 70ch;
  margin-block-end: 0;
}

/* Canais */
.contato-canais {
  background-color: var(--color-eggshell);
}

.contato-canais__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.contato-canais__titulo {
  margin-block-end: 0;
}

.contato-canais__grade {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

.contato-card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
  min-width: 0;
}

.contato-card__icone {
  color: var(--color-sage);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.contato-card__conteudo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xs);
  width: 100%;
  min-width: 0;
}

.contato-card__titulo {
  margin-block-end: 0;
}

.contato-card__texto {
  margin-block-end: 0;
}

.contato-card__link {
  color: var(--color-sage);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  text-decoration: none;
  transition: color var(--transition-fast);
  overflow-wrap: anywhere;
}

.contato-card__link:hover {
  color: var(--color-sage-hover);
  text-decoration: underline;
}

.contato-card__detalhe {
  color: var(--color-slate-muted);
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
  margin-block-end: 0;
}

/* Endereço */
.contato-endereco {
  background-color: var(--color-linen);
}

.contato-endereco__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.contato-endereco__bloco {
  width: 100%;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
  padding-inline-start: var(--space-md);
  border-inline-start: 2px solid var(--color-sage);
}

.contato-endereco__titulo {
  margin-block-end: 0;
}

.contato-endereco__conteudo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
}

.contato-endereco__destaque {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  font-weight: 600;
  color: var(--color-slate);
  margin-block-end: 0;
  max-width: 70ch;
}

.contato-endereco__texto {
  max-width: 70ch;
  margin-block-end: 0;
}

/* Horários */
.contato-horarios {
  background-color: var(--color-eggshell);
}

.contato-horarios__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.contato-horarios__titulo {
  margin-block-end: 0;
}

.contato-horarios__bloco {
  width: 100%;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
}

.contato-horarios__introducao {
  max-width: 70ch;
  margin-block-end: 0;
}

.contato-horarios__lista {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  width: 100%;
}

.contato-horarios__item {
  position: relative;
  padding-inline-start: var(--space-md);
  max-width: 70ch;
}

.contato-horarios__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  background-color: var(--color-terracotta);
}

/* Experiência */
.contato-experiencia {
  background-color: var(--color-linen);
}

.contato-experiencia__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.contato-experiencia__bloco {
  width: 100%;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
}

.contato-experiencia__regra {
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  flex-shrink: 0;
}

.contato-experiencia__titulo {
  margin-block-end: 0;
}

.contato-experiencia__texto {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 70ch;
  margin-block-end: 0;
}

.contato-experiencia__lista {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  width: 100%;
}

.contato-experiencia__item {
  position: relative;
  padding-inline-start: var(--space-md);
  max-width: 70ch;
}

.contato-experiencia__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  background-color: var(--color-sage);
}

/* FAQ */
.contato-faq {
  background-color: var(--color-eggshell);
}

.contato-faq__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.contato-faq__titulo {
  margin-block-end: 0;
}

.contato-faq__accordion {
  width: 100%;
  max-width: 800px;
  display: flex;
  flex-direction: column;
}

.contato-faq__item {
  border-block-end: var(--border-divider);
}

.contato-faq__botao {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  padding-block: var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 600;
  color: var(--color-slate);
  text-align: start;
  min-height: 44px;
}

.contato-faq__botao:hover {
  color: var(--color-sage);
}

.contato-faq__pergunta {
  flex: 1;
  min-width: 0;
}

.contato-faq__icone {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  transition: transform var(--transition-medium);
}

.contato-faq__icone.is-open {
  transform: rotate(180deg);
}

.contato-faq__resposta {
  padding-block-end: var(--space-sm);
  color: var(--color-slate-muted);
}

.contato-faq__resposta p {
  margin-block-end: 0;
}

/* CTA */
.contato-cta {
  background-color: var(--color-sage-light);
}

.contato-cta__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.contato-cta__bloco {
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-md);
  margin-inline: auto;
}

.contato-cta__titulo {
  margin-block-end: 0;
}

.contato-cta__texto {
  margin-block-end: 0;
  max-width: 70ch;
}

.contato-cta__link {
  color: var(--color-sage);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.contato-cta__link:hover {
  color: var(--color-sage-hover);
  text-decoration: underline;
}

.contato-cta__botao {
  flex-shrink: 0;
}

/* Responsive */
@media (max-width: 767px) {
  .contato-hero__titulo {
    font-size: var(--text-h1-size);
  }

  .contato-canais__grade {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .contato-endereco__bloco {
    padding-inline-start: var(--space-sm);
  }

  .contato-cta__bloco {
    gap: var(--space-sm);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .contato-canais__grade {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .contato-canais__grade {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Page-owned styles for o-que-e-poker-em-restaurante */

/* Hero conceitual */
.hero-conceitual {
  background-color: var(--color-eggshell);
  padding-block: var(--space-2xl) var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-conceitual__container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  min-height: 400px;
  align-items: center;
}

.hero-conceitual__texto {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
  min-width: 0;
}

.hero-conceitual__texto h1 {
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  line-height: var(--text-display-leading);
  letter-spacing: var(--text-display-tracking);
  margin-block-end: 0;
}

.hero-conceitual__subtitulo {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 70ch;
  margin-block-end: 0;
}

.hero-conceitual__ilustracao {
  display: none;
}

/* Definição e contexto */
.definicao-contexto {
  background-color: var(--color-linen);
  padding-block: var(--section-padding-mobile);
}

.definicao-contexto__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.definicao-contexto__container h2 {
  margin-block-end: 0;
}

.definicao-contexto__introducao {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 70ch;
  margin-block-end: 0;
}

.definicao-contexto__lista {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}

.definicao-contexto__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  min-width: 0;
}

.definicao-contexto__icone {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-color: var(--color-sage);
  border-radius: 50%;
  position: relative;
}

.definicao-contexto__icone::before {
  content: "";
  position: absolute;
  inset: 6px;
  background-color: var(--color-eggshell);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border-radius: 2px;
}

.definicao-contexto__item h3 {
  margin-block-end: var(--space-2xs);
}

.definicao-contexto__item p {
  margin-block-end: 0;
}

/* Filosofia da experiência */
.filosofia-experiencia {
  background-color: var(--color-eggshell);
  padding-block: var(--section-padding-mobile);
}

.filosofia-experiencia__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  align-items: start;
}

.filosofia-experiencia__texto {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  min-width: 0;
}

.filosofia-experiencia__texto h2 {
  margin-block-end: 0;
}

.filosofia-experiencia__bloco {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

.filosofia-experiencia__bloco h3 {
  margin-block-end: 0;
}

.filosofia-experiencia__bloco p {
  margin-block-end: 0;
}

.filosofia-experiencia__imagem {
  margin-block-end: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.filosofia-experiencia__imagem img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* Elementos centrais */
.elementos-centrais {
  background-color: var(--color-linen);
  padding-block: var(--section-padding-mobile);
}

.elementos-centrais__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.elementos-centrais__container h2 {
  margin-block-end: 0;
}

.elementos-centrais__grade {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}

.elementos-centrais__card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
  transition: border-color var(--transition-fast);
}

.elementos-centrais__card:hover {
  border-color: var(--color-sage);
}

.elementos-centrais__card h3 {
  margin-block-end: 0;
}

.elementos-centrais__card p {
  margin-block-end: 0;
}

.elementos-centrais__icone {
  width: 32px;
  height: 32px;
  background-color: var(--color-sage-light);
  border-radius: var(--radius-sm);
  position: relative;
}

.elementos-centrais__icone--jogo::before {
  content: "";
  position: absolute;
  inset: 8px;
  background-color: var(--color-sage);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border-radius: 2px;
}

.elementos-centrais__icone--gastronomia::before {
  content: "";
  position: absolute;
  inset: 8px;
  background-color: var(--color-sage);
  border-radius: 50% 0 50% 50%;
}

.elementos-centrais__icone--bebidas::before {
  content: "";
  position: absolute;
  inset: 8px 6px;
  background-color: var(--color-sage);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
}

.elementos-centrais__icone--comunidade::before {
  content: "";
  position: absolute;
  inset: 8px;
  background-color: var(--color-sage);
  border-radius: 50%;
}

/* Ambiente e atmosfera */
.ambiente-atmosfera {
  background-color: var(--color-eggshell);
  padding-block: var(--section-padding-mobile);
}

.ambiente-atmosfera__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.ambiente-atmosfera__texto {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.ambiente-atmosfera__texto h2 {
  margin-block-end: 0;
}

.ambiente-atmosfera__texto p {
  margin-block-end: 0;
}

.ambiente-atmosfera__texto ul {
  margin-block-end: 0;
  padding-inline-start: var(--space-md);
}

.ambiente-atmosfera__imagem {
  margin-block-end: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.ambiente-atmosfera__imagem img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

/* Perguntas frequentes */
.perguntas-frequentes {
  background-color: var(--color-eggshell);
  padding-block: var(--section-padding-mobile);
}

.perguntas-frequentes__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.perguntas-frequentes__container h2 {
  margin-block-end: 0;
}

.perguntas-frequentes__lista {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.perguntas-frequentes__item {
  border-block-end: var(--border-divider);
}

.perguntas-frequentes__item .accordion-header {
  width: 100%;
}

.perguntas-frequentes__item .accordion-content {
  padding-block-end: var(--space-sm);
}

/* Chamada para ação */
.chamada-acao {
  background-color: var(--color-sage-light);
  padding-block: var(--section-padding-mobile);
}

.chamada-acao__container {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-md);
}

.chamada-acao__container h2 {
  margin-block-end: 0;
}

.chamada-acao__container p {
  margin-block-end: 0;
}

.chamada-acao__acoes {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}

.chamada-acao__link {
  color: var(--color-sage);
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 500;
  text-decoration: none;
  transition: color var(--transition-fast);
}

.chamada-acao__link:hover {
  color: var(--color-sage-hover);
  text-decoration: underline;
}

/* Tablet (768px+) */
@media (min-width: 768px) {
  .hero-conceitual {
    padding-block: var(--space-3xl) var(--space-2xl);
  }

  .hero-conceitual__container {
    padding-inline: var(--container-padding-tablet);
    grid-template-columns: 7fr 5fr;
    gap: var(--space-xl);
  }

  .hero-conceitual__ilustracao {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 280px;
    background-image: radial-gradient(circle at 30% 40%, rgba(122, 154, 126, 0.2) 0%, rgba(122, 154, 126, 0.08) 40%, transparent 70%);
    border-radius: var(--radius-lg);
  }

  .definicao-contexto {
    padding-block: var(--section-padding-tablet);
  }

  .definicao-contexto__lista {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
  }

  .filosofia-experiencia {
    padding-block: var(--section-padding-tablet);
  }

  .filosofia-experiencia__container {
    grid-template-columns: 7fr 5fr;
    gap: var(--space-xl);
  }

  .filosofia-experiencia__imagem {
    position: sticky;
    top: 100px;
  }

  .elementos-centrais {
    padding-block: var(--section-padding-tablet);
  }

  .elementos-centrais__grade {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
  }

  .ambiente-atmosfera {
    padding-block: var(--section-padding-tablet);
  }

  .perguntas-frequentes {
    padding-block: var(--section-padding-tablet);
  }

  .chamada-acao {
    padding-block: var(--section-padding-tablet);
  }

  .chamada-acao__acoes {
    flex-direction: row;
    gap: var(--space-md);
  }
}

/* Desktop (1024px+) */
@media (min-width: 1024px) {
  .hero-conceitual {
    padding-block: var(--space-4xl) var(--space-3xl);
  }

  .hero-conceitual__container {
    padding-inline: var(--container-padding-desktop);
  }

  .definicao-contexto {
    padding-block: var(--section-padding-desktop);
  }

  .definicao-contexto__container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .definicao-contexto__container h2 {
    grid-column: 1 / 9;
  }

  .definicao-contexto__introducao {
    grid-column: 1 / 9;
  }

  .definicao-contexto__lista {
    grid-column: 1 / 13;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
  }

  .filosofia-experiencia {
    padding-block: var(--section-padding-desktop);
  }

  .filosofia-experiencia__container {
    grid-template-columns: 7fr 5fr;
    gap: var(--space-2xl);
  }

  .elementos-centrais {
    padding-block: var(--section-padding-desktop);
  }

  .elementos-centrais__grade {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .ambiente-atmosfera {
    padding-block: var(--section-padding-desktop);
  }

  .ambiente-atmosfera__container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .ambiente-atmosfera__texto {
    grid-column: 1 / 9;
  }

  .ambiente-atmosfera__imagem {
    grid-column: 1 / 13;
  }

  .perguntas-frequentes {
    padding-block: var(--section-padding-desktop);
  }

  .chamada-acao {
    padding-block: var(--section-padding-desktop);
  }
}


/* Page-owned styles for destaques page */

.destaques-hero {
  background-color: var(--color-eggshell);
  padding-block-start: var(--space-2xl);
  padding-block-end: var(--space-2xl);
}

.destaques-hero__inner {
  display: flex;
  justify-content: center;
}

.destaques-hero__content {
  width: 60%;
  max-width: 70ch;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
}

.destaques-hero__title {
  font-size: var(--text-display-size);
  line-height: var(--text-display-leading);
  letter-spacing: var(--text-display-tracking);
  font-weight: 600;
  color: var(--color-slate);
  margin-block-end: 0;
}

.destaques-hero__subtitle {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-slate-muted);
  max-width: 70ch;
  margin-block-end: 0;
}

.destaques-hero__cta {
  margin-block-start: var(--space-sm);
}

.destaques-section-heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-block-end: var(--space-md);
}

.destaques-section-heading h2 {
  margin-block-end: 0;
}

.destaques-section-heading__rule {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
}

.destaques-gastronomia {
  background-color: var(--color-linen);
}

.destaques-gastronomia__intro {
  max-width: 70ch;
  margin-block-end: var(--space-lg);
}

.destaques-gastronomia__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.destaques-card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.destaques-card__icon {
  color: var(--color-sage);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  background-color: var(--color-sage-light);
}

.destaques-card h3 {
  margin-block-end: 0;
}

.destaques-card p {
  margin-block-end: 0;
  color: var(--color-slate-muted);
}

.destaques-ambiente {
  background-color: var(--color-eggshell);
}

.destaques-ambiente__inner {
  display: grid;
  grid-template-columns: 40% 60%;
  gap: var(--space-lg);
  align-items: start;
}

.destaques-ambiente__content {
  min-width: 0;
}

.destaques-ambiente__content p {
  margin-block-end: 0;
}

.destaques-ambiente__figure {
  margin-block-end: 0;
  min-width: 0;
}

.destaques-ambiente__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  display: block;
}

.destaques-ambiente__figure figcaption {
  margin-block-start: var(--space-2xs);
}

.destaques-comunidade {
  background-color: var(--color-eggshell);
}

.destaques-comunidade__inner {
  max-width: 70ch;
}

.destaques-comunidade__intro {
  max-width: 70ch;
  margin-block-end: var(--space-md);
}

.destaques-comunidade__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.destaques-comunidade__list li {
  position: relative;
  padding-inline-start: var(--space-lg);
}

.destaques-comunidade__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 12px;
  height: 12px;
  background-color: var(--color-sage-light);
  border-radius: 50%;
  border: 2px solid var(--color-sage);
}

.destaques-aprendizado {
  background-color: var(--color-linen);
}

.destaques-aprendizado__intro {
  max-width: 70ch;
  margin-block-end: var(--space-lg);
}

.destaques-aprendizado__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.destaques-aprendizado__card {
  min-width: 0;
}

.destaques-galeria {
  background-color: var(--color-eggshell);
}

.destaques-galeria__intro {
  max-width: 70ch;
  margin-block-end: var(--space-lg);
}

.destaques-galeria__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.destaques-galeria__item {
  margin-block-end: 0;
  min-width: 0;
}

.destaques-galeria__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  display: block;
  transition: transform var(--transition-fast);
}

.destaques-galeria__item:hover .destaques-galeria__image {
  transform: scale(1.02);
}

.destaques-galeria__item figcaption {
  max-width: 40ch;
  margin-block-start: var(--space-2xs);
}

.destaques-cronograma {
  background-color: var(--color-linen);
}

.destaques-cronograma__inner {
  max-width: 70ch;
}

.destaques-cronograma__intro {
  max-width: 70ch;
  margin-block-end: var(--space-md);
}

.destaques-cronograma__list {
  list-style: none;
  counter-reset: cronograma-counter;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.destaques-cronograma__list li {
  counter-increment: cronograma-counter;
  position: relative;
  padding-inline-start: var(--space-xl);
  min-height: 44px;
  display: flex;
  align-items: center;
}

.destaques-cronograma__list li::before {
  content: counter(cronograma-counter);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: var(--radius-full);
  background-color: var(--color-sage-light);
  color: var(--color-sage);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: var(--text-body-small-size);
  display: flex;
  align-items: center;
  justify-content: center;
}

.destaques-depoimentos {
  background-color: var(--color-eggshell);
}

.destaques-depoimentos__intro {
  max-width: 70ch;
  margin-block-end: var(--space-lg);
}

.destaques-depoimentos__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.destaques-depoimentos__card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.destaques-depoimentos__card p {
  font-style: italic;
  color: var(--color-slate);
  margin-block-end: 0;
}

.destaques-depoimentos__card footer {
  font-family: var(--font-heading);
  font-size: var(--text-body-small-size);
  color: var(--color-slate-muted);
  margin-block-start: auto;
}

.destaques-cta {
  background-color: var(--color-sage-light);
}

.destaques-cta__inner {
  display: flex;
  justify-content: center;
}

.destaques-cta__card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  width: 600px;
  max-width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
}

.destaques-cta__card h2 {
  margin-block-end: 0;
}

.destaques-cta__card p {
  margin-block-end: 0;
}

.destaques-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: center;
}

@media (max-width: 1023px) {
  .destaques-hero__content {
    width: 100%;
    max-width: 70ch;
  }

  .destaques-gastronomia__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .destaques-ambiente__inner {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .destaques-aprendizado__grid {
    grid-template-columns: 1fr;
  }

  .destaques-galeria__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .destaques-depoimentos__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .destaques-hero {
    padding-block-start: var(--space-xl);
    padding-block-end: var(--space-xl);
  }

  .destaques-hero__content {
    width: 100%;
  }

  .destaques-hero__cta {
    width: 100%;
  }

  .destaques-gastronomia__grid {
    grid-template-columns: 1fr;
  }

  .destaques-galeria__grid {
    grid-template-columns: 1fr;
  }

  .destaques-cta__card {
    padding: var(--space-md);
  }

  .destaques-cta__actions {
    flex-direction: column;
    width: 100%;
  }

  .destaques-cta__actions .btn {
    width: 100%;
  }
}


/* Page: para-quem-e-recomendado */

.pqr-intro {
  background-color: var(--color-eggshell);
}

.pqr-intro__container {
  max-width: 800px;
  margin-inline: auto;
  padding-block: 96px;
  text-align: left;
}

.pqr-intro h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  margin-block-end: var(--space-md);
}

.pqr-intro__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 65ch;
  margin-block-end: var(--space-md);
}

.pqr-intro__list {
  list-style: disc;
  padding-inline-start: var(--space-md);
  margin-block-end: 0;
  max-width: 65ch;
}

.pqr-intro__list li {
  margin-block-end: var(--space-2xs);
}

.pqr-intro__list li:last-child {
  margin-block-end: 0;
}

.pqr-profiles {
  background-color: var(--color-linen);
}

.pqr-profiles h2 {
  margin-block-end: var(--space-lg);
}

.pqr-profiles__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

.pqr-profile-card {
  min-width: 0;
  padding: var(--space-md);
  transition: border-color var(--transition-fast);
}

.pqr-profile-card:hover {
  border-color: var(--color-sage);
}

.pqr-profile-card h3 {
  margin-block-end: var(--space-sm);
}

.pqr-profile-card p {
  margin-block-end: var(--space-sm);
}

.pqr-profile-card ul {
  list-style: disc;
  padding-inline-start: var(--space-md);
  margin-block-end: 0;
}

.pqr-profile-card li {
  margin-block-end: var(--space-2xs);
}

.pqr-profile-card li:last-child {
  margin-block-end: 0;
}

.pqr-benefits {
  background-color: var(--color-eggshell);
}

.pqr-benefits__container {
  max-width: 1000px;
}

.pqr-benefits h2 {
  margin-block-end: var(--space-lg);
}

.pqr-benefits__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.pqr-benefit {
  min-width: 0;
}

.pqr-benefit h3 {
  margin-block-end: var(--space-sm);
}

.pqr-benefit p {
  margin-block-end: var(--space-sm);
}

.pqr-benefit ul {
  list-style: disc;
  padding-inline-start: var(--space-md);
  margin-block-end: 0;
}

.pqr-benefit li {
  margin-block-end: var(--space-2xs);
}

.pqr-benefit li:last-child {
  margin-block-end: 0;
}

.pqr-testimonials {
  background-color: var(--color-linen);
}

.pqr-testimonials h2 {
  margin-block-end: var(--space-lg);
}

.pqr-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.pqr-testimonial {
  min-width: 0;
  padding: var(--space-md);
  border-inline-start: 3px solid var(--color-terracotta);
  font-style: italic;
}

.pqr-testimonial p {
  margin-block-end: var(--space-sm);
}

.pqr-testimonial footer {
  font-family: var(--font-heading);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: var(--text-caption-tracking);
  color: var(--color-slate-muted);
  font-style: normal;
  margin-block-start: var(--space-2xs);
}

.pqr-not-for {
  background-color: var(--color-eggshell);
}

.pqr-not-for__container {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.pqr-not-for h2 {
  margin-block-end: var(--space-md);
}

.pqr-not-for p {
  margin-block-end: var(--space-md);
}

.pqr-not-for ul {
  list-style: disc;
  padding-inline-start: var(--space-md);
  margin-block-end: 0;
  max-width: 65ch;
}

.pqr-not-for li {
  margin-block-end: var(--space-2xs);
}

.pqr-not-for li:last-child {
  margin-block-end: 0;
}

.pqr-faq {
  background-color: var(--color-linen);
}

.pqr-faq__container {
  max-width: 800px;
  margin-inline: auto;
}

.pqr-faq h2 {
  margin-block-end: var(--space-lg);
}

.pqr-accordion {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.pqr-accordion .accordion {
  border-block-end: var(--border-divider);
  padding-block-end: var(--space-sm);
}

.pqr-accordion .accordion:last-child {
  border-block-end: none;
  padding-block-end: 0;
}

.pqr-accordion .accordion-header {
  width: 100%;
}

.pqr-accordion .accordion-content {
  padding-block-start: var(--space-sm);
  padding-block-end: 0;
}

.pqr-accordion .accordion-content p {
  margin-block-end: var(--space-sm);
}

.pqr-accordion .accordion-content ul {
  list-style: disc;
  padding-inline-start: var(--space-md);
  margin-block-end: 0;
  max-width: 65ch;
}

.pqr-accordion .accordion-content li {
  margin-block-end: var(--space-2xs);
}

.pqr-accordion .accordion-content li:last-child {
  margin-block-end: 0;
}

.pqr-gallery {
  background-color: var(--color-eggshell);
}

.pqr-gallery h2 {
  margin-block-end: var(--space-sm);
}

.pqr-gallery__intro {
  max-width: 60ch;
  margin-block-end: var(--space-lg);
}

.pqr-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-sm);
}

.pqr-gallery__item {
  min-width: 0;
  margin-block-end: 0;
}

.pqr-gallery__item img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  position: relative;
  z-index: 0;
}

.pqr-gallery__item img::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(193, 122, 91, 0.05);
  border-radius: var(--radius-md);
  pointer-events: none;
  z-index: 1;
}

.pqr-gallery__item figcaption {
  max-width: 40ch;
  margin-block-start: var(--space-2xs);
}

.pqr-cta {
  background-color: var(--color-sage-light);
  text-align: center;
}

.pqr-cta__container {
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.pqr-cta h2 {
  margin-block-end: 0;
}

.pqr-cta p {
  margin-block-end: 0;
}

.pqr-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
}

.pqr-cta__actions .btn {
  min-width: 160px;
}

@media (max-width: 1023px) {
  .pqr-intro__container {
    padding-block: 64px;
  }

  .pqr-profiles__grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .pqr-benefits__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .pqr-testimonials__grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .pqr-gallery__grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }
}

@media (max-width: 767px) {
  .pqr-intro__container {
    padding-block: 64px;
    padding-inline: var(--container-padding-mobile);
  }

  .pqr-intro__lead {
    font-size: var(--text-body-size);
    line-height: var(--text-body-leading);
  }

  .pqr-profiles h2,
  .pqr-benefits h2,
  .pqr-testimonials h2,
  .pqr-not-for h2,
  .pqr-faq h2,
  .pqr-gallery h2,
  .pqr-cta h2 {
    font-size: var(--text-h2-size);
  }

  .pqr-cta__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .pqr-cta__actions .btn {
    width: 100%;
  }
}


/* ===== Cenario do Poker Social - page-owned styles ===== */

.cenario-intro {
  background-color: var(--color-eggshell);
  position: relative;
  overflow: hidden;
}

.cenario-intro::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -40px;
  width: 320px;
  height: 320px;
  background-image: radial-gradient(circle at 30% 30%, var(--color-sage-light) 0, transparent 70%);
  opacity: 0.2;
  pointer-events: none;
}

.cenario-intro__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  position: relative;
  z-index: 1;
}

.cenario-intro__texto {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 70ch;
  min-width: 0;
}

.cenario-intro__texto h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  margin-block-end: 0;
  position: relative;
  padding-block-end: var(--space-sm);
}

.cenario-intro__texto h1::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-start: var(--space-xs);
}

.cenario-intro__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 70ch;
  margin-block-end: 0;
}

.cenario-intro__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  min-width: 0;
}

.cenario-intro__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.cenario-intro__card-titulo {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  margin-block-end: 0;
}

.cenario-intro__card p {
  margin-block-end: 0;
}

.cenario-brasil {
  background-color: var(--color-linen);
}

.cenario-brasil__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.cenario-brasil__texto {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 70ch;
  min-width: 0;
}

.cenario-brasil__texto h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: 0;
  position: relative;
  padding-block-end: var(--space-sm);
}

.cenario-brasil__texto h2::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-start: var(--space-xs);
}

.cenario-brasil__texto p {
  margin-block-end: 0;
}

.cenario-brasil__marcos {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  min-width: 0;
}

.cenario-brasil__marco {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}

.cenario-brasil__marco h3 {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  margin-block-end: 0;
}

.cenario-brasil__marco p {
  margin-block-end: 0;
}

.cenario-experiencia {
  background-color: var(--color-eggshell);
}

.cenario-experiencia__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.cenario-experiencia__texto {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 70ch;
  min-width: 0;
}

.cenario-experiencia__texto h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: 0;
  position: relative;
  padding-block-end: var(--space-sm);
}

.cenario-experiencia__texto h2::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-start: var(--space-xs);
}

.cenario-experiencia__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 70ch;
  margin-block-end: 0;
}

.cenario-experiencia__figura {
  margin-block-end: 0;
  min-width: 0;
}

.cenario-experiencia__figura img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-modal);
}

.cenario-experiencia__figura figcaption {
  margin-block-start: var(--space-2xs);
}

.cenario-experiencia__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  min-width: 0;
}

.cenario-experiencia__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}

.cenario-experiencia__card h3 {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  margin-block-end: 0;
}

.cenario-experiencia__card p {
  margin-block-end: 0;
}

.cenario-atmosfera {
  background-color: var(--color-linen);
}

.cenario-atmosfera__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.cenario-atmosfera__texto {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 70ch;
  min-width: 0;
}

.cenario-atmosfera__texto h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: 0;
  position: relative;
  padding-block-end: var(--space-sm);
}

.cenario-atmosfera__texto h2::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-start: var(--space-xs);
}

.cenario-atmosfera__texto p {
  margin-block-end: 0;
}

.cenario-atmosfera__galeria-descricao {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
}

.cenario-atmosfera__galeria {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  min-width: 0;
}

.cenario-atmosfera__imagem {
  margin-block-end: 0;
  min-width: 0;
}

.cenario-atmosfera__imagem img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-modal);
  transition: transform var(--transition-fast);
}

.cenario-atmosfera__imagem img:hover {
  transform: scale(1.02);
}

.cenario-atmosfera__imagem figcaption {
  margin-block-start: var(--space-2xs);
}

.cenario-publico {
  background-color: var(--color-eggshell);
}

.cenario-publico__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.cenario-publico__texto {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 70ch;
  min-width: 0;
}

.cenario-publico__texto h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: 0;
  position: relative;
  padding-block-end: var(--space-sm);
}

.cenario-publico__texto h2::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-start: var(--space-xs);
}

.cenario-publico__texto p {
  margin-block-end: 0;
}

.cenario-publico__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  min-width: 0;
}

.cenario-publico__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}

.cenario-publico__card h3 {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  margin-block-end: 0;
  color: var(--color-terracotta);
}

.cenario-publico__card p {
  margin-block-end: 0;
}

.cenario-legal {
  background-color: var(--color-linen);
}

.cenario-legal__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.cenario-legal__texto {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 70ch;
  min-width: 0;
}

.cenario-legal__texto h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: 0;
  position: relative;
  padding-block-end: var(--space-sm);
}

.cenario-legal__texto h2::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-start: var(--space-xs);
}

.cenario-legal__texto p {
  margin-block-end: 0;
}

.cenario-legal__compromisso {
  background-color: var(--color-terracotta-light);
  border-color: var(--color-terracotta);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.cenario-legal__compromisso h3 {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  margin-block-end: 0;
  color: var(--color-terracotta);
}

.cenario-legal__compromisso p {
  margin-block-end: 0;
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-leading);
}

.cenario-depoimentos {
  background-color: var(--color-eggshell);
}

.cenario-depoimentos h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: var(--space-xl);
  position: relative;
  padding-block-end: var(--space-sm);
}

.cenario-depoimentos h2::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  margin-block-start: var(--space-xs);
}

.cenario-depoimentos__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  min-width: 0;
}

.cenario-depoimentos__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.cenario-depoimentos__card blockquote {
  margin-block-end: 0;
  font-style: italic;
  color: var(--color-slate);
  border-inline-start: 3px solid var(--color-sage);
  padding-inline-start: var(--space-md);
  max-width: 70ch;
}

.cenario-depoimentos__autor {
  font-family: var(--font-heading);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: var(--text-caption-tracking);
  color: var(--color-slate-muted);
  margin-block-end: 0;
}

.cenario-cta {
  background-color: var(--color-sage-light);
  text-align: center;
}

.cenario-cta__container {
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
}

.cenario-cta__container h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: 0;
}

.cenario-cta__container p {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-inline: auto;
  margin-block-end: 0;
}

.cenario-cta__acoes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: center;
  align-items: center;
}

.cenario-cta__acoes .btn {
  min-width: 160px;
  justify-content: center;
}

/* ===== Tablet (768px+) ===== */
@media (min-width: 768px) {
  .cenario-intro__grid {
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    gap: var(--space-lg);
    align-items: start;
  }

  .cenario-intro__cards {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .cenario-brasil__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: var(--space-lg);
    align-items: start;
  }

  .cenario-brasil__marcos {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .cenario-experiencia__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    gap: var(--space-lg);
    align-items: start;
  }

  .cenario-experiencia__cards {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .cenario-atmosfera__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: var(--space-lg);
    align-items: start;
  }

  .cenario-atmosfera__galeria {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .cenario-publico__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: var(--space-lg);
    align-items: start;
  }

  .cenario-publico__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .cenario-legal__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
    gap: var(--space-lg);
    align-items: start;
  }

  .cenario-depoimentos__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
  }
}

/* ===== Desktop (1024px+) ===== */
@media (min-width: 1024px) {
  .cenario-intro__grid {
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    gap: var(--space-lg);
  }

  .cenario-intro__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .cenario-brasil__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: var(--space-lg);
  }

  .cenario-brasil__marcos {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .cenario-experiencia__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    gap: var(--space-lg);
  }

  .cenario-experiencia__cards {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .cenario-atmosfera__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: var(--space-lg);
  }

  .cenario-atmosfera__galeria {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .cenario-publico__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: var(--space-lg);
  }

  .cenario-publico__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .cenario-legal__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
    gap: var(--space-lg);
  }

  .cenario-depoimentos__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
  }
}

/* ===== Mobile refinements ===== */
@media (max-width: 767px) {
  .cenario-intro__texto,
  .cenario-brasil__texto,
  .cenario-experiencia__texto,
  .cenario-atmosfera__texto,
  .cenario-publico__texto,
  .cenario-legal__texto {
    max-width: 100%;
  }

  .cenario-intro__lead,
  .cenario-experiencia__lead {
    max-width: 100%;
  }

  .cenario-cta__container p {
  }
}


/* Dinâmica da Noite page styles */

.dn-hero {
  background-color: var(--color-eggshell);
  padding-block: var(--space-2xl) var(--space-2xl);
  position: relative;
  overflow: hidden;
}

.dn-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 85% 20%, rgba(122, 154, 126, 0.2) 0, transparent 35%),
                    radial-gradient(circle at 10% 80%, rgba(122, 154, 126, 0.12) 0, transparent 30%);
  pointer-events: none;
}

.dn-hero__inner {
  position: relative;
  z-index: 1;
}

.dn-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
  max-width: 70ch;
}

.dn-hero__title {
  font-size: var(--text-display-size);
  line-height: var(--text-display-leading);
  letter-spacing: var(--text-display-tracking);
  margin-block-end: 0;
  max-width: 70ch;
}

.dn-hero__subtitle {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-slate-muted);
  max-width: 60ch;
  margin-block-end: 0;
}

.dn-hero__cta {
  margin-block-start: var(--space-xs);
}

.dn-section-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xs);
  margin-block-end: var(--space-lg);
}

.dn-section-heading--center {
  align-items: center;
  text-align: center;
}

.dn-section-heading__rule {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
}

.dn-acts {
  background-color: var(--color-eggshell);
}

.dn-acts__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-md);
}

.dn-act-card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.dn-act-card__icon {
  font-size: 1.75rem;
  line-height: 1;
  color: var(--color-sage);
}

.dn-act-card__title {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  margin-block-end: 0;
}

.dn-act-card__text {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate-muted);
  max-width: 50ch;
  margin-block-end: 0;
}

.dn-arrival {
  background-color: var(--color-linen);
}

.dn-arrival__grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-xl);
  align-items: start;
}

.dn-arrival__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  min-width: 0;
}

.dn-arrival__block {
  max-width: 60ch;
}

.dn-arrival__block h3 {
  margin-block-end: var(--space-xs);
}

.dn-arrival__block p {
  margin-block-end: var(--space-sm);
}

.dn-arrival__block ul {
  margin-block-end: 0;
}

.dn-arrival__media {
  margin-block-end: 0;
}

.dn-arrival__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  filter: sepia(0.05) saturate(0.95);
}

.dn-first-rounds {
  background-color: var(--color-eggshell);
}

.dn-first-rounds__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  max-width: 800px;
  margin-inline: auto;
}

.dn-first-rounds__block {
  max-width: 70ch;
}

.dn-first-rounds__block h3 {
  margin-block-end: var(--space-xs);
}

.dn-first-rounds__block p {
  margin-block-end: var(--space-sm);
}

.dn-first-rounds__block ul {
  margin-block-end: 0;
}

.dn-dinner {
  background-color: var(--color-linen);
}

.dn-dinner__grid {
  display: grid;
  grid-template-columns: 40% 60%;
  gap: var(--space-xl);
  align-items: start;
}

.dn-dinner__media {
  margin-block-end: 0;
}

.dn-dinner__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  filter: sepia(0.05) saturate(0.95);
}

.dn-dinner__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  min-width: 0;
}

.dn-dinner__block {
  max-width: 60ch;
}

.dn-dinner__block h3 {
  margin-block-end: var(--space-xs);
}

.dn-dinner__block p {
  margin-block-end: var(--space-sm);
}

.dn-dinner__block ul {
  margin-block-end: 0;
}

.dn-main-phase {
  background-color: var(--color-eggshell);
}

.dn-main-phase__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  max-width: 800px;
  margin-inline: auto;
}

.dn-main-phase__block {
  max-width: 70ch;
}

.dn-main-phase__block h3 {
  margin-block-end: var(--space-xs);
}

.dn-main-phase__block p {
  margin-block-end: var(--space-sm);
}

.dn-main-phase__block ul {
  margin-block-end: 0;
}

.dn-final-round {
  background-color: var(--color-linen);
}

.dn-final-round__grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-xl);
  align-items: start;
}

.dn-final-round__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  min-width: 0;
}

.dn-final-round__block {
  max-width: 60ch;
}

.dn-final-round__block h3 {
  margin-block-end: var(--space-xs);
}

.dn-final-round__block p {
  margin-block-end: var(--space-sm);
}

.dn-final-round__block ul {
  margin-block-end: 0;
}

.dn-final-round__media {
  margin-block-end: 0;
}

.dn-final-round__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  filter: sepia(0.05) saturate(0.95);
}

.dn-practical {
  background-color: var(--color-linen);
}

.dn-practical__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.dn-practical-card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.dn-practical-card__icon {
  font-size: 1.75rem;
  line-height: 1;
}

.dn-practical-card__title {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  margin-block-end: 0;
}

.dn-practical-card__text {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-slate-muted);
  max-width: 40ch;
  margin-block-end: 0;
}

.dn-faq {
  background-color: var(--color-eggshell);
}

.dn-faq__inner {
  max-width: 800px;
  margin-inline: auto;
}

.dn-faq__list {
  display: flex;
  flex-direction: column;
}

.dn-faq__item {
  border-block-end: var(--border-divider);
}

.dn-faq__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  padding-block: var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 600;
  color: var(--color-slate);
  text-align: start;
  min-height: 44px;
}

.dn-faq__button:hover {
  color: var(--color-sage);
}

.dn-faq__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  transition: transform var(--transition-medium);
}

.dn-faq__button[aria-expanded="true"] .dn-faq__icon {
  transform: rotate(180deg);
}

.dn-faq__panel {
  padding-block-end: var(--space-sm);
  color: var(--color-slate-muted);
  max-width: 70ch;
}

.dn-faq__panel p {
  margin-block-end: 0;
}

.dn-reserve {
  background-color: var(--color-terracotta-light);
  padding-block: var(--space-2xl);
}

.dn-reserve__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-md);
  max-width: 600px;
  margin-inline: auto;
}

.dn-reserve__text {
  max-width: 50ch;
  margin-block-end: 0;
  color: var(--color-slate);
}

.dn-reserve__cta {
  margin-block-start: var(--space-xs);
}

.dn-reserve__phone {
  margin-block-end: 0;
  font-family: var(--font-heading);
  font-size: var(--text-body-small-size);
  color: var(--color-slate-muted);
}

.dn-reserve__phone a {
  color: var(--color-sage);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .dn-acts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dn-arrival__grid,
  .dn-dinner__grid,
  .dn-final-round__grid {
    grid-template-columns: 1fr;
  }

  .dn-practical__grid {
    grid-template-columns: 1fr;
  }

  .dn-arrival__media,
  .dn-dinner__media,
  .dn-final-round__media {
    order: 0;
  }
}

@media (max-width: 767px) {
  .dn-hero {
    padding-block: var(--space-xl) var(--space-xl);
  }

  .dn-hero__content {
    gap: var(--space-sm);
  }

  .dn-hero__cta {
    width: 100%;
  }

  .dn-acts__grid {
    grid-template-columns: 1fr;
  }

  .dn-arrival__grid,
  .dn-dinner__grid,
  .dn-final-round__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .dn-arrival__media,
  .dn-dinner__media,
  .dn-final-round__media {
    order: 0;
  }

  .dn-practical__grid {
    grid-template-columns: 1fr;
  }

  .dn-reserve__inner {
    gap: var(--space-sm);
  }

  .dn-reserve__cta {
    width: 100%;
  }
}


/* Page-owned styles for etiqueta-a-mesa */

.etiqueta-section {
  padding-block: var(--space-2xl);
}

.etiqueta-section--linen {
  background-color: var(--color-linen);
}

.etiqueta-container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
}

.etiqueta-container--narrow {
  max-width: var(--container-narrow-max);
}

.etiqueta-container--cta {
  max-width: 600px;
  text-align: center;
}

/* Hero */
.etiqueta-hero {
  padding-block: var(--space-2xl);
}

.etiqueta-hero__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  align-items: center;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
}

.etiqueta-hero__content {
  min-width: 0;
}

.etiqueta-hero__content h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  margin-block-end: var(--space-md);
  max-width: 70ch;
}

.etiqueta-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 70ch;
}

.etiqueta-hero__content p {
  }

.etiqueta-hero__list {
  margin-block-start: var(--space-md);
  padding-inline-start: var(--space-md);
  max-width: 70ch;
}

.etiqueta-hero__media {
  margin: 0;
  min-width: 0;
}

.etiqueta-hero__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* Condutas */
.etiqueta-condutas {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.etiqueta-condutas__item {
  min-width: 0;
}

.etiqueta-condutas__item h3 {
  margin-block-end: var(--space-xs);
}

.etiqueta-condutas__item p {
  }

/* Ritmo */
.etiqueta-lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 70ch;
  margin-block-end: var(--space-lg);
}

.etiqueta-ritmo__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  align-items: start;
  margin-block-end: var(--space-lg);
}

.etiqueta-ritmo__intro {
  min-width: 0;
}

.etiqueta-ritmo__intro h3 {
  margin-block-end: var(--space-xs);
}

.etiqueta-ritmo__intro p {
  }

.etiqueta-ritmo__list {
  margin: 0;
  padding-inline-start: var(--space-md);
  max-width: 70ch;
}

.etiqueta-quote {
  margin-block-start: var(--space-lg);
  padding-inline-start: var(--space-md);
  border-inline-start: 3px solid var(--color-sage);
  color: var(--color-slate-muted);
  font-style: italic;
  max-width: 70ch;
}

.etiqueta-quote p {
  margin: 0;
}

.etiqueta-quote--highlight {
  background-color: var(--color-terracotta-light);
  border-inline-start: 3px solid var(--color-terracotta);
  padding: var(--space-md);
  border-radius: var(--radius-md);
  text-align: center;
  max-width: 60ch;
  margin-inline: auto;
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
}

/* Cortesia */
.etiqueta-cortesia__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  margin-block-start: var(--space-md);
}

.etiqueta-card {
  background-color: var(--color-white);
  border: var(--border-card);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  min-width: 0;
}

.etiqueta-card h3 {
  margin-block-end: var(--space-xs);
}

.etiqueta-card p {
  }

/* Espírito esportivo */
.etiqueta-espirito__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  margin-block-end: var(--space-lg);
}

.etiqueta-espirito__col {
  min-width: 0;
}

.etiqueta-espirito__col h3 {
  margin-block-end: var(--space-xs);
}

.etiqueta-espirito__col p {
  }

/* Exemplos */
.etiqueta-exemplos__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  margin-block-start: var(--space-md);
}

.etiqueta-card--boas {
  background-color: var(--color-sage-light);
  border-color: var(--color-sage-light);
}

.etiqueta-card--erros {
  background-color: var(--color-terracotta-light);
  border-color: var(--color-terracotta-light);
}

.etiqueta-exemplos__list {
  margin: var(--space-sm) 0 0;
  padding-inline-start: var(--space-md);
}

.etiqueta-exemplos__list--boas li::marker {
  color: var(--color-sage);
}

.etiqueta-exemplos__list--erros li::marker {
  color: var(--color-terracotta);
}

/* Gastronomia */
.etiqueta-gastronomia__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  align-items: center;
  margin-block-start: var(--space-md);
}

.etiqueta-gastronomia__content {
  min-width: 0;
}

.etiqueta-gastronomia__content h3 {
  margin-block-end: var(--space-xs);
}

.etiqueta-gastronomia__content p {
  }

.etiqueta-gastronomia__media {
  margin: 0;
  min-width: 0;
}

.etiqueta-gastronomia__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* FAQ */
.etiqueta-faq {
  margin-block-start: var(--space-md);
}

.etiqueta-faq__item {
  border-block-end: var(--border-divider);
}

.etiqueta-faq__item h3 {
  margin: 0;
}

.etiqueta-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  padding-block: var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 600;
  color: var(--color-slate);
  text-align: start;
  min-height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  transition: color var(--transition-fast);
}

.etiqueta-faq__trigger:hover {
  color: var(--color-sage);
}

.etiqueta-faq__trigger:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
  border-radius: var(--radius-sm);
}

.etiqueta-faq__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
  transition: transform var(--transition-medium);
}

.etiqueta-faq__icon::before,
.etiqueta-faq__icon::after {
  content: "";
  position: absolute;
  background-color: currentColor;
  transition: transform var(--transition-medium);
}

.etiqueta-faq__icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.etiqueta-faq__icon::after {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.etiqueta-faq__trigger[aria-expanded="true"] .etiqueta-faq__icon {
  transform: rotate(180deg);
}

.etiqueta-faq__trigger[aria-expanded="true"] .etiqueta-faq__icon::after {
  transform: translateX(-50%) scaleY(0);
}

.etiqueta-faq__panel {
  padding-block-end: var(--space-sm);
  color: var(--color-slate-muted);
}

.etiqueta-faq__panel p {
  margin: 0;
}

/* CTA */
.etiqueta-cta-section {
  background-color: var(--color-sage-light);
  text-align: center;
}

.etiqueta-cta-section h2 {
  margin-block-end: var(--space-sm);
}

.etiqueta-cta-section p {
  margin-inline: auto;
  margin-block-end: var(--space-lg);
}

.etiqueta-cta__button {
  display: inline-flex;
}

/* Tablet */
@media (min-width: 768px) {
  .etiqueta-section {
    padding-block: var(--space-3xl);
  }

  .etiqueta-container {
    padding-inline: var(--container-padding-tablet);
  }

  .etiqueta-container--narrow {
    padding-inline: var(--container-padding-tablet);
  }

  .etiqueta-hero__inner {
    padding-inline: var(--container-padding-tablet);
  }

  .etiqueta-hero__inner {
    grid-template-columns: 7fr 5fr;
    gap: var(--space-xl);
  }

  .etiqueta-hero__content {
    grid-column: 1 / 2;
  }

  .etiqueta-hero__media {
    grid-column: 2 / 3;
  }

  .etiqueta-ritmo__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
  }

  .etiqueta-ritmo__intro {
    grid-column: 1 / 2;
  }

  .etiqueta-ritmo__list {
    grid-column: 2 / 3;
  }

  .etiqueta-cortesia__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .etiqueta-cortesia__grid > *:nth-child(1) {
    grid-column: 1 / 2;
  }

  .etiqueta-cortesia__grid > *:nth-child(2) {
    grid-column: 2 / 3;
  }

  .etiqueta-espirito__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .etiqueta-espirito__grid > *:nth-child(1) {
    grid-column: 1 / 2;
  }

  .etiqueta-espirito__grid > *:nth-child(2) {
    grid-column: 2 / 3;
  }

  .etiqueta-exemplos__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .etiqueta-exemplos__grid > *:nth-child(1) {
    grid-column: 1 / 2;
  }

  .etiqueta-exemplos__grid > *:nth-child(2) {
    grid-column: 2 / 3;
  }

  .etiqueta-gastronomia__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
  }

  .etiqueta-gastronomia__content {
    grid-column: 1 / 2;
  }

  .etiqueta-gastronomia__media {
    grid-column: 2 / 3;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .etiqueta-container {
    padding-inline: var(--container-padding-desktop);
  }

  .etiqueta-container--narrow {
    padding-inline: var(--container-padding-desktop);
  }

  .etiqueta-hero__inner {
    padding-inline: var(--container-padding-desktop);
  }

  .etiqueta-hero__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-xl);
  }

  .etiqueta-hero__content {
    grid-column: 1 / 8;
  }

  .etiqueta-hero__media {
    grid-column: 8 / 13;
  }

  .etiqueta-gastronomia__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-xl);
  }

  .etiqueta-gastronomia__content {
    grid-column: 1 / 7;
  }

  .etiqueta-gastronomia__media {
    grid-column: 7 / 13;
  }
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .etiqueta-hero__inner {
    grid-template-columns: 1fr;
  }

  .etiqueta-hero__media {
    order: -1;
  }

  .etiqueta-hero__content {
    order: 0;
  }

  .etiqueta-ritmo__grid {
    grid-template-columns: 1fr;
  }

  .etiqueta-ritmo__intro,
  .etiqueta-ritmo__list {
    grid-column: auto;
  }

  .etiqueta-cortesia__grid,
  .etiqueta-espirito__grid,
  .etiqueta-exemplos__grid,
  .etiqueta-gastronomia__grid {
    grid-template-columns: 1fr;
  }

  .etiqueta-cortesia__grid > *,
  .etiqueta-espirito__grid > *,
  .etiqueta-exemplos__grid > *,
  .etiqueta-gastronomia__grid > * {
    grid-column: auto;
  }

  .etiqueta-quote--highlight {
    max-width: 100%;
  }

  .etiqueta-cta-section p {
  }
}

/* Focus visible for all interactive page elements */
.etiqueta-faq__trigger:focus-visible,
.etiqueta-cta__button:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

/* Ensure all grid/flex children have min-width: 0 */
.etiqueta-hero__content,
.etiqueta-hero__media,
.etiqueta-condutas__item,
.etiqueta-ritmo__intro,
.etiqueta-ritmo__list,
.etiqueta-cortesia__grid > *,
.etiqueta-espirito__grid > *,
.etiqueta-exemplos__grid > *,
.etiqueta-gastronomia__content,
.etiqueta-gastronomia__media,
.etiqueta-faq__item {
  min-width: 0;
}

/* Media wrappers bounded */
.etiqueta-hero__media img,
.etiqueta-gastronomia__media img {
  max-width: 100%;
  width: 100%;
}


.home-main {
  overflow: clip;
}

.home-hero {
  position: relative;
  background-color: var(--color-eggshell);
  padding-block: clamp(4rem, 10vw, 8rem);
  overflow: hidden;
}

.home-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-xl);
  align-items: center;
}

.home-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.home-hero__title {
  font-size: var(--text-display-size);
  line-height: var(--text-display-leading);
  letter-spacing: var(--text-display-tracking);
  margin-block-end: 0;
  max-width: 12ch;
}

.home-hero__subtitle {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-slate-muted);
  max-width: 70ch;
  margin-block-end: 0;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-block-start: var(--space-sm);
}

.home-hero__botanical {
  min-width: 0;
  aspect-ratio: 1;
  background:
    radial-gradient(circle at 30% 30%, rgba(122, 154, 126, 0.2) 0 18%, transparent 19%),
    radial-gradient(circle at 70% 65%, rgba(122, 154, 126, 0.16) 0 22%, transparent 23%),
    radial-gradient(circle at 45% 80%, rgba(193, 122, 91, 0.12) 0 12%, transparent 13%);
  border-radius: 50%;
  opacity: 0.8;
  position: relative;
}

.home-hero__botanical::before,
.home-hero__botanical::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(122, 154, 126, 0.35);
  border-radius: 50%;
}

.home-hero__botanical::before {
  inset: 12%;
}

.home-hero__botanical::after {
  inset: 26%;
  border-color: rgba(193, 122, 91, 0.3);
}

.home-section-title {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: var(--space-lg);
  position: relative;
  padding-block-start: var(--space-sm);
}

.home-section-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 2px;
  background-color: var(--color-terracotta);
  border-radius: 999px;
}

.home-concept {
  background-color: var(--color-eggshell);
}

.home-concept__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-slate-muted);
  max-width: 70ch;
  margin-block-end: var(--space-xl);
}

.home-concept__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.home-concept-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.home-concept-card__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background-color: var(--color-sage-light);
  color: var(--color-sage);
}

.home-concept-card__title {
  margin-block-end: 0;
}

.home-concept-card__text {
  margin-block-end: 0;
  color: var(--color-slate-muted);
  max-width: 50ch;
}

.home-dynamics {
  background-color: var(--color-linen);
}

.home-dynamics__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.home-dynamics__item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: var(--space-sm);
  align-items: start;
}

.home-dynamics__number {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-terracotta-light);
  color: var(--color-terracotta);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: var(--text-body-size);
  line-height: 1;
}

.home-dynamics__content {
  min-width: 0;
}

.home-dynamics__item-title {
  margin-block-end: var(--space-2xs);
}

.home-dynamics__text {
  margin-block-end: 0;
  color: var(--color-slate-muted);
  max-width: 70ch;
}

.home-highlights {
  background-color: var(--color-eggshell);
}

.home-highlights__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-md);
}

.home-highlight-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.home-highlight-card__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background-color: var(--color-sage-light);
  color: var(--color-sage);
}

.home-highlight-card__title {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  margin-block-end: 0;
}

.home-highlight-card__text {
  margin-block-end: 0;
  color: var(--color-slate-muted);
  max-width: 40ch;
}

.home-scenario {
  background-color: var(--color-linen);
}

.home-scenario__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-slate-muted);
  max-width: 70ch;
  margin-block-end: var(--space-md);
}

.home-scenario__text {
  max-width: 70ch;
  color: var(--color-slate-muted);
  margin-block-end: var(--space-lg);
}

.home-scenario__quote {
  max-width: 600px;
  margin-inline-start: var(--space-md);
  padding: var(--space-md);
  background-color: var(--color-terracotta-light);
  border-inline-start: 3px solid var(--color-terracotta);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  color: var(--color-slate);
  font-style: italic;
  margin-block-end: 0;
}

.home-scenario__quote p {
  margin-block-end: 0;
  }

.home-etiquette {
  background-color: var(--color-eggshell);
}

.home-etiquette__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: start;
}

.home-etiquette__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.home-etiquette__list li {
  position: relative;
  padding-inline-start: var(--space-lg);
  color: var(--color-slate-muted);
  max-width: 40ch;
}

.home-etiquette__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--color-sage);
  opacity: 0.7;
}

.home-etiquette__text {
  margin-block-end: 0;
  color: var(--color-slate-muted);
  max-width: 70ch;
}

.home-gallery {
  background-color: var(--color-linen);
}

.home-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto auto;
  gap: var(--space-md);
}

.home-gallery__item {
  margin-block-end: 0;
  min-width: 0;
}

.home-gallery__item--feature {
  grid-column: span 2;
  grid-row: span 2;
}

.home-gallery__media {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  background-color: var(--color-sage-light);
  aspect-ratio: 4 / 3;
}

.home-gallery__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(193, 122, 91, 0.05);
  pointer-events: none;
}

.home-gallery__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-gallery__caption {
  margin-block-start: var(--space-2xs);
  max-width: 40ch;
}

.home-audience {
  background-color: var(--color-eggshell);
}

.home-audience__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-lg);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-sm) var(--space-lg);
}

.home-audience__list li {
  position: relative;
  padding-inline-start: var(--space-lg);
  color: var(--color-slate-muted);
  max-width: 40ch;
}

.home-audience__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--color-terracotta);
  opacity: 0.7;
}

.home-audience__invite {
  margin-block-end: 0;
  color: var(--color-slate-muted);
  max-width: 70ch;
}

.home-faq {
  background-color: var(--color-linen);
}

.home-faq__list {
  display: flex;
  flex-direction: column;
}

.home-faq__item {
  border-block-end: var(--border-divider);
}

.home-faq__header {
  padding-block: var(--space-sm);
}

.home-faq__icon {
  color: var(--color-sage);
}

.home-faq__content {
  display: none;
  padding-block-end: var(--space-sm);
}

.home-faq__content.is-open {
  display: block;
}

.home-faq__content p {
  margin-block-end: 0;
  }

.home-reservation {
  background-color: var(--color-linen);
}

.home-reservation__title {
  text-align: center;
  max-width: 800px;
  margin-inline: auto;
}

.home-reservation__title::before {
  left: 50%;
  transform: translateX(-50%);
}

.home-reservation__support {
  text-align: center;
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: var(--space-lg);
  color: var(--color-slate-muted);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
}

.home-reservation__card {
  max-width: 600px;
  margin-inline: auto;
  padding: var(--space-lg);
}

.home-reservation__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.home-reservation__submit {
  align-self: flex-start;
  margin-block-start: var(--space-xs);
}

.home-reservation__success {
  margin-block-end: 0;
}

@media (max-width: 1023px) {
  .home-hero {
    padding-block-start: calc(80px + var(--space-md));
  }

  .home-hero__inner {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .home-hero__botanical {
    max-width: 320px;
    justify-self: center;
    opacity: 0.5;
  }

  .home-concept__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-concept-card:last-child {
    grid-column: span 2;
  }

  .home-highlights__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .home-gallery__item--feature {
    grid-column: span 2;
    grid-row: auto;
  }
}

@media (max-width: 767px) {
  .home-hero {
    padding-block: var(--space-2xl);
    padding-block-start: calc(80px + var(--space-md));
  }

  .home-hero__title {
    font-size: clamp(2rem, 7vw, 2.25rem);
    line-height: 1.12;
    max-width: 100%;
  }

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

  .home-hero__actions .btn {
    width: 100%;
  }

  .home-hero__botanical {
    display: none;
  }

  .home-concept__grid {
    grid-template-columns: 1fr;
  }

  .home-concept-card:last-child {
    grid-column: auto;
  }

  .home-highlights__grid {
    grid-template-columns: 1fr;
  }

  .home-etiquette__layout {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .home-gallery__grid {
    grid-template-columns: 1fr;
  }

  .home-gallery__item--feature {
    grid-column: auto;
  }

  .home-audience__list {
    grid-template-columns: 1fr;
  }

  .home-reservation__card {
    padding: var(--space-md);
  }

  .home-reservation__submit {
    align-self: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


.thank-you {
  padding-block: var(--section-padding-mobile);
}

.thank-you__container {
  max-width: var(--container-narrow-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  text-align: center;
}

.thank-you__title {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  margin-block-end: var(--space-md);
}

.thank-you__message,
.thank-you__next {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-block-end: var(--space-md);
  max-width: 70ch;
  margin-inline: auto;
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: center;
  margin-block-start: var(--space-lg);
}

@media (min-width: 768px) {
  .thank-you {
    padding-block: var(--section-padding-tablet);
  }

  .thank-you__container {
    padding-inline: var(--container-padding-tablet);
  }
}

@media (min-width: 1024px) {
  .thank-you {
    padding-block: var(--section-padding-desktop);
  }

  .thank-you__container {
    padding-inline: var(--container-padding-desktop);
  }
}
