:root {
  --font-size--content: 18px;
  --line-height--content: 28px;
  --font-size--h1: 64px;
  --line-height--h1: 72px;
  --text--primary: #191919;
  --font-size--h2: 52px;
  --line-height--h2: 62px;
  --font-size--h3: 42px;
  --line-height--h3: 52px;
  --font-size--h4: 32px;
  --line-height--h4: 38px;
  --font-size--h5: 24px;
  --line-height--h5: 34px;
  --font-size--h6: 20px;
  --line-height--h6: 30px;
  --font-size--subcontent: 16px;
  --line-height--subcontent: 26px;
  --bg--dark: #eeeab7;
  --font-family--parisienne: Parisienne, sans-serif;
  --bg--secondary: #fcf2ea;
  --text--alt: #969696;
  --secondary: #66621e;
  --primary: #d88059;
  --text--white: white;
  --secondary-hover: #545015;
  --text--secondary: #2e2e2e;
  --text--label-primary: #bebebe;
  --alt: #bab50c;
  --font-size--h1-l: 80px;
  --bg--primary: white;
  --font-size--small: 14px;
  --line-height--small: 22px;
  --bg--input: gainsboro;
  --font-family--montserrat: Montserrat, sans-serif;
  --primary-hover: #c56c44;
  --alt-hover: #9b9609;
  --border: #b4b4b4;
  --font-size--caption: 12px;
  --line-height--caption: 18px;
  --system--error: #e55454;
  --system--success: #137d11;
}

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

html {
  overflow-x: clip;
}

body {
  color: var(--text--secondary);
  font-family: Montserrat, sans-serif;
  font-size: var(--font-size--content);
  line-height: var(--line-height--content);
  overflow-x: clip;
  margin: 0;
  width: 100%;
}

h1 {
  font-family: Parisienne, sans-serif;
  font-size: var(--font-size--h1);
  line-height: var(--line-height--h1);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  color: var(--text--primary);
}

h2 {
  color: var(--text--primary);
  font-family: Parisienne, sans-serif;
  font-size: var(--font-size--h2);
  line-height: var(--line-height--h2);
  margin: 0;
  font-weight: 400;
  letter-spacing: -0.94px;
}

h3 {
  font-size: var(--font-size--h3);
  line-height: var(--line-height--h3);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

h4 {
  font-size: var(--font-size--h4);
  line-height: var(--line-height--h4);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

h5 {
  font-size: var(--font-size--h5);
  line-height: var(--line-height--h5);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
  letter-spacing: -0.43px;
}

h6 {
  font-size: var(--font-size--h6);
  line-height: var(--line-height--h6);
  letter-spacing: -0.36px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

p {
  font-size: var(--font-size--content);
  line-height: var(--line-height--content);
  margin-top: 0;
  margin-bottom: 0;
  letter-spacing: -0.32px;
}

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

img {
  object-fit: cover;
  max-width: 100%;
  display: inline-block;
}

/* ===== LAYOUT ===== */

.section {
  padding: 80px 148px;
  position: relative;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.container {
  max-width: 1144px;
  margin: 0 auto;
  width: 100%;
}

/* ===== BUTTONS ===== */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 25px;
  border-radius: 50px;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: -0.29px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
}

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

.btn--primary:hover {
  background-color: var(--secondary-hover);
}

.btn--outline {
  background-color: white;
  color: var(--secondary);
  border: 1px solid var(--secondary);
}

.btn--outline:hover {
  background-color: rgba(102, 98, 30, 0.1);
}

.btn--outline-white {
  background-color: transparent;
  color: white;
  border: 1px solid white;
}

.btn--outline-white:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.btn--tab {
  background-color: white;
  color: var(--text--primary);
  width: 265px;
  justify-content: flex-start;
}

.btn--tab:hover,
.btn--tab.active {
  background-color: var(--primary);
  color: white;
}

/* ===== UTILITY ===== */

.color--primary { color: var(--primary); }
.color--secondary { color: var(--secondary); }
.color--white { color: white; }
.text-center { text-align: center; }
.text-bold { font-weight: 700; }

.stars {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  filter: drop-shadow(0px 34px 36px rgba(21,21,21,0.15));
}

.stars img {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.testimonial-quote {
  font-size: 12px;
  line-height: 22px;
  letter-spacing: -0.25px;
  color: var(--text--secondary);
}

.testimonial-quote strong {
  font-style: italic;
}

.testimonial-quote span {
  font-style: italic;
}

.section__mini-testimonial {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.cta-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

/* ===== 1. NAVBAR ===== */

.navbar {
  background-color: var(--bg--secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  height: 150px;
}

.navbar__logo {
  width: 150px;
  height: 150px;
  background-color: var(--alt);
  border-radius: 0 0 100px 100px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.navbar__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.navbar__logo a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

/* ===== 2. HERO ===== */

.section--hero {
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  border-radius: 0 0 300px 300px;
  padding: 48px 148px 96px;
  overflow: hidden;
  position: relative;
  min-height: 700px;
}

.hero__content {
  display: flex;
  align-items: center;
  gap: 32px;
  position: relative;
}

.hero__text {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.hero__heading {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.hero__heading h1 {
  font-size: 80px;
  line-height: 72px;
  color: var(--secondary);
  letter-spacing: -1.16px;
}

.hero__cta {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}

.hero__stars {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.hero__stat {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2px;
  opacity: 0.8;
  margin-top: 4px;
}

.hero__photo {
  width: 440px;
  height: 440px;
  flex-shrink: 0;
  position: relative;
}

.hero__photo > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hero__elements {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero__elements img {
  position: absolute;
}

.hero__elements img:nth-child(1) {
  width: 203px;
  top: 0;
  left: -90px;
  transform: rotate(15deg);
}

.hero__elements img:nth-child(2) {
  width: 222px;
  top: 175px;
  right: -60px;
}

.hero__elements img:nth-child(3) {
  width: 160px;
  top: 270px;
  left: -65px;
  transform: rotate(14.63deg);
}

.hero__elements img:nth-child(4) {
  width: 114px;
  top: -80px;
  right: 80px;
  transform: rotate(-21.16deg);
}

/* ===== 3. ABOUT US ===== */

.section--about {
  background-color: white;
  padding: 50px 148px;
}

.about__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.about__text {
  max-width: 590px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about__callout {
  background-color: var(--bg--secondary);
  border-radius: 32px;
  padding: 16px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.about__callout-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.about__callout-text h3 {
  font-size: 16px;
  line-height: 26px;
  color: var(--primary);
  letter-spacing: -0.29px;
}

.about__callout-text p {
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.25px;
}

.about__body {
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.25px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about__body p {
  font-size: 14px;
  line-height: 22px;
}

.about__image {
  width: 504px;
  height: 504px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

.about__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ===== 4. WHATS ON THE MENU ===== */

.section--menu {
  background-color: var(--bg--secondary);
  border-radius: 100px 0 100px 0;
  padding: 80px 148px;
  overflow: visible;
}

.menu__content {
  display: flex;
  align-items: center;
  gap: 50px;
}

.menu__intro {
  width: 238px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.menu__cards {
  display: flex;
  gap: 32px;
  flex: 1;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 24px 0 32px;
}

.menu__cards::-webkit-scrollbar {
  height: 4px;
}

.menu__cards::-webkit-scrollbar-track {
  background: rgba(0,0,0,0.05);
  border-radius: 4px;
}

.menu__cards::-webkit-scrollbar-thumb {
  background: var(--primary);
  border-radius: 4px;
}

.menu__card {
  min-width: 350px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  scroll-snap-align: start;
}

.menu__card-image {
  width: 100%;
  height: 250px;
  border-radius: 16px;
  object-fit: cover;
}

.menu__card-text {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.menu__card-text h3 {
  color: var(--secondary);
}

/* ===== 5. WHY CHOOSE US ===== */

.section--why {
  background-color: white;
  padding: 80px 148px;
}

.why__header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 8px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.why__grid {
  display: grid;
  grid-template-columns: 35% 1fr 35%;
  grid-template-rows: auto auto auto;
  gap: 20px 24px;
  margin-bottom: 40px;
  align-items: start;
  position: relative;
}

.why__card {
  border: 1px solid #eee;
  border-radius: 16px;
  padding: 16px;
  background: white;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.why__card h3 {
  font-size: 16px;
  line-height: 26px;
  color: var(--primary);
  letter-spacing: -0.29px;
}

.why__card p {
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.25px;
}

.why__card--1 { grid-column: 1; grid-row: 1; }
.why__card--2 { grid-column: 3; grid-row: 1; }
.why__card--3 { grid-column: 1; grid-row: 2; }
.why__card--4 { grid-column: 3; grid-row: 2; }
.why__card--5 { grid-column: 1 / -1; grid-row: 3; max-width: 528px; justify-self: center; text-align: center; }

.why__photo {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  justify-self: center;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  overflow: hidden;
}

.why__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.why__deco {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.why__deco--1 {
  width: 200px;
  top: 55%;
  left: 18%;
  transform: rotate(15deg);
}

.why__deco--2 {
  width: 200px;
  top: 58%;
  right: 15%;
}

.why__deco--3 {
  width: 140px;
  top: 15%;
  left: 33%;
  transform: rotate(14.63deg);
}

.why__deco--4 {
  width: 114px;
  top: 22%;
  right: 26%;
  transform: rotate(-21.16deg);
}

.why__bottom {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}

/* ===== 6. HOW IT WORKS ===== */

.section--how {
  background-color: var(--bg--dark);
  border-radius: 100px 0 0 0;
  padding: 80px 148px;
}

.how__header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 50px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.how__steps {
  display: flex;
  gap: 12px;
  align-items: center;
  position: relative;
}

.how__step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
}

.how__step-icon {
  width: 100px;
  height: 100px;
}

.how__step-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.how__step-text h3 {
  color: var(--text--primary);
}

.how__line {
  width: 80px;
  flex-shrink: 0;
  align-self: center;
  opacity: 0.6;
}

.how__feedback {
  text-align: center;
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}

.how__feedback p {
  max-width: 750px;
}

.how__feedback-title {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
}

.how__feedback-title img {
  width: 32px;
  height: 32px;
}

/* ===== 7. CHOICES / FLAVORS ===== */

.section--choices {
  background-color: var(--bg--secondary);
  border-radius: 0 0 100px 0;
  padding: 80px 148px;
}

.choices__header {
  text-align: center;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.choices__header h2 {
  color: var(--secondary);
}

.choices__body {
  display: flex;
  gap: 64px;
  align-items: flex-start;
  margin-bottom: 50px;
}

.choices__tabs {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex-shrink: 0;
}

.tabs {
  flex-flow: row;
  width: 100%;
  display: flex;
}

.tabs-menu {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  width: 265px;
  font-weight: 700;
  display: flex;
}

.tab-link {
  background-color: var(--bg--primary);
  cursor: pointer;
  border-radius: 100px;
  padding: 15px 25px;
  transition: all .2s;
  text-decoration: none;
  color: var(--text--primary);
  font-weight: 700;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: -0.29px;
  display: block;
}

.tab-link:hover,
.tab-link.w--current {
  background-color: var(--primary);
  color: var(--text--white);
}

.tab-pane {
  height: 100%;
}

.tab-content {
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  height: 100%;
  display: flex;
}

.tabs-content {
  flex: 1;
  margin-left: 48px;
}

.choices__items {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

.choices__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px;
  width: 148px;
  min-width: 120px;
  text-align: center;
  flex-shrink: 0;
}

.choices__item-emoji {
  font-size: 50px;
  line-height: 1;
  width: 100px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tab-content {
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  gap: 0;
}

.choices__bottom {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}

/* ===== 8. EVENT TYPES ===== */

.section--events {
  background-color: white;
  padding: 50px 148px;
}

.events__header {
  text-align: center;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.events__grid {
  display: flex;
  gap: 24px;
  margin-bottom: 50px;
}

.events__card {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}

.events__card-image {
  width: 100%;
  height: 350px;
  border-radius: 16px;
  object-fit: cover;
}

.events__card-text {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.events__card-text h3 {
  color: var(--text--primary);
}

.events__callout {
  background-color: var(--bg--secondary);
  border-radius: 32px;
  padding: 16px;
  text-align: center;
}

.events__callout h3 {
  margin-bottom: 4px;
}

/* ===== 9. TESTIMONIALS ===== */

.section--testimonials {
  background-color: var(--primary);
  padding: 80px 148px;
  overflow: hidden;
}

.testimonials__header {
  text-align: center;
  color: white;
  max-width: 800px;
  margin: 0 auto 50px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  z-index: 2;
}

.testimonials__header h2,
.testimonials__header p {
  color: white;
}

.testimonials__cards {
  display: flex;
  gap: 40px;
  position: relative;
  z-index: 2;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;
}

.testimonials__cards::-webkit-scrollbar {
  height: 6px;
}

.testimonials__cards::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 6px;
}

.testimonials__cards::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 6px;
}

.testimonials__cards::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.7);
}

.testimonial__card {
  flex: 0 0 355px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 24px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  box-shadow: 0 29px 31px rgba(21, 21, 21, 0.15);
  scroll-snap-align: start;
}

.testimonials__cards .testimonial__card.is-clipped {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.testimonial__card-stars {
  display: flex;
  filter: drop-shadow(0px 34px 36px rgba(21,21,21,0.15));
}

.testimonial__card-stars img {
  width: 32px;
  height: 32px;
}

.testimonial__card p {
  color: var(--text--secondary);
}

.testimonial__card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.testimonial__author {
  display: flex;
  align-items: center;
  gap: 8px;
}

.testimonial__author img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

.testimonial__author span {
  font-weight: 700;
  font-size: 14px;
  line-height: 22px;
  color: var(--text--secondary);
}

.testimonial__author-text {
  display: flex;
  flex-direction: column;
}

.testimonial__author-meta {
  font-weight: 400;
  font-size: 12px;
  line-height: 18px;
  opacity: 0.7;
}

.testimonials__bg-text {
  position: absolute;
  left: -270px;
  top: 25px;
  bottom: 0;
  right: -270px;
  font-family: Parisienne, sans-serif;
  font-size: 100px;
  line-height: 129px;
  color: var(--bg--secondary);
  opacity: 0.2;
  white-space: nowrap;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ===== 10. GALLERY ===== */

.section--gallery {
  background-color: white;
  padding: 50px 148px;
}

.gallery__header {
  text-align: center;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gallery__grid {
  display: flex;
  gap: 20px;
  margin-bottom: 50px;
}

.gallery__column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.gallery__item {
  border-radius: 32px;
  overflow: hidden;
  position: relative;
}

.gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gallery__item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.1), transparent 76%);
  border-radius: 32px;
  pointer-events: none;
}

.gallery__social {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}

.gallery__social-links {
  display: flex;
  gap: 24px;
  align-items: center;
}

.gallery__social-link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--text--secondary);
  font-size: 16px;
  line-height: 26px;
}

.gallery__social-link img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.footer__social img {
  object-fit: contain;
}

.gallery__social-divider {
  color: var(--text--secondary);
  font-size: 14px;
}

/* ===== 11. MAP / SERVICE AREA ===== */

.section--map {
  background-color: var(--bg--dark);
  padding: 80px 148px;
}

.map__header {
  text-align: center;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.map__cards {
  display: flex;
  gap: 24px;
  margin-bottom: 50px;
}

.map__card {
  flex: 1;
  background: white;
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding-bottom: 20px;
  border: 1px solid #eee;
  transition: box-shadow 0.2s;
}

.map__card:hover {
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
}

.map__card-map {
  width: 100%;
  height: 180px;
  overflow: hidden;
}

.map__card-map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.map__card h3 {
  color: var(--secondary);
  font-size: 18px;
  letter-spacing: -0.32px;
}

.map__callout {
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 32px;
  padding: 16px 24px;
  text-align: center;
  margin-bottom: 50px;
}

.map__callout h3 {
  margin-bottom: 4px;
}

.map__bottom {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}

.map__bottom .testimonial-quote {
  max-width: 760px;
}

/* ===== 12. PACKAGES ===== */

.section--packages {
  background-color: var(--primary);
  padding: 80px 148px;
  overflow: hidden;
}

.packages__header {
  text-align: center;
  color: white;
  max-width: 800px;
  margin: 0 auto 50px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  z-index: 2;
}

.packages__header h2,
.packages__header p {
  color: white;
}

.packages__disclaimer {
  font-size: 14px;
  opacity: 0.8;
  margin-top: -4px;
}

.packages__cards {
  display: flex;
  gap: 40px;
  position: relative;
  z-index: 2;
}

.package__card {
  flex: 1;
  background: white;
  border: 1px solid #eee;
  border-radius: 32px;
  padding: 64px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  opacity: 0.9;
}

.package__card h5 {
  color: var(--primary);
}

.package__details {
  width: 100%;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: -0.32px;
}

.package__details .price {
  font-weight: 700;
  font-size: 20px;
  line-height: 30px;
}

.packages__custom {
  position: relative;
  z-index: 2;
  margin-top: 32px;
  background: white;
  border-radius: 24px;
  padding: 24px 32px;
  display: flex;
  align-items: center;
  gap: 32px;
}

.packages__custom-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.packages__custom-text h3 {
  color: var(--primary);
}

.packages__custom-text p {
  font-size: 14px;
  line-height: 22px;
  color: var(--text--secondary);
}

.packages__custom .btn {
  flex-shrink: 0;
}

.packages__bg-text {
  position: absolute;
  left: -270px;
  top: 50px;
  bottom: 0;
  right: -270px;
  font-family: Parisienne, sans-serif;
  font-size: 100px;
  line-height: 129px;
  color: var(--bg--secondary);
  opacity: 0.2;
  white-space: nowrap;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ===== 13. INCLUSIONS ===== */

.section--inclusions {
  background-color: white;
  padding: 80px 148px 50px;
}

.inclusions__title {
  text-align: center;
  margin-bottom: 50px;
}

.inclusions__grid {
  display: flex;
  gap: 24px;
}

.inclusion__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
}

.inclusion__image {
  width: 150px;
  height: 150px;
  border-radius: 100px;
  object-fit: cover;
}

.inclusion__item p {
  font-weight: 600;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: -0.29px;
}

/* ===== 14. NOTES ===== */

.section--notes {
  background-color: var(--bg--secondary);
  padding: 80px 148px;
  position: relative;
}

.notes__deco {
  position: absolute;
  bottom: -10px;
  right: 10px;
  width: 160px;
  opacity: 0.2;
  pointer-events: none;
  z-index: 0;
}

.notes__grid {
  display: flex;
  gap: 24px;
  position: relative;
  z-index: 1;
}

.notes__column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.note__card {
  background: white;
  border: 1px solid #eee;
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.note__card h3 {
  font-size: 18px;
  line-height: 28px;
  letter-spacing: -0.32px;
  color: var(--text--secondary);
}

.note__card p {
  font-size: 16px;
  line-height: 26px;
  letter-spacing: -0.29px;
}

/* ===== 15. FAQS ===== */

.section--faqs {
  background-color: white;
  padding: 0;
  display: flex;
  overflow: hidden;
}

.faqs__image {
  width: 647px;
  flex-shrink: 0;
  align-self: stretch;
}

.faqs__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.faqs__content {
  flex: 1;
  padding: 80px 148px 80px 50px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.faqs__header {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faqs__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faq__item {
  border: 1px solid #eee;
  border-radius: 16px;
  overflow: hidden;
}

.faq__item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: -0.29px;
  color: var(--primary);
}

.faq__item summary::-webkit-details-marker {
  display: none;
}

.faq__item summary::after {
  content: '';
  width: 48px;
  height: 48px;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23191919" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>');
  background-size: 24px 24px;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
  border-radius: 50%;
  transition: transform 0.2s;
}

.faq__item[open] summary::after {
  transform: rotate(180deg);
}

.faq__item .faq__answer {
  padding: 0 16px 16px;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.25px;
}

/* ===== 16. CTA ===== */

.section--cta {
  background-color: var(--bg--dark);
  padding: 80px 148px;
}

.cta__container {
  background-color: var(--alt);
  border-radius: 16px;
  overflow: visible;
  position: relative;
  display: flex;
  min-height: 440px;
}

.cta__text {
  padding: 50px 100px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  max-width: 537px;
  position: relative;
  z-index: 2;
}

.cta__text h2,
.cta__text p {
  color: white;
}

.section--cta {
  position: relative;
}

.cta__image {
  position: absolute;
  right: 124px;
  top: 0;
  width: 520px;
  height: 600px;
  pointer-events: none;
  z-index: 3;
}

.cta__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===== 17. FOOTER ===== */

.footer {
  background-color: var(--bg--secondary);
  padding: 0 148px 32px;
}

.footer__divider {
  height: 1px;
  background: var(--bg--secondary);
  margin-bottom: 16px;
}

.footer__content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding-top: 16px;
}

.footer__social {
  display: flex;
  gap: 16px;
}

.footer__social a {
  display: block;
  width: 24px;
  height: 24px;
}

.footer__social img {
  width: 24px;
  height: 24px;
}

.footer__contact {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.25px;
  text-align: center;
  white-space: nowrap;
}

.footer__contact a {
  color: var(--text--secondary);
  text-decoration: none;
}

.footer__copyright {
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.25px;
  white-space: nowrap;
}

/* ===== SCROLL-LINKED HORIZONTAL SECTIONS ===== */

.menu__cards {
  will-change: transform;
}

/* ===== ANIMATIONS ===== */

.animate {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.animate.animate--left {
  transform: translateX(-40px);
}

.animate.animate--right {
  transform: translateX(40px);
}

.animate.animate--scale {
  transform: scale(0.95);
}

.animate.is-visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

.animate-delay-1 { transition-delay: 0.1s; }
.animate-delay-2 { transition-delay: 0.2s; }
.animate-delay-3 { transition-delay: 0.3s; }
.animate-delay-4 { transition-delay: 0.4s; }
.animate-delay-5 { transition-delay: 0.5s; }
.animate-delay-6 { transition-delay: 0.6s; }
.animate-delay-7 { transition-delay: 0.7s; }

@media (prefers-reduced-motion: reduce) {
  .animate, .animate.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ===== HOVER INTERACTIONS ===== */

.menu__card,
.events__card,
.package__card,
.testimonial__card {
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.25s ease, visibility 0.25s ease;
}

.menu__card:hover,
.events__card:hover,
.package__card:hover,
.testimonial__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(21, 21, 21, 0.18);
}

.gallery__item {
  overflow: hidden;
}

.gallery__item img {
  transition: transform 0.4s ease;
}

.gallery__item:hover img {
  transform: scale(1.05);
}

.faq__item summary {
  transition: background-color 0.15s ease;
  border-radius: 12px;
}

.faq__item summary:hover {
  background-color: rgba(216, 128, 89, 0.08);
}

.choices__item {
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.choices__item:hover {
  transform: scale(1.05);
  background-color: rgba(216, 128, 89, 0.08);
}

.footer__social a img,
.gallery__social-link img {
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.footer__social a:hover img,
.gallery__social-link:hover img {
  opacity: 0.7;
  transform: translateY(-2px);
}

/* ===== TESTIMONIALS NAV ARROWS ===== */

.testimonials__viewport {
  position: relative;
}

.testimonials__nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(21, 21, 21, 0.2);
  z-index: 4;
  transition: opacity 0.2s ease, transform 0.2s ease;
  padding: 0;
}

.testimonials__nav-arrow:hover {
  transform: translateY(-50%) scale(1.08);
}

.testimonials__nav-arrow:disabled {
  opacity: 0;
  pointer-events: none;
}

.testimonials__nav-arrow--left {
  left: -24px;
}

.testimonials__nav-arrow--right {
  right: -24px;
}

.testimonials__nav-arrow svg {
  width: 20px;
  height: 20px;
  stroke: var(--text--secondary);
}

@media screen and (max-width: 767px) {
  .testimonials__nav-arrow { display: none; }
}

/* ===== MESSENGER ===== */

.messenger-block {
  z-index: 15;
  flex-direction: row;
  justify-content: flex-end;
  margin-top: -64px;
  display: flex;
  position: fixed;
  inset: auto 0% 0% auto;
}

.send-us-a-message {
  z-index: 1;
  background-color: var(--alt);
  color: #000;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  width: 200px;
  margin-bottom: 10px;
  margin-right: 10px;
  padding: 10px;
  text-decoration: none;
  display: flex;
  position: relative;
}

.paragraph-16 {
  color: var(--bg--primary);
  margin-bottom: 0;
  font-size: 14px;
  line-height: 18px;
  display: inline-block;
}

/* ===== RESPONSIVE - TABLET ===== */

@media screen and (max-width: 991px) {
  .section { padding: 60px 48px; }
  .section--hero { padding: 60px 48px; border-radius: 0 0 150px 150px; }
  .section--about { padding: 40px 48px; }
  .section--menu { padding: 60px 48px; border-radius: 50px 0 50px 0; }
  .section--why { padding: 60px 48px; }
  .section--how { padding: 60px 48px; border-radius: 50px 0 0 0; }
  .section--choices { padding: 60px 48px; border-radius: 0 0 50px 0; }
  .section--events { padding: 40px 48px; }
  .section--testimonials { padding: 60px 48px; }
  .section--gallery { padding: 40px 48px; }
  .section--map { padding: 60px 48px; }
  .section--packages { padding: 60px 48px; }
  .section--inclusions { padding: 60px 48px; }
  .section--notes { padding: 60px 48px; }
  .section--cta { padding: 60px 48px; }
  .footer { padding: 0 48px 24px; }

  .hero__content { flex-direction: column; }
  .hero__heading h1 { font-size: 64px; line-height: 64px; }
  .hero__photo { width: 400px; height: 400px; }
  .hero__text { align-items: center; text-align: center; }
  .hero__cta { align-items: center; }
  .hero__stars { align-items: center; }

  .about__content { flex-direction: column; }
  .about__text { max-width: none; }
  .about__image { width: 350px; height: 350px; }

  .menu__content { flex-direction: column; }
  .menu__intro { width: 100%; text-align: center; }
  .menu__cards { gap: 20px; }
  .menu__card { min-width: 260px; }

  .why__grid {
    grid-template-columns: 1fr 1fr;
  }
  .why__card--1 { grid-column: 1; grid-row: 1; }
  .why__card--2 { grid-column: 2; grid-row: 1; }
  .why__card--3 { grid-column: 1; grid-row: 2; }
  .why__card--4 { grid-column: 2; grid-row: 2; }
  .why__card--5 { grid-column: 1 / -1; grid-row: 3; }
  .why__photo { display: none; }
  .why__deco { display: none; }

  .how__steps { flex-direction: column; align-items: center; }
  .how__step { max-width: 500px; }
  .how__step:nth-of-type(2) { flex-direction: column-reverse; }
  .how__line { display: none; }

  .tabs { flex-direction: column; }
  .tabs-menu { width: auto; flex-direction: row; flex-wrap: wrap; }
  .tabs-content { margin-left: 0; margin-top: 24px; }
  .tab-link { width: auto; }

  .choices__body { flex-direction: column; }
  .choices__tabs { flex-direction: row; flex-wrap: wrap; }

  .events__grid { flex-direction: column; align-items: center; }
  .events__card { max-width: 500px; width: 100%; }

  .testimonials__cards { flex-direction: row; }
  .testimonial__card { flex: 0 0 300px; }

  .gallery__grid { flex-wrap: wrap; }
  .gallery__column { min-width: calc(50% - 10px); }

  .packages__cards {
    flex-direction: row;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 20px;
    padding: 24px 24px 16px;
    margin: 0 -24px;
    scrollbar-width: none;
  }
  .packages__cards::-webkit-scrollbar { display: none; }
  .package__card {
    flex: 0 0 80%;
    scroll-snap-align: center;
    max-width: none;
  }
  .packages__custom { flex-direction: column; align-items: stretch; text-align: center; gap: 16px; }
  .package__card { max-width: none; }

  .inclusions__grid { flex-wrap: wrap; justify-content: center; }
  .inclusion__item { min-width: calc(33% - 16px); }

  .map__cards { flex-wrap: wrap; justify-content: center; }
  .map__card { flex: 0 0 calc(33.33% - 16px); }

  .notes__grid { flex-direction: column; }

  .section--faqs { flex-direction: column; }
  .faqs__image { width: calc(100% - 32px); height: 400px; margin: 16px 16px 0; border-radius: 32px 32px 80px 32px; overflow: hidden; align-self: center; }
  .faqs__content { padding: 48px; }

  .cta__text { padding: 40px; }
  .cta__image { width: 350px; height: 350px; top: 20px; }

  .footer__content { flex-direction: column; gap: 12px; text-align: center; }
  .footer__contact { flex-wrap: wrap; justify-content: center; }

  .gallery__social-links { flex-wrap: wrap; justify-content: center; }
}

/* ===== RESPONSIVE - MOBILE ===== */

@media screen and (max-width: 767px) {
  .section { padding: 48px 24px; }
  .section--hero { padding: 48px 24px; border-radius: 0 0 80px 80px; }
  .section--about { padding: 32px 24px; }
  .section--menu { padding: 48px 24px; border-radius: 30px 0 30px 0; }
  .section--why { padding: 48px 24px; }
  .section--how { padding: 48px 24px; border-radius: 30px 0 0 0; }
  .section--choices { padding: 48px 24px; border-radius: 0 0 30px 0; }
  .section--events { padding: 32px 24px; }
  .section--testimonials { padding: 48px 24px; }
  .section--gallery { padding: 32px 24px; }
  .section--map { padding: 48px 24px; }
  .section--packages { padding: 48px 24px; }
  .section--inclusions { padding: 48px 24px; }
  .section--notes { padding: 48px 24px; }
  .section--cta { padding: 48px 24px; }
  .footer { padding: 0 24px 24px; }

  h2 { font-size: var(--font-size--h3); line-height: var(--line-height--h3); }
  .hero__heading h1 { font-size: 52px; line-height: 52px; }
  .hero__photo { width: 300px; height: 300px; }
  .hero__elements { display: none; }

  .menu__content { flex-direction: column; align-items: center; }
  .menu__intro { width: 100%; text-align: center; }
  .menu__cards { flex-direction: column; align-items: center; overflow-x: visible; }
  .menu__card { min-width: auto; width: 100%; max-width: 350px; }

  .why__grid {
    display: flex !important;
    flex-direction: column;
    height: auto !important;
    gap: 16px;
  }
  .why__card { position: static !important; width: 100% !important; transform: none !important; }
  .why__photo {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 320px;
    height: auto !important;
    aspect-ratio: 1 / 1;
    margin: 0 auto 16px;
    order: -1;
  }
  .why__deco { display: none !important; }

  .testimonials__cards { flex-direction: column; overflow-x: visible; overflow-y: visible; -webkit-overflow-scrolling: auto; }
  .testimonial__card { flex: none; width: 100%; }

  .notes__deco { display: none; }

  .tab-content { justify-content: center; }
  .choices__item { width: calc(33.33% - 16px); min-width: auto; padding: 16px 8px; }
  .choices__item-emoji { font-size: 36px; height: 40px; width: 80px; }
  .choices__item p { font-size: 14px; line-height: 20px; }

  .gallery__column { min-width: 100%; }
  .gallery__item { height: 250px; }

  .map__cards { flex-direction: column; }
  .map__card { flex: none; }

  .inclusions__grid { flex-direction: column; align-items: center; }
  .inclusion__item { min-width: auto; width: 100%; max-width: 300px; }

  .faqs__image { height: 300px; }
  .faqs__content { padding: 32px 24px; }

  .cta__container { flex-direction: column; min-height: auto; }
  .cta__text { max-width: none; padding: 32px; }
  .cta__image { position: relative; top: 0; right: 0; width: 100%; max-width: 320px; height: 380px; margin: 0 auto -32px; }
  .cta__image img { object-position: center top; }

  .footer__divider { display: none; }

  .send-us-a-message { width: 50px; }
  .paragraph-16 { display: none; }

  .map__bottom .testimonial-quote { max-width: 100%; padding: 0 8px; }
}

/* ===== RESPONSIVE - SMALL MOBILE ===== */

@media screen and (max-width: 479px) {
  h2 { font-size: 36px; line-height: 42px; }
  h5 { font-size: var(--font-size--h6); line-height: var(--line-height--h6); }
  p { font-size: var(--font-size--subcontent); line-height: var(--line-height--subcontent); }

  .section { padding: 40px 20px; }
  .section--hero { padding: 32px 20px 48px; border-radius: 0 0 48px 48px; }
  .section--menu { border-radius: 24px 0 24px 0; }
  .section--how { border-radius: 24px 0 0 0; }
  .section--choices { border-radius: 0 0 24px 0; }

  .hero__heading h1 { font-size: 42px; line-height: 42px; }
  .hero__photo { width: 250px; height: 250px; }

  .navbar { height: 110px; }
  .navbar__logo { width: 110px; height: 110px; border-radius: 0 0 70px 70px; }

  .about__image { width: 280px; height: 280px; }

  .menu__card { min-width: 260px; }

  .why__photo { max-width: 240px; }

  .btn { font-size: 14px; line-height: 22px; padding: 12px 20px; }
  .btn--tab { width: 100%; }

  .tabs-menu { flex-direction: column; gap: 12px; }

  .choices__item { width: calc(50% - 8px); }

  .testimonial__card { padding: 20px; gap: 24px; }
  .testimonial__card p { font-size: 16px; line-height: 26px; }

  .faqs__image { width: calc(100% - 24px); height: 240px; margin: 12px 12px 0; border-radius: 24px 24px 60px 24px; }
  .faqs__content { padding: 24px 20px; }
  .faq__item summary { font-size: 14px; }

  .cta__text { padding: 24px; }
  .cta__image { max-width: 260px; height: 320px; }

  .footer__contact { flex-direction: column; gap: 6px; }
  .footer__contact .mobile-hide { display: none; }
  .footer__copyright { white-space: normal; text-align: center; }

  .messenger-block { margin-top: 0; }
}

/* ===== ACCESSIBILITY: SKIP LINK ===== */

.skip-link {
  position: absolute;
  top: -200px;
  left: 8px;
  padding: 8px 16px;
  background: var(--primary);
  color: white;
  text-decoration: none;
  border-radius: 4px;
  z-index: 1000;
  font-weight: 600;
  font-size: 14px;
  transition: top 0.15s ease;
}

.skip-link:focus {
  top: 8px;
  outline: 2px solid white;
  outline-offset: 2px;
}

/* ===== STAR ICONS (SVG SPRITE) ===== */

.stars .star-icon,
.testimonial__card-stars .star-icon {
  width: 32px;
  height: 32px;
  display: block;
  flex-shrink: 0;
}

/* ===== PACKAGE BADGES ===== */

.package__card {
  position: relative;
}

.package__badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(21, 21, 21, 0.18);
}

.package__badge--popular {
  background: var(--bg--secondary);
  color: var(--primary);
}

.package__badge--recommended {
  background: var(--secondary);
  color: var(--bg--secondary);
}

.package__badge--value {
  background: var(--alt);
  color: var(--bg--secondary);
}

/* ===== BACK TO TOP ===== */

.back-to-top {
  position: fixed;
  right: 24px;
  bottom: 88px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: var(--secondary);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 20px rgba(21, 21, 21, 0.25);
  z-index: 14;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, background 0.15s ease;
  padding: 0;
}

.back-to-top[hidden] {
  display: none;
}

.back-to-top.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.back-to-top:hover {
  background: var(--primary);
}

.back-to-top svg {
  width: 20px;
  height: 20px;
}

/* ===== TESTIMONIALS PAGINATION DOTS ===== */

.testimonials__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
  position: relative;
  z-index: 2;
}

.testimonials__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.testimonials__dot.is-active {
  background: white;
  transform: scale(1.3);
}

/* ===== FOCUS RINGS ===== */

a:focus-visible,
button:focus-visible,
summary:focus-visible,
.btn:focus-visible {
  outline: 2px solid var(--secondary);
  outline-offset: 3px;
  border-radius: 4px;
}

@media screen and (max-width: 767px) {
  .package__badge { top: -12px; font-size: 11px; padding: 5px 12px; }
  .back-to-top { right: 16px; bottom: 80px; width: 40px; height: 40px; }
}

/* ===== UTILITY SPACING (extracted from inline styles) ===== */

.mt-32 { margin-top: 32px; }
.mt-40 { margin-top: 40px; }
.mt-50 { margin-top: 50px; }

.gallery__item--h300 { height: 300px; }
.gallery__item--h400 { height: 400px; }
.gallery__item--h500 { height: 500px; }
.gallery__item--h600 { height: 600px; }

.testimonial-quote--narrow { max-width: 550px; }

/* ===== HEADING HIERARCHY (h3.card-title preserves former h6 sizing) ===== */

.card-title {
  font-size: var(--font-size--h6);
  line-height: var(--line-height--h6);
  letter-spacing: -0.36px;
  font-weight: 700;
  margin: 0;
}

/* ===== RESPONSIVE - WIDE SCREENS (iMac 24" and larger) ===== */
/* Sections are capped at 1440px, so on viewports wider than that the
   coloured/image backgrounds stop short and leave gutters on each side.
   On wide screens, let the coloured sections span the full viewport while
   keeping their content centred at the same 1144px width used elsewhere. */

@media screen and (min-width: 1441px) {
  .section--hero,
  .section--menu,
  .section--how,
  .section--choices,
  .section--testimonials,
  .section--map,
  .section--packages {
    max-width: none;
    padding-left: calc((100% - 1144px) / 2);
    padding-right: calc((100% - 1144px) / 2);
  }
}
