@charset "UTF-8";

:root {
  --default-font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu,
    "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB",
    "Microsoft Yahei UI", "Microsoft Yahei", "Source Han Sans CN", sans-serif;
  --ff-heading: "sigurd", var(--default-font-family);
  --ff-body: "gira-sans", var(--default-font-family);
  --fw-heading-light: 300;
  --fw-heading-regular: 400;
  --fw-body-book: 400;
  --fw-body-regular: 500;
  --fw-body-medium: 600;
  --fw-body-bold: 700;
  --fs-italic: italic;
  /* Colors */
  --white: #fff;
  --black: #000;
  /* Text colors */
  --text-primary: #26221f;
  --text-primary-hover: #cc983f;
  --text-white: #fff;
  --text-beige-200: #e7d1ab;
  --text-cream-100: #f8f1e3;
  --text-olive-500: #6a715b;
  /* Background colors */
  --bg-primary: #f7f4ef;
  --bg-white: #fff;
  --bg-beige-200: #e8d2ab;
  --bg-accent-500: #cb983f;
  --bg-green-500: #74826b;
  --bg-brown-900: #362f27;
  --bg-neutral-200: #e0e1d1;
  /* Border colors */
  --border-neutral-500: #8c847e;
  --border-green-200: #bbcab1;
  --border-beige-200: #e8d2ac;
  --border-brown-500: #6f665b;
  --border-deep-900: #191919;
  /* Radius */
  --radius: clamp(1.25rem, calc(1.125rem + 0.625vw), 1.875rem); /* 30px */
  --radius-24: calc(var(--radius) * 0.8);
  --radius-20: calc(var(--radius) * 0.67);
  --radius-12: calc(var(--radius) * 0.4);
  /* Z-index */
  --z-index-behind: -2;
  --z-index-default: 0;
  --z-index-above: 2;
  --z-index-dropdown: 100;
  --z-index-modal: 1000;
}

html {
  font-size: 100%; /* 16px */
}
body {
  font-family: var(--ff-body);
  font-size: clamp(1rem, calc(0.975rem + 0.125vw), 1.125rem); /* 18px */
  font-weight: var(--fw-body-book);
  color: var(--text-primary);
  font-kerning: normal;
  font-optical-sizing: auto;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  background-color: var(--bg-primary);
}
:is(h1, h2, h3, h4, h5, h6) {
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
  padding: 0;
}
a:where(:link, :visited) {
  color: inherit;
  transition:
    color 0.2s ease-in-out,
    border-block-end-color 0.2s ease-in-out;
  text-decoration: none;
  border-block-end: solid 0.0625rem;
}
a:hover {
  color: var(--text-primary-hover);
  border-block-end-color: transparent;
}
:is(a, button, [role="button"]):focus-visible {
  outline: 0.111rem dashed var(--text-primary-hover);
  outline-offset: 0.222rem;
}
a.cta-link {
  --cta-bg: var(--bg-accent-500);
  --cta-hover-bg: var(--bg-white);
  --cta-color: var(--text-white);
  --cta-hover-color: var(--text-primary);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-block-size: clamp(3.25rem, 4vw, 4.5rem);
  padding-block: clamp(0.875rem, 1.2vw, 1.25rem);
  padding-inline: clamp(1.75rem, 2.5vw, 3rem);
  overflow: hidden;
  border: 0;
  border-radius: 100rem;
  background-color: var(--cta-bg);
  color: var(--cta-color);
  font-size: inherit;
  font-weight: var(--fw-body-regular);
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: color 260ms ease;
}
a.cta-link::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-color: var(--cta-hover-bg);
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: center;
  transform-origin: center;
  transition:
    opacity 260ms ease,
    -webkit-transform 260ms ease,
    transform 260ms ease;
}
a.cta-link > span {
  position: relative;
  z-index: 1;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
a.cta-link:is(:hover, :focus-visible) {
  color: var(--cta-hover-color);
  text-decoration: none;
  border-block-end-color: transparent;
}
a.cta-link:is(:hover, :focus-visible)::before {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
a.cta-link:focus-visible {
  outline: 0.125rem dashed currentColor;
  outline-offset: 0.25rem;
}
a.cta-link__brand {
  --cta-bg: var(--bg-accent-500);
  --cta-hover-bg: var(--bg-white);
  --cta-color: var(--text-white);
  --cta-hover-color: var(--text-primary);
}
a.cta-link__brand-deep {
  --cta-bg: var(--bg-accent-500);
  --cta-hover-bg: var(--bg-brown-900);
  --cta-color: var(--text-white);
  --cta-hover-color: var(--text-white);
}
a.cta-link__deep {
  --cta-bg: var(--bg-brown-900);
  --cta-hover-bg: var(--bg-white);
  --cta-color: var(--text-white);
  --cta-hover-color: var(--text-primary);
}
a.cta-link__beige {
  --cta-bg: var(--bg-beige-200);
  --cta-hover-bg: var(--bg-white);
  --cta-color: var(--text-primary);
  --cta-hover-color: var(--text-primary);
}
p {
  color: inherit;
  text-wrap: pretty;
  line-height: 1.6;
}
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* Base-styles ............................. */

.content {
  position: relative;
  inline-size: 100%;
  overflow-x: clip;
}
@media screen and (min-width: 1921px) {
  .container-fluid-custom {
    max-inline-size: 102.5rem;
    padding-inline: 0;
  }
}
@media screen and (min-width: 992px) and (max-width: 1920px) {
  .container-fluid-custom {
    padding-inline: max(1rem, 5.2%);
    max-inline-size: none;
  }
}
@media screen and (max-width: 991px) {
  .container-fluid-custom {
    padding-inline: 1rem;
    max-inline-size: none;
  }
}
a.skip-link {
  position: absolute;
  inset-block-start: -3.333rem;
  inset-inline-start: 50%;
  background: var(--text-primary-hover);
  color: var(--white);
  padding: 0.5rem 1rem;
  z-index: 1000;
  border-radius: var(--radius);
  text-decoration: none;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: inset-block-start 0.3s;
}
a.skip-link:focus {
  inset-block-start: 1.667rem;
}
.section-py {
  padding-block: clamp(3.75rem, calc(2.875rem + 4.375vw), 8.125rem);
}
.section-bg__deep {
  background-color: var(--bg-brown-900);
}

.section-heading {
  --heading-color: var(--text-primary);
  --heading-accent: var(--text-olive-500);
  --heading-label: var(--text-olive-500);
  --heading-icon-filter: invert(90%) sepia(14%) saturate(4215%)
    hue-rotate(328deg) brightness(87%) contrast(82%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1rem, calc(0.9rem + 0.5vw), 1.5rem);
}
.section-heading--center {
  align-items: center;
  text-align: center;
}
.section-heading--light {
  --heading-color: var(--text-cream-100);
  --heading-accent: var(--text-beige-200);
  --heading-label: var(--text-beige-200);
  --heading-icon-filter: invert(88%) sepia(18%) saturate(457%)
    hue-rotate(353deg) brightness(96%) contrast(88%);
}
.section-heading__label {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.375rem, 0.5vw, 0.625rem);
  margin: 0;
  color: var(--heading-label);
  font-size: 0.94rem;
  line-height: 1.2;
}
.section-heading__label::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  inline-size: clamp(1.375rem, 1.6vw, 1.875rem);
  aspect-ratio: 1;
  background: url("../images/brand-icon.svg") center / contain no-repeat;
  filter: var(--heading-icon-filter);
}
.title-box {
  position: relative;
  color: var(--heading-color);
}
.title-box > * {
  position: relative;
  margin: 0;
  font-family: var(--ff-heading);
  line-height: 1.2;
  text-wrap: balance;
}
.title-box :is(h1, h2) {
  font-size: clamp(2.25rem, calc(1.95rem + 1.5vw), 3.75rem);
}
.title-box small {
  font-size: inherit;
  font-style: var(--fs-italic);
  font-weight: inherit;
  color: var(--heading-accent);
}

/* Wave Shell */

.wave-shell {
  --wave-cutout-color: var(--bg-primary);
  --wave-content-space: clamp(4rem, 7.5vw, 9rem);
  --wave-top-height: 0rem;
  --wave-bottom-height: 0rem;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.wave-shell--top::before,
.wave-shell--bottom::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset-inline: 0;
  inline-size: 100%;
  background-color: var(--wave-cutout-color);
  pointer-events: none;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}
.wave-shell--top::before {
  inset-block-start: 0;
  block-size: var(--wave-top-height);

  -webkit-mask-image: var(--wave-top-mask);
  mask-image: var(--wave-top-mask);
}
.wave-shell--bottom::after {
  inset-block-end: 0;
  block-size: var(--wave-bottom-height);
  -webkit-mask-image: var(--wave-bottom-mask);
  mask-image: var(--wave-bottom-mask);
}
.wave-shell__content {
  position: relative;
  z-index: 1;
  padding-block: var(--wave-content-space);
}
.wave-shell--top .wave-shell__content {
  padding-block-start: max(
    var(--wave-content-space),
    calc(var(--wave-top-height) + 1.5rem)
  );
}
.wave-shell--bottom .wave-shell__content {
  padding-block-end: max(
    var(--wave-content-space),
    calc(var(--wave-bottom-height) + 1.5rem)
  );
}
/* Data URI prevents Chrome from blocking local mask files under file://. */
.wave-shell--bottom-01 {
  --wave-bottom-mask: url("data:image/png;base64,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");
  --wave-bottom-height: clamp(1.5rem, 7.03125vw, 9rem);
}
.wave-shell--top-02 {
  --wave-top-mask: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACgAAAACOBAMAAAAPsEwNAAAALVBMVEUAAAD///////////////////////////////////////////////////////+hSKubAAAADnRSTlMA2ZEwpu5Xa8gbt0R9DFX3E3wAAAdqSURBVHja7NytaxthHMDxsxEnIgqhYuIIDEpcoBCOmSNihJmIwNRM4SJSVZETiwl0EKIGp45SsRJRagM3RlwYi4koVJ2IiDibv2HPUcY2aNOXJJfn5fuRJbZfnuf3uzvrzQoAjLQkgABMRQChrFarVSwWB8LNH/V/3P9lIIhfid+uAAIIxbSKpeFN3XOcyjwIfH8yrtaiy8Xi1nqFxSKJorBancR+O5jPHccRnbwe9IvU0VAEEJJpFYcjz6nMAn9SrV0urJzYSVR1Yz/oTR1HRLF/8GkF/RFA7F/aHIy8yqzbGdcWljTsJMyKOHfKDXqoKwKIfWmVhqJ6vlTRW8OOqhM/mDp1aqgRAoicpaWRN+9OareWwhZRNW73shgyPVQaAURORPgqQad2aWnGTmihugggdq059GbdsXbhe4AduXFvWiaF6iCA2JmsfB21r7qvZYeun50KmRZKjgAis/3brhlnvqclbtxzGtcHK8iIAIJDXx7syPVFCbkdy4UAgkNfrgqhmBM2+hwJpUAAsXH6OPS9hh3GwbQxIIQvQgAhjfv0Wdg0hNnVmG3JsxBASID0bV/ktqd1liVPIIB4GdKnlmxEWKaDjyGA2JO0dEX6cmPTwQcRQOSveV7psuZ4BjqoGgKIddKh1x1/tbBfBTEfZE+SIYDIR1oaceOVDMfBFQHEzmU33h/ceGVVcP0zjoMEEDsgFh0nvM6hhOw4+I0MEkBsRXoopn0c+1Rzd8ytmABi0ysv0z6lJWJJQgYJILjyGkxksHzN/zMBBFdecyXHzAYJINa27wPPNWsuW5GwKSaA+F86rHQZ95nCDr9P3zMaJIAQlqw6zFRwT7kTE0CTZWvedxZMFsZnjS8rEECzNM/f0j78faeYwyABNMSScx8ewmSQAGpO7Do+M+/DGkncO+qvjEcAdSOecWHPi+ex3bbhD8sQQI2khx5fccFL2Rftn8YOBgmgJkreL97rwEaDQRNfoyOA6muOZny0GdsQxqatRwig0lIWvdi2O5MqSABVxbIDO5RV0IQ0EEAVfbxi4Ifdu4u1nwsSQMWINztOGPghP2I7ovGOmACqQ1x6eboZ+2Bf6Pq8IAFUQ5NLL/bMdk+PtPucAgGUXjqsdPhqPeRQOD5r6LQiJoBSK4lXOyxALtlyRJMLMQGU1ZJtB36zd7c4aoRxAIdFFWLkJmQFatUcAINDITDrUGsxqNquISmmFolreoYl9dxgTlCB5Qwd0oS27MJCFpj343kO8cu8//djAlYsJg8JLIgFMETtvt0OIlAviCM/LSiAgfHhR2Tmy4jfUhDAgLT77nYQpaL3HOfeiACGwYcf0asi/BQUwOb58CMZsX0KCmCj1j78SE9En4IC2JjRd2f8SFbRi2KDWACbsL53uYMMzMehnxUUwFur3292q5d8tF5Cfk1GAG+pPfzi/Wbys90aCTM0AniY7Q645Ho4wMdkBPAG6gecbXfAn/3hTUgE8MrurXph/wJxMENBAfyXVS+8LdGhoABex6NVLxw3n5SNXxoRwMtr96164STVuScFBTBk629WvXD2zsh0cyIBDNbjD/8tgriOSwvgRYw86AIf1OqeEEEBDMz2Xq9VL1xE0f189H9LAhiSX1/d64ULK44cFBTAUFj1wtUUvQMRFMDmre+HXrOC/0UZQQF0vQOCtR9BAWxQfdDlp5Ef3FY9E/y7OyyAJzLyg2TsIiiAJ3LQBZKyPScogO8z8oNEtV5WUwE8xosukLRPy4eZAL5i5Ae5qMblnQDuGPlBbuaTsiOAGyM/yNXiefAkgEZ+kKvtCRkB/PDIzyPOEKt6c3gmgEZ+kK2q3hwWwLNHfu62QSrmk0FHAI38IFdFr740J4BHjfy3DdK1HQkKoJEfZKsalx0B3B/5ecEesrGYDJ4E0MgPclV0V9PcA2jkBxmrlmUn0wAa+QH1arh+Wj+zABr5ATut7mqWSwCN/IBXqknZST2A7aGRH3D4pHSqAfScFfCu1rK8Sy2AVr2/27tDpIaBKADDOUYGsRZTh6qNxtThkfHlAqjeAcP0BihO0HNU5B5kUAWmNAkNk337fYf4573dTQuMeiQYJYA3tl5g/P/MZR9AWy8wVdYBtPUCRQbQ1guUGEBbL1BkAB9svUCBAexsvUCJATzaeoGqwADWzXZdAVRlBdDgB5woJ4D9iZ/BDzhVRAA3+8ObwQ/4LnoAO4MfcE7kAPaDn59wBs4LGkBv/IDLAgbQ4AcMEyuABj9ghDgB7L/qNfgBY4QIYP++uX2pAMbJPYCeuQDL8Y8BrJvtu6UXWI5fAujbDiC22QO46Q/83PQCSzRnAI/PK+0DlmumAHa7VeuyA1i2NEf7XPQCOUjXbd+9X28GspHMfUCp0jXueZ33ATlKf3zf540LkK2pAezqxttmIG9p0sq7XfumDcheGjf2vR4e/Y4LEMTQAG52xj4gmDTktM/YB0SULmy8HrgAYaUz6dvfSh8Q3I8A1vtV67APKEH6svBKH1CQ9HnD2zjrA8rz1N75ngMAAAAAAAAgig+0Ii8KeJalzAAAAABJRU5ErkJggg==");
  --wave-top-height: clamp(1.125rem, 5.5176vw, 7.0625rem);
}
.wave-shell--bottom-02 {
  --wave-bottom-mask: url("data:image/png;base64,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");
  --wave-bottom-height: clamp(1.5rem, 7.03125vw, 9rem);
}
.wave-shell--top-03 {
  --wave-top-mask: url("data:image/png;base64,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");
  --wave-top-height: clamp(1.5rem, 7.8125vw, 10rem);
}

/* Radius */

.radius-default {
  border-radius: var(--radius);
}

/* Animate */

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2.5rem, 0);
    transform: translate3d(0, 2.5rem, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2.5rem, 0);
    transform: translate3d(0, 2.5rem, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes fadeInLeftSmooth {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2.5rem, 0, 0);
    transform: translate3d(-2.5rem, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftSmooth {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2.5rem, 0, 0);
    transform: translate3d(-2.5rem, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftSmooth {
  -webkit-animation-name: fadeInLeftSmooth;
  animation-name: fadeInLeftSmooth;
  -webkit-animation-duration: 1.1s;
  animation-duration: 1.1s;
  -webkit-animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes fadeInRightSmooth {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2.5rem, 0, 0);
    transform: translate3d(2.5rem, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightSmooth {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2.5rem, 0, 0);
    transform: translate3d(2.5rem, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRightSmooth {
  -webkit-animation-name: fadeInRightSmooth;
  animation-name: fadeInRightSmooth;
  -webkit-animation-duration: 1.1s;
  animation-duration: 1.1s;
  -webkit-animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/* Topbar */
.topbar {
  position: relative;
  z-index: 3;
  background: var(--bg-beige-200);
  color: var(--text-primary);
  font-size: clamp(0.875rem, calc(0.85rem + 0.125vw), 1rem);
  font-weight: var(--fw-body-medium);
  line-height: 1.5;
}
.topbar__inner {
  min-inline-size: 0;
}
.topbar__message {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: var(--bg-accent-500) transparent;
  scroll-behavior: smooth;
}
.topbar__message:focus-visible {
  outline: 0.125rem dashed var(--text-primary);
  outline-offset: -0.2rem;
}
.topbar__list {
  display: flex;
  inline-size: max-content;
  gap: 0;
  min-inline-size: 100%;
  align-items: center;
  justify-content: center;
}
.topbar__list li {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  white-space: nowrap;
  padding-block: clamp(0.375rem, calc(0.325rem + 0.25vw), 0.625rem);
}
.topbar__list li:not(:last-child)::after {
  content: "|";
  display: inline-block;
  margin-inline: 1.25rem;
  color: var(--border-brown-500);
}
.topbar__list i {
  color: var(--text-primary);
}

/* Header */
.hero-shell {
  position: relative;
}
.header {
  position: absolute;
  inset-block-start: clamp(0.75rem, 1.5vw, 2rem);
  inset-inline: 0;
  z-index: 150;
  inline-size: 100%;
  transition:
    inset-block-start 0.25s ease,
    padding 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}
.header.scroll {
  position: fixed;
  inset-block-start: 0;
  padding-block: 0.4rem;
  background: rgba(247, 244, 239, 0.94);
  -webkit-backdrop-filter: blur(0.9rem);
  backdrop-filter: blur(0.9rem);
  box-shadow: 0 0.5rem 2rem rgba(28, 23, 18, 0.1);
}
.header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(2rem, 6.5vw, 8rem);
  min-block-size: 7rem;
  padding: clamp(0.65rem, 1.15vw, 1.25rem) clamp(1rem, 1.5vw, 1.75rem);
  border-radius: var(--radius-12);
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(0.9rem);
  backdrop-filter: blur(0.9rem);
  box-shadow: 0 0.5rem 2.5rem rgba(28, 23, 18, 0.06);
}
.header.scroll .header-bar {
  border-radius: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
}
.main-logo {
  display: block;
  flex: 0 1 18.75rem;
  min-inline-size: 9rem;
  border: 0 !important;
}
.main-logo img {
  display: block;
  inline-size: 100%;
  max-inline-size: 18.75rem;
  block-size: auto;
}
.header-bar__right {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-inline-size: 0;
  gap: clamp(0.75rem, 1.25vw, 1.25rem);
  align-items: flex-end;
}
.header-bar__top,
.header-bar__contacts {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.25rem 1.1rem;
}
.header-bar__top {
  inline-size: 100%;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding-block-end: clamp(0.55rem, 0.75vw, 0.875rem);
  border-block-end: 0.0625rem solid var(--border-neutral-500);
  font-size: clamp(0.75rem, 0.82vw, 1rem);
  line-height: 1.4;
}
.header-bar__contacts {
  flex-wrap: nowrap;
  gap: 0.4rem;
}
.header-bar__top p {
  margin: 0;
  white-space: nowrap;
}
.header-bar__top a {
  border: 0;
}
.header-bar__contacts a:first-child::after {
  content: "|";
  position: relative;
  inset-inline-start: 0.55rem;
  color: var(--border-brown-500);
}
.header-bar__facebook {
  color: var(--text-primary);
}
.header-bar__facebook::before {
  content: "|";
  margin-inline-end: 0.7rem;
  color: var(--border-brown-500);
}
.mainNavigation > ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(0.6rem, 1.1vw, 1.5rem);
}
.mainNavigation__item {
  position: relative;
}
.mainNavigation .mainNavigation__link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0;
  border: 0;
  background: linear-gradient(var(--text-primary), var(--text-primary)) left
    bottom / 0 0.125rem no-repeat;
  color: var(--text-primary);
  font: inherit;
  font-size: clamp(0.8rem, 0.94vw, 1.125rem);
  font-weight: var(--fw-body-medium);
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: background-size 0.2s ease;
}
.mainNavigation .mainNavigation__link:is(:hover, :focus-visible),
.mainNavigation .dropdown.show > .dropdown-toggle {
  color: var(--text-primary);
  background-size: 100% 0.125rem;
}
.mainNavigation .dropdown-toggle::after {
  display: none;
}
.mainNavigation .dropdown-toggle i,
.offcanvas-menu .dropdown-toggle i {
  display: inline-block;
  transition:
    -webkit-transform 0.2s ease,
    transform 0.2s ease;
}
.mainNavigation .dropdown.show > .dropdown-toggle i,
.offcanvas-menu .has-dropdown.open .dropdown-toggle i {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.mainNavigation .dropdown-menu {
  display: block;
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: -0.85rem;
  min-inline-size: 15rem;
  margin: 0;
  padding: 0.55rem;
  background: var(--bg-primary);
  border: 0.0625rem solid var(--border-beige-200);
  border-radius: var(--radius-12);
  box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.11);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transform: translateY(0.6rem);
  transform: translateY(0.6rem);
  transition:
    opacity 0.23s ease,
    visibility 0.23s ease,
    -webkit-transform 0.23s ease,
    transform 0.23s ease;
}
.mainNavigation .dropdown-menu.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.mainNavigation .dropdown-menu li {
  display: block;
}
.mainNavigation .dropdown-menu a:where(:link, :visited) {
  border: 0;
  display: block;
  padding: 0.55rem 0.65rem;
  color: var(--text-primary);
  font-size: 0.875rem;
  white-space: normal;
  border-radius: 0.5rem;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    -webkit-transform 0.2s ease,
    transform 0.2s ease;
}
.mainNavigation a.dropdown-item:is(:hover, :focus-visible) {
  background: var(--bg-beige-200);
  color: var(--text-primary);
  text-decoration: none;
  -webkit-transform: translateX(0.2rem);
  transform: translateX(0.2rem);
}
.navtoggler,
.offcanvas-close {
  display: none;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  cursor: pointer;
}
.offcanvas-backdrop {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}
.offcanvas-menu {
  position: fixed;
  z-index: 201;
  inset-block: 0;
  inset-inline-end: 0;
  inline-size: min(26rem, 90vw);
  padding: 4.25rem 1.5rem 2rem;
  background: var(--bg-primary);
  overflow-y: auto;
  overscroll-behavior: contain;
  visibility: hidden;
  -webkit-transform: translateX(105%);
  transform: translateX(105%);
  transition:
    -webkit-transform 0.42s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 0.42s cubic-bezier(0.22, 0.61, 0.36, 1),
    visibility 0.42s ease;
}
.offcanvas-menu.active {
  visibility: visible;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.offcanvas-open {
  overflow: hidden;
}
.offcanvas-open .offcanvas-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.offcanvas-close {
  display: flex;
  position: absolute;
  inset-block-start: 1rem;
  inset-inline-end: 1.25rem;
  align-items: center;
  justify-content: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  font-size: 1.8rem;
  border-radius: 50%;
}
.offcanvas-close:is(:hover, :focus-visible) {
  color: var(--text-primary-hover);
}
.offcanvas-menu__nav > li {
  border-block-end: 0.0625rem solid var(--border-beige-200);
  opacity: 0;
  -webkit-transform: translateX(1rem);
  transform: translateX(1rem);
  transition:
    opacity 0.32s ease,
    -webkit-transform 0.32s ease,
    transform 0.32s ease;
}
.offcanvas-menu.active .offcanvas-menu__nav > li {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.offcanvas-menu.active .offcanvas-menu__nav > li:nth-child(1) {
  transition-delay: 0.07s;
}
.offcanvas-menu.active .offcanvas-menu__nav > li:nth-child(2) {
  transition-delay: 0.1s;
}
.offcanvas-menu.active .offcanvas-menu__nav > li:nth-child(3) {
  transition-delay: 0.13s;
}
.offcanvas-menu.active .offcanvas-menu__nav > li:nth-child(4) {
  transition-delay: 0.16s;
}
.offcanvas-menu.active .offcanvas-menu__nav > li:nth-child(5) {
  transition-delay: 0.19s;
}
.offcanvas-menu.active .offcanvas-menu__nav > li:nth-child(6) {
  transition-delay: 0.22s;
}
.offcanvas-menu.active .offcanvas-menu__nav > li:nth-child(7) {
  transition-delay: 0.25s;
}
.offcanvas-menu__nav > li > a,
.offcanvas-menu__nav > li > span,
.offcanvas-menu__nav > li > button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  inline-size: 100%;
  padding-block: 0.95rem;
  border: 0;
  background: none;
  color: inherit;
  text-align: start;
  font: inherit;
  font-weight: var(--fw-body-medium);
  cursor: pointer;
  transition:
    color 0.2s ease,
    -webkit-transform 0.25s ease,
    transform 0.25s ease;
}
.offcanvas-menu__nav :is(a, button):is(:hover, :focus-visible) {
  color: var(--text-primary-hover);
  -webkit-transform: translateX(0.25rem);
  transform: translateX(0.25rem);
}
.offcanvas-menu__nav .dropdown-toggle::after {
  display: none;
}
.offcanvas-menu__nav .dropdown {
  display: block;
  max-block-size: 0;
  padding-inline-start: 1.25rem;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-0.5rem);
  transform: translateY(-0.5rem);
  transition:
    max-block-size 0.36s ease,
    opacity 0.28s ease,
    visibility 0.36s ease,
    -webkit-transform 0.36s ease,
    transform 0.36s ease;
}
.offcanvas-menu__nav .dropdown.active {
  max-block-size: 38rem;
  padding-block-end: 0.8rem;
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.offcanvas-menu__nav .dropdown a,
.offcanvas-menu__nav .dropdown span {
  display: block;
  padding-block: 0.5rem;
  border: 0;
  font-size: 0.95rem;
  transition:
    color 0.2s ease,
    -webkit-transform 0.25s ease,
    transform 0.25s ease;
}
.offcanvas-menu__nav .dropdown a:is(:hover, :focus-visible) {
  -webkit-transform: translateX(0.25rem);
  transform: translateX(0.25rem);
}
.offcanvas-menu__contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  margin-block-start: 2.25rem;
  font-size: 0.95rem;
}
.offcanvas-menu__contact p {
  margin: 0;
}
.offcanvas-menu__contact a {
  border: 0;
  color: inherit;
  overflow-wrap: anywhere;
  text-decoration: none;
}
.offcanvas-menu__contact a:is(:hover, :focus-visible) {
  color: var(--text-primary-hover);
  border: 0;
  text-decoration: none;
}

/* Hero */
.hero-section {
  position: relative;
  display: flex;
  align-items: center;
  min-block-size: clamp(42rem, 58.125vw, 69.75rem);
  color: var(--text-cream-100);
  background: var(--bg-brown-900);
}
.hero-section__media {
  position: absolute;
  inset: 0;
  display: block;
}
.hero-section__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(42, 34, 25, 0.94),
    rgba(42, 34, 25, 0.78) 30%,
    rgba(42, 34, 25, 0.25) 67%,
    rgba(42, 34, 25, 0.05)
  );
  pointer-events: none;
}
.hero-section__inner {
  position: relative;
  z-index: 2;
  inline-size: 100%;
  padding-block: clamp(11rem, 13vw, 17rem) clamp(7rem, 8vw, 11rem);
}
.hero-section__content {
  max-inline-size: clamp(34rem, 52%, 52rem);
}
.hero-section__label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-block-end: clamp(2rem, 3vw, 3.25rem);
  color: var(--text-beige-200);
  font-size: 0.94rem;
}
.hero-section__label::before {
  content: "";
  flex: 0 0 auto;
  inline-size: 1.65rem;
  aspect-ratio: 1;
  background: url("../images/brand-icon.svg") center / contain no-repeat;
  filter: invert(88%) sepia(18%) saturate(457%) hue-rotate(353deg)
    brightness(96%) contrast(88%);
}
.hero-section__title h1 {
  font-family: var(--ff-heading);
  font-size: clamp(2.75rem, 3.6vw, 5.25rem);
  line-height: 1.08;
  text-wrap: balance;
}
.hero-section__title small {
  color: var(--text-beige-200);
  font-size: inherit;
  font-style: var(--fs-italic);
  font-weight: var(--fw-heading-light);
}
.hero-section__intro {
  max-inline-size: 40rem;
  margin-block: clamp(1.75rem, 2.2vw, 2.75rem) 1.65rem;
  line-height: 1.5;
}
.hero-section__subpage {
  min-block-size: clamp(28rem, 36vw, 43rem);
}
.hero-section__subpage .hero-section__inner {
  padding-block: clamp(9rem, 11vw, 13rem) clamp(5rem, 7vw, 8rem);
}
.hero-section__subpage .hero-section__content {
  max-inline-size: 44rem;
}
.hero-section__subpage h1 {
  margin: 0;
  font-family: var(--ff-heading);
  font-size: clamp(2.5rem, 3.25vw, 4rem);
  font-weight: var(--fw-heading-regular);
  line-height: 1.08;
  text-wrap: balance;
}
.hero-section__subpage .hero-section__content > p {
  max-inline-size: 38rem;
  margin: clamp(1.5rem, 2vw, 2.25rem) 0 0;
  line-height: 1.5;
}

/* Services */
.services-section {
  position: relative;
  z-index: 1;
}
.services-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-inline-start: 50%;
  inset-block-end: -11rem;
  inline-size: 100vw;
  block-size: min(34vw, 40rem);
  background: url("../images/bg-section.png") center bottom / 100% auto
    no-repeat;
  background-image: image-set(
    url("../images/bg-section.webp") type("image/webp"),
    url("../images/bg-section.png") type("image/png")
  );
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  pointer-events: none;
}
.services-section__inner {
  position: relative;
}
.services-section > .container-fluid > .section-heading {
  margin-block-end: clamp(5.5rem, 8vw, 9.5rem);
}
.services-section__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(3rem, 10.4vw, 12.5rem);
  align-items: stretch;
}
.service-card {
  position: relative;
  display: block;
  min-inline-size: 0;
  aspect-ratio: 1.4;
  border: 0 !important;
  border-radius: var(--radius);
  color: var(--text-white);
  isolation: isolate;
}
.service-card picture {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  overflow: hidden;
  border-radius: inherit;
}
.service-card picture img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transition:
    -webkit-transform 0.5s ease,
    transform 0.5s ease,
    filter 0.5s ease;
}
.service-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(0deg, rgba(56, 77, 47, 0.95), transparent 66%);
  pointer-events: none;
}
.service-card__support::after {
  background: linear-gradient(0deg, rgba(50, 39, 29, 0.96), transparent 66%);
}
.service-card__overlay {
  position: absolute;
  z-index: 1;
  inset-inline: 0;
  inset-block-end: 0;
  padding: clamp(1.25rem, 2.7vw, 3.25rem);
  text-align: center;
}
.service-card__overlay h3 {
  font-family: var(--ff-heading);
  font-size: clamp(1.5rem, 2.5vw, 3rem);
}
.service-card__overlay p {
  margin-block: 0.6rem;
  line-height: 1.4;
  font-size: clamp(0.875rem, 1vw, 1rem);
}
.service-card__more {
  font-size: 0.9rem;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}
.service-card__badge {
  position: absolute;
  z-index: 2;
  inset-block-start: 0;
  inset-inline-start: 50%;
  inline-size: clamp(5rem, 8.125vw, 9.75rem);
  aspect-ratio: 1;
  border-radius: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: var(--bg-accent-500);
}
.service-card__support .service-card__badge {
  background: var(--bg-green-500);
}
.service-card__badge img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.service-card:is(:hover, :focus-visible) {
  color: var(--text-white);
}
.service-card:is(:hover, :focus-visible) picture img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
  filter: saturate(1.14);
}
.service-card:focus-visible {
  outline: 0.18rem dashed var(--text-primary-hover);
  outline-offset: 0.45rem;
}
.services-section__connector {
  position: absolute;
  z-index: 3;
  inset-inline-start: 50%;
  inset-block-start: 24%;
  inline-size: clamp(8rem, 15.625vw, 18.75rem);
  block-size: 0.5rem;
  border-radius: 100rem;
  background: var(--bg-accent-500);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  pointer-events: none;
}
.services-section__connector::before {
  content: "";
  position: absolute;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  border: 0.375rem solid var(--bg-accent-500);
  border-radius: 50%;
  background: var(--bg-primary);
  inset-inline-start: 50%;
  inset-block-start: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.services-section__outro {
  max-inline-size: 58rem;
  margin: clamp(2.5rem, 4vw, 4.5rem) auto 0;
  text-align: center;
}

/* Food */
.food-section {
  position: relative;
  z-index: 2;
}
.food-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.18fr);
  gap: clamp(1.5rem, 3vw, 4rem);
  align-items: stretch;
}
.food-section__media {
  position: relative;
  align-self: stretch;
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
  min-block-size: 0;
  border-radius: var(--radius);
  overflow: hidden;
}
.food-section__media picture {
  display: block;
  position: absolute;
  inset: 0;
}
.food-section__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.food-section__body {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  gap: clamp(3.5rem, 5vw, 6rem);
  padding-block-start: clamp(3rem, 5.2vw, 6.25rem);
}
.food-section__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-inline-size: 0;
  gap: 1rem;
  align-items: center;
}
.food-section__top .title-box :is(h1, h2) {
  font-size: clamp(2rem, 3vw, 3.75rem);
}
.food-section__badge {
  inline-size: clamp(5.25rem, 8.125vw, 9.75rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--bg-accent-500);
}
.food-section__badge img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.food-section__bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(1rem, 2vw, 2.5rem);
  flex: 1;
}
.food-section__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.food-section__info p {
  margin-block-end: 2rem;
}
.food-section__info ul {
  margin-block-end: auto;
  padding-block-end: 2rem;
}
.food-section__info li {
  position: relative;
  padding-inline-start: 1.15rem;
  margin-block-end: 0.5rem;
  font-weight: var(--fw-body-medium);
  font-size: 0.94rem;
}
.food-section__info li::before {
  content: "";
  position: absolute;
  inset-block-start: 0.55rem;
  inset-inline-start: 0.1rem;
  inline-size: 0.38rem;
  aspect-ratio: 1;
  background: var(--text-primary);
  border-radius: 50%;
}
.food-section .food-section__cta {
  display: grid;
  grid-template-columns: clamp(4rem, 4.5vw, 5.25rem) minmax(0, 1fr);
  gap: clamp(0.75rem, 1.1vw, 1.25rem);
  align-items: center;
  inline-size: 100%;
  max-inline-size: 28.75rem;
  padding: clamp(1rem, 1.4vw, 1.5rem) clamp(1rem, 1.2vw, 1.25rem);
  border: 0;
  border-radius: var(--radius);
  background: var(--bg-accent-500);
  color: var(--text-white);
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}
.food-section__cta-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  aspect-ratio: 1;
  padding: 0.45rem;
  border-radius: 0.6rem;
  background: var(--bg-white);
  transition:
    background-color 0.2s ease,
    -webkit-transform 0.2s ease,
    transform 0.2s ease;
}
.food-section__cta-icon img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.food-section
  a.food-section__cta:is(:hover, :focus-visible)
  .food-section__cta-icon {
  background: var(--bg-beige-200);
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
}
.food-section__cta span {
  font-size: clamp(1.1rem, 1.25vw, 1.5rem);
  font-weight: var(--fw-body-bold);
  line-height: 1.1;
}
.food-section__cta small {
  display: block;
  margin-block-start: 0.35rem;
  font-size: clamp(0.79rem, 0.85vw, 1rem);
  font-weight: var(--fw-body-book);
  line-height: 1.2;
}
.food-section a.food-section__cta:is(:hover, :focus-visible) {
  background: var(--bg-brown-900);
  color: var(--text-white);
  text-decoration: none;
}
.food-section__detail {
  position: relative;
  min-block-size: 17rem;
  border-radius: var(--radius);
  overflow: hidden;
}
.food-section__detail picture {
  display: block;
  position: absolute;
  inset: 0;
}
.food-section__detail img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

/* About */
.about-section {
  --wave-content-space: clamp(5rem, 8.333vw, 10rem);
  color: var(--text-cream-100);
}
.about-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 8rem);
  align-items: center;
}
.about-section__body > p {
  max-inline-size: 41rem;
  margin-block: 1.75rem 0;
}
.about-section__body > p + p {
  margin-block: 1rem 1.75rem;
}
.about-section__media {
  border-radius: var(--radius);
  overflow: hidden;
}
.about-section__media picture {
  display: block;
}
.about-section__media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 0.9;
  object-fit: cover;
}
.about-section a.cta-link {
  margin-block-start: 0.7rem;
}

/* Activities */
.activities-section {
  padding-block-start: 0;
  padding-block-end: clamp(3.75rem, calc(2.875rem + 4.375vw), 8.125rem);
}
.activities-section__top {
  max-inline-size: 56rem;
  margin-inline: auto;
  text-align: center;
}
.activities-section__top > p {
  margin-block: 1.75rem clamp(2.5rem, 5vw, 5.5rem);
}
.activities-section__panel {
  position: relative;
  isolation: isolate;
  padding-block: clamp(3.75rem, calc(2.875rem + 4.375vw), 8.125rem);
}
.activities-section__panel::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  inline-size: 72%;
  z-index: var(--z-index-behind);
  border-radius: 100rem 0 0 100rem;
  background: var(--bg-green-500);
  pointer-events: none;
}
.activities-section__panel > .activities-section__grid {
  position: relative;
}
.activities-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 6.7vw, 8rem);
  align-items: stretch;
}
.activities-section__media {
  position: relative;
  align-self: center;
  min-block-size: 0;
  margin-block: 0;
  aspect-ratio: 1200 / 1319;
  border-radius: var(--radius);
  overflow: hidden;
}
.activities-section__media picture {
  position: absolute;
  inset: 0;
  display: block;
}
.activities-section__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  display: block;
}
.activities-section__body {
  max-inline-size: 46rem;
  padding-block: clamp(2rem, 3vw, 4rem);
  color: var(--text-white);
}
.activities-section__list {
  color: var(--text-cream-100);
}
.activities-section__list li {
  padding-block: clamp(1rem, 1.7vw, 2rem);
  border-block-end: 0.0625rem solid rgba(255, 255, 255, 0.45);
}
.activities-section__list li:last-child {
  border: 0;
}
.activities-section__list h3 {
  font-size: clamp(1.125rem, calc(1.025rem + 0.5vw), 1.625rem);
  font-weight: var(--fw-body-medium);
}
.activities-section__list p {
  margin-block: 0.35rem 0;
  line-height: 1.45;
}
.activities-section a.cta-link {
  margin-block-start: 2rem;
}

/* News */
.news-section__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.85fr);
  gap: clamp(1.5rem, 4vw, 5rem);
}
.news-section__intro {
  padding-block-start: 3.5rem;
}
.news-section__intro p {
  margin-block: 1.65rem;
}
.news-section__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.56vw, 1.875rem);
  align-items: stretch;
}
.news-card {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  border-radius: var(--radius-20);
  background: var(--bg-neutral-200);
  overflow: hidden;
}
.news-card__beige {
  background: var(--bg-beige-200);
}
.news-card__media {
  padding: clamp(0.75rem, 1.05vw, 1.25rem);
  padding-block-end: 0;
}
.news-card picture {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-20);
}
.news-card picture img {
  display: block;
  inline-size: 100%;
  aspect-ratio: 1.2;
  block-size: auto;
  object-fit: cover;
}
.news-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1rem, 1.5vw, 1.75rem);
}
.news-card h3 {
  font-size: clamp(1.1rem, 1.1vw, 1.25rem);
  font-weight: var(--fw-body-bold);
  line-height: 1.3;
  text-transform: uppercase;
}
.news-card p {
  margin-block: 1.1rem 2rem;
  line-height: 1.48;
}
.news-card a.news-card__link {
  align-self: flex-start;
  margin-block-start: auto;
  border: 0;
  color: var(--text-primary);
  font-size: 1rem;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  transition:
    color 0.2s ease,
    text-decoration-color 0.2s ease;
}
.news-card a.news-card__link:is(:hover, :focus-visible) {
  color: var(--text-primary-hover);
  text-decoration-color: currentColor;
}

/* Gallery */
.gallery-section {
  padding-block-start: clamp(3rem, 5vw, 6rem);
}
.gallery-section .section-heading {
  margin-block-end: clamp(2.5rem, 4vw, 5rem);
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(20, minmax(0, 1fr));
  block-size: clamp(39rem, 58vw, 65rem);
  gap: clamp(0.5rem, 0.9375vw, 1.125rem);
}
.gallery-grid__item {
  display: block;
  position: relative;
  overflow: hidden;
  min-inline-size: 0;
  min-block-size: 0;
  border: 0 !important;
  border-radius: var(--radius-12);
}
.gallery-grid__item:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / span 12;
}
.gallery-grid__item:nth-child(2) {
  grid-column: 2;
  grid-row: 1 / span 10;
}
.gallery-grid__item:nth-child(3) {
  grid-column: 3;
  grid-row: 1 / span 12;
}
.gallery-grid__item:nth-child(4) {
  grid-column: 1;
  grid-row: 13 / span 8;
}
.gallery-grid__item:nth-child(5) {
  grid-column: 2;
  grid-row: 11 / span 10;
}
.gallery-grid__item:nth-child(6) {
  grid-column: 3;
  grid-row: 13 / span 8;
}
.gallery-grid__item picture {
  display: block;
  block-size: 100%;
  inline-size: 100%;
}
.gallery-grid__item img {
  display: block;
  block-size: 100%;
  inline-size: 100%;
  object-fit: cover;
  transition:
    -webkit-transform 0.45s ease,
    transform 0.45s ease,
    filter 0.45s ease;
}
.gallery-grid__item:is(:hover, :focus-visible) img {
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
  filter: saturate(1.12);
}
.gallery-grid__item:focus-visible {
  outline: 0.18rem dashed var(--text-primary-hover);
  outline-offset: 0.25rem;
}
.gallery-section__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-block-start: clamp(2rem, 3vw, 3.5rem);
}
.gallery-section__bottom p {
  max-inline-size: 40rem;
  margin: 0;
}

/* Education */
.education-section {
  padding-block-start: clamp(3rem, 5vw, 6rem);
  padding-block-end: clamp(3rem, 5vw, 6rem);
}
.education-section__top {
  max-inline-size: 56rem;
  margin-inline: auto;
  text-align: center;
}
.education-section__top > p {
  margin-block: 1.75rem clamp(2.5rem, 5vw, 5.5rem);
}
.education-section__panel {
  position: relative;
  isolation: isolate;
  padding-block: clamp(3.75rem, calc(2.875rem + 4.375vw), 8.125rem);
}
.education-section__panel::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 72%;
  z-index: var(--z-index-behind);
  border-radius: 0 100rem 100rem 0;
  background: var(--bg-accent-500);
  pointer-events: none;
}
.education-section__panel > .education-section__grid {
  position: relative;
}
.education-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: clamp(2rem, 6.7vw, 8rem);
  align-items: stretch;
}
.education-section__body {
  max-inline-size: 46rem;
  padding-block: clamp(2rem, 3vw, 4rem);
  color: var(--text-white);
}
.education-section__list {
  color: var(--text-cream-100);
}
.education-section__list li {
  padding-block: clamp(1.25rem, 1.9vw, 2.25rem);
  border-block-end: 0.0625rem solid rgba(255, 255, 255, 0.5);
}
.education-section__list li:last-child {
  border: 0;
}
.education-section__list h3 {
  font-size: clamp(1.125rem, calc(1.025rem + 0.5vw), 1.625rem);
  font-weight: var(--fw-body-medium);
}
.education-section__list p {
  max-inline-size: 40rem;
  margin-block: 0.35rem 0;
  line-height: 1.45;
}
.education-section__actions {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: clamp(0.4rem, 0.52vw, 0.625rem);
  margin-block-start: clamp(2.5rem, 3.2vw, 4rem);
}
.education-section__media {
  position: relative;
  align-self: center;
  min-block-size: 0;
  margin-block: 0;
  aspect-ratio: 1200 / 1319;
  border-radius: var(--radius);
  overflow: hidden;
}
.education-section__media picture {
  position: absolute;
  inset: 0;
  display: block;
}
.education-section__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

/* Footer */
.footer-section {
  --footer-grid-gap: clamp(3rem, 5vw, 6rem);
  --wave-content-space: clamp(3rem, 3.33vw, 4rem);
  color: var(--text-cream-100);
}
.footer-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr);
  gap: var(--footer-grid-gap);
  align-items: start;
}
.footer-section__form-panel {
  background: var(--bg-beige-200);
  color: var(--text-primary);
  padding: clamp(1.5rem, 3.33vw, 4rem);
  border-radius: var(--radius);
}
.footer-section__form-panel > h2 {
  font-size: clamp(1.5rem, 1.67vw, 2rem);
  font-weight: var(--fw-body-regular);
  margin-block-end: 2rem;
}
.mainForm .input--fumi {
  display: block;
  position: relative;
  inline-size: 100%;
  margin-block-end: clamp(0.75rem, 1.1vw, 1.25rem);
}
.mainForm .input__field--fumi {
  display: block;
  inline-size: 100%;
  block-size: 3.25rem;
  padding: 1.2rem 0 0.35rem;
  border: 0;
  border-block-end: 0.09375rem solid var(--border-brown-500);
  border-radius: 0;
  background: transparent;
  color: var(--text-primary);
  font: inherit;
  font-size: 0.95rem;
  appearance: none;
}
.mainForm .input__field--fumi:focus {
  outline: 0;
  border-block-end-color: var(--bg-brown-900);
}
.mainForm textarea.input__field--fumi {
  block-size: clamp(7rem, 10.5vw, 13rem);
  padding-block-start: 1.4rem;
  resize: vertical;
}
.mainForm .input__label--fumi {
  position: absolute;
  inset-inline: 0;
  inset-block-start: 1.25rem;
  color: var(--text-primary);
  pointer-events: none;
  cursor: text;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  transition:
    -webkit-transform 0.22s ease,
    transform 0.22s ease,
    color 0.22s ease;
}
.mainForm .input__label-content--fumi {
  display: block;
  font-size: 0.9rem;
  line-height: 1.2;
}
.mainForm .input--filled .input__label--fumi,
.mainForm .input--fumi:focus-within .input__label--fumi {
  color: var(--text-primary);
  -webkit-transform: translateY(-0.95rem) scale(0.82);
  transform: translateY(-0.95rem) scale(0.82);
}
.mainForm__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-block-start: 0.75rem;
}
.mainForm .form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0;
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.45;
}
.mainForm .form-check input {
  margin-block-start: 0.2rem;
  flex: 0 0 auto;
  accent-color: var(--bg-brown-900);
}
.mainForm__submit {
  flex: 0 0 auto;
  border: 0;
  padding: 0.9rem 1.25rem;
  border-radius: 100rem;
  background: var(--bg-brown-900);
  color: var(--text-white);
  font-size: 0.875rem;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}
.mainForm__submit:is(:hover, :focus-visible) {
  background: var(--bg-accent-500);
  color: var(--text-primary);
}
.mainForm__status {
  margin: 0.8rem 0 0;
  font-size: 0.85rem;
}
.mainForm__status:empty {
  display: none;
}
.footer-section__content {
  padding-block-start: clamp(2.5rem, 2.92vw, 3.5rem);
}
.footer-section__intro h2 {
  font-family: var(--ff-heading);
  font-size: clamp(2rem, 2.35vw, 2.8rem);
  font-weight: var(--fw-heading-regular);
  line-height: 1.15;
}
.footer-section__intro h2 small {
  color: var(--text-beige-200);
  font-size: inherit;
  font-style: var(--fs-italic);
  font-weight: var(--fw-heading-light);
}
.footer-section__intro p {
  max-inline-size: 48rem;
  margin-block: 2.5rem 3rem;
}
.footer-section__contact {
  display: grid;
  grid-template-columns: 1.2fr 0.75fr 1fr;
  gap: 1.5rem;
  padding-block: 2.5rem;
  border-block-start: 0.0625rem solid var(--border-brown-500);
  border-block-end: 0.0625rem solid var(--border-brown-500);
}
.footer-section__contact h3,
.footer-section__nav h3 {
  color: var(--text-beige-200);
  font-weight: var(--fw-body-bold);
  font-size: 1rem;
  margin-block-end: 0.6rem;
}
.footer-section__contact p {
  margin: 0;
}
.footer-section__contact a {
  display: block;
  inline-size: fit-content;
  margin-block-end: 0.2rem;
  border: 0;
  overflow-wrap: anywhere;
}
.footer-section a {
  color: inherit;
}
.footer-section a:is(:hover, :focus-visible) {
  color: var(--text-beige-200);
}
.footer-section__nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding-block-start: 2.5rem;
}
.footer-section__nav ul {
  columns: 2;
  column-gap: 1.25rem;
}
.footer-section__nav li {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  break-inside: avoid;
  font-size: 1rem;
  line-height: 1.5;
}
.footer-section__nav li::before {
  content: "";
  flex: 0 0 auto;
  inline-size: 0.22rem;
  block-size: 0.22rem;
  margin-block-start: 0.65em;
  border-radius: 50%;
  background: currentColor;
}
.footer-section__nav li a {
  border: 0;
  transition: color 0.2s ease;
}
.footer-section__bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr);
  gap: var(--footer-grid-gap);
  margin-inline: 0;
  margin-block-start: clamp(2rem, 2.5vw, 3rem);
}
.footer-section__bottom > div {
  flex: none;
  inline-size: 100%;
  max-inline-size: none;
  padding-inline: 0;
}
.footer-section a.footer-section__founder {
  display: inline-flex;
  gap: 0.75rem;
  align-items: center;
  inline-size: 100%;
  max-inline-size: none;
  padding: 0.75rem 1.5rem;
  border: 0;
  border-radius: var(--radius-12);
  color: var(--text-primary);
  background: var(--bg-neutral-200);
  font-size: 0.9rem;
}
.footer-section__founder img {
  inline-size: clamp(3rem, 4.17vw, 5rem);
  block-size: auto;
}
.footer-section a.footer-section__founder:is(:hover, :focus-visible) {
  color: var(--text-primary);
  background: var(--bg-beige-200);
}
.footer-section__author {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.7rem;
  font-size: clamp(0.9rem, 1vw, 1rem);
}
.footer-section__author a:not(:last-child)::after {
  content: "|";
  margin-inline-start: 0.7rem;
  color: var(--text-beige-200);
}
.footer-section__author a {
  border: 0;
}

/* RESPONSIVE STRUCTURE
--------------------------------------- */
@media screen and (max-width: 1366px) {
  .header-bar {
    gap: 2rem;
    min-block-size: 6rem;
  }
  .main-logo {
    flex-basis: 12rem;
  }
  .mainNavigation > ul {
    gap: 0.8rem;
  }
  .mainNavigation .mainNavigation__link {
    font-size: 0.8rem;
  }
  .food-section__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }
  .news-section__layout {
    grid-template-columns: minmax(0, 0.65fr) minmax(0, 2fr);
    gap: 2rem;
  }
}
@media screen and (max-width: 1199px) {
  .header {
    position: relative;
    inset-block-start: 0;
    background: var(--bg-primary);
  }
  .header.scroll {
    position: relative;
    inset-block-start: 0;
    padding-block: 0;
    background: var(--bg-primary);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
  .header-bar {
    min-block-size: 5.5rem;
    padding: 0.7rem 1.1rem;
    border-radius: 0;
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
  .main-logo {
    flex: 0 1 11rem;
  }
  .header-bar__right {
    display: none;
  }
  .navtoggler {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.34rem;
    inline-size: 3rem;
    block-size: 3rem;
    border-radius: 50%;
  }
  .navtoggler span {
    display: block;
    inline-size: 1.65rem;
    block-size: 0.125rem;
    background: var(--text-primary);
    border-radius: 1rem;
  }
  .navtoggler:is(:hover, :focus-visible) {
    background: var(--bg-beige-200);
  }
  .services-section__grid {
    gap: 4rem;
  }
  .services-section__connector {
    inline-size: 4rem;
  }
  .service-card {
    aspect-ratio: 1.05;
  }
  .food-section__grid {
    grid-template-columns: 1fr 1.2fr;
  }
  .food-section__body {
    padding-block-start: 1.5rem;
  }
  .food-section__bottom {
    grid-template-columns: 1fr;
  }
  .food-section__detail {
    display: none;
  }
  .education-section__actions {
    grid-template-columns: 1fr;
  }
  .news-section__layout {
    grid-template-columns: 1fr;
  }
  .news-section__intro {
    max-inline-size: 34rem;
    padding-block-start: 0;
  }
}
@media screen and (max-width: 991px) {
  .hero-section {
    min-block-size: 40rem;
  }
  .hero-section::before {
    background: rgba(42, 34, 25, 0.65);
  }
  .hero-section__inner {
    padding-block: clamp(5rem, 10vw, 7rem) 7rem;
  }
  .hero-section__content {
    max-inline-size: 36rem;
  }
  .hero-section__title h1 {
    font-size: clamp(2.5rem, 5vw, 3.75rem);
  }
  .hero-section__subpage {
    min-block-size: clamp(22rem, 42vw, 28rem);
  }
  .hero-section__subpage .hero-section__inner {
    padding-block: 4rem 4.5rem;
  }
  .services-section__grid {
    gap: 3rem;
  }
  .services-section__connector {
    display: none;
  }
  .services-section::before {
    inset-block-end: -4rem;
  }
  .service-card__overlay p {
    font-size: 0.875rem;
  }
  .food-section__grid,
  .about-section__grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
  }
  .food-section__media {
    min-block-size: 30rem;
  }
  .food-section__badge {
    inline-size: 5rem;
  }
  .food-section__top {
    align-items: start;
  }
  .food-section__top .title-box h2 {
    font-size: 2rem;
  }
  .about-section__media img {
    aspect-ratio: 0.85;
  }
  .activities-section__grid,
  .education-section__grid {
    gap: 2rem;
  }
  .activities-section__media img {
    aspect-ratio: 0.8;
  }
  .education-section__panel::before {
    border-radius: 0 10rem 10rem 0;
  }
  .education-section__media {
    aspect-ratio: 0.8;
  }
  .gallery-grid {
    block-size: clamp(36rem, 62vw, 51rem);
  }
  .footer-section__grid,
  .footer-section__bottom {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 2rem;
  }
  .footer-section__nav ul {
    columns: 1;
  }
}

@media screen and (max-width: 767px) {
  .section-py {
    padding-block: 4rem;
  }
  .activities-section {
    padding-block-start: 4rem;
  }
  .hero-section {
    min-block-size: 40rem;
  }
  .hero-section__media img {
    object-position: 65% center;
  }
  .hero-section__inner {
    padding-block: 5rem 6rem;
  }
  .hero-section__content {
    margin-inline: auto;
    text-align: center;
  }
  .hero-section__label {
    justify-content: center;
  }
  .hero-section__intro {
    margin-inline: auto;
  }
  .hero-section__subpage {
    min-block-size: clamp(18rem, 68vw, 23rem);
  }
  .hero-section__subpage .hero-section__inner {
    padding-block: 2.75rem 3.75rem;
  }
  .hero-section__subpage .hero-section__content > p {
    margin-inline: auto;
  }
  .services-section > .container-fluid > .section-heading {
    margin-block-end: 5.5rem;
  }
  .services-section__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 6rem;
    max-inline-size: 32rem;
    margin-inline: auto;
  }
  .service-card {
    aspect-ratio: 1.18;
  }
  .service-card__badge {
    inline-size: 6rem;
  }
  .services-section::before {
    block-size: 24rem;
    inset-block-end: -3rem;
    background-size: cover;
  }
  .food-section__grid,
  .about-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .food-section__body {
    padding-block-start: 0;
  }
  .food-section__media {
    min-block-size: 0;
    aspect-ratio: auto;
  }
  .food-section__media picture {
    position: static;
  }
  .food-section__media img {
    display: block;
    block-size: auto;
    aspect-ratio: 1.15;
  }
  .food-section__bottom {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.6fr);
  }
  .food-section__detail {
    display: block;
    min-block-size: 15rem;
  }
  .about-section__grid {
    gap: 2rem;
  }
  .about-section__media img {
    aspect-ratio: 1.25;
  }
  .activities-section__panel,
  .education-section__panel {
    margin: 0;
    padding-block: 0;
  }
  .activities-section__panel::before {
    inline-size: 100%;
    border-radius: 0;
  }
  .education-section__panel::before {
    inline-size: 100%;
    border-radius: 0;
  }
  .activities-section__grid,
  .education-section__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .activities-section__media,
  .education-section__media {
    align-self: auto;
    min-block-size: 0;
    margin-block: 2rem 0;
    aspect-ratio: auto;
  }
  .activities-section__media picture,
  .education-section__media picture {
    position: static;
  }
  .activities-section__media img,
  .education-section__media img {
    block-size: auto;
    aspect-ratio: 1.25;
  }
  .activities-section__panel::before,
  .education-section__panel::before {
    inset-block: 0;
  }
  .activities-section__body,
  .education-section__body {
    padding-block: 2rem 3rem;
  }
  .education-section__media {
    grid-row: 1;
  }
  .news-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(30, minmax(0, 1fr));
    block-size: clamp(40rem, 95vw, 55rem);
  }
  .gallery-grid__item:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / span 11;
  }
  .gallery-grid__item:nth-child(2) {
    grid-column: 2;
    grid-row: 1 / span 9;
  }
  .gallery-grid__item:nth-child(3) {
    grid-column: 1;
    grid-row: 12 / span 11;
  }
  .gallery-grid__item:nth-child(4) {
    grid-column: 2;
    grid-row: 10 / span 11;
  }
  .gallery-grid__item:nth-child(5) {
    grid-column: 1;
    grid-row: 23 / span 8;
  }
  .gallery-grid__item:nth-child(6) {
    grid-column: 2;
    grid-row: 21 / span 10;
  }
  .gallery-section__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-section__grid,
  .footer-section__bottom {
    grid-template-columns: 1fr;
  }
  .footer-section__content {
    padding-block-start: 0;
    text-align: center;
  }
  .footer-section .wave-shell__content {
    padding-block-end: 2rem;
  }
  .footer-section__contact {
    grid-template-columns: 1fr;
  }
  .footer-section__contact a {
    margin-inline: auto;
  }
  .footer-section__contact > div:first-child {
    grid-column: auto;
  }
  .footer-section__nav {
    grid-template-columns: 1fr;
    row-gap: 2.5rem;
  }
  .footer-section__nav ul {
    columns: 1;
  }
  .footer-section__nav li {
    justify-content: center;
  }
  .footer-section__bottom > div:not(:last-child) {
    margin-block-end: 1rem;
  }
  .footer-section__author {
    justify-content: center;
  }
}
@media screen and (max-width: 575px) {
  .title-box :is(h1, h2) {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }
  .hero-section__title h1 {
    font-size: clamp(2.6rem, 10vw, 3.6rem);
  }
  .hero-section__label {
    margin-block-end: 1.4rem;
  }
  .service-card {
    aspect-ratio: 0.98;
  }
  .food-section__top .title-box h2 {
    font-size: 2rem;
  }
  .food-section__badge {
    inline-size: 4.75rem;
  }
  .food-section__bottom {
    grid-template-columns: 1fr;
  }
  .food-section__detail {
    min-block-size: 16rem;
  }
  .food-section__detail picture {
    position: static;
  }
  .food-section__detail img {
    display: block;
    block-size: auto;
    aspect-ratio: 1.4;
  }
  .news-section__grid {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }
  .news-card picture img {
    aspect-ratio: 1.65;
  }
  .gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    block-size: auto;
    gap: clamp(1rem, 4vw, 1.25rem);
  }
  .gallery-grid__item:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    margin: 0;
    aspect-ratio: 1.45;
  }
  .gallery-grid__item {
    border-radius: 0.75rem;
  }
  .footer-section__nav ul {
    columns: 1;
  }
  .footer-section__form-panel {
    padding: 1.2rem;
  }
  .mainForm__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 360px) {
  .header-bar {
    min-block-size: 4.75rem;
  }
  .main-logo {
    flex-basis: 9.75rem;
  }
  .hero-section__title h1 {
    font-size: 2.45rem;
  }
  .hero-section__inner {
    padding-block-start: 4rem;
  }
  .service-card {
    aspect-ratio: 0.83;
  }
  .service-card__overlay {
    padding: 0.8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Active navigation item (Echelon menu class hi) */
.mainNavigation .mainNavigation__link.hi {
  background-size: 100% 0.125rem;
}
.mainNavigation a.dropdown-item.hi {
  background: var(--bg-beige-200);
}
.offcanvas-menu__nav a.hi,
.offcanvas-menu__nav button.hi {
  color: var(--text-primary-hover);
}

/* WebEditor button of the hero background gallery (admin only) */
.hero-section > .we_button {
  position: absolute;
  z-index: 3;
  inset-block-end: 1rem;
  inset-inline-start: 1rem;
}

/* WebEditor button inside .title-box, whose direct children use heading type (admin only) */
.title-box > .we_button {
  font-family: var(--ff-body);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: normal;
}

/* WebEditor button of a section photo covered by its absolute picture (admin only) */
.food-section__media > .we_button,
.food-section__detail > .we_button,
.activities-section__media > .we_button,
.education-section__media > .we_button {
  position: absolute;
  z-index: 2;
  inset-block-end: 1rem;
  inset-inline-start: 1rem;
}

/* WebEditor button of the homepage news cards, below the cards column (admin only) */
.news-section__layout > .we_button {
  grid-column: 2;
  justify-self: start;
}

/* Jedálny lístok (týždne po dňoch; na úvode v modale) */
.food-section__info .jedalny-listok__open {
  margin-block-end: 1rem;
}
.jedalny-listok__week + .jedalny-listok__week {
  margin-block-start: 2rem;
}
.jedalny-listok__week h3 {
  margin-block-end: 1rem;
  font-family: var(--ff-heading);
  font-size: clamp(1.35rem, 1.6vw, 1.75rem);
  line-height: 1.2;
}
.jedalny-listok__days {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 0.75rem;
}
.jedalny-listok__days > p {
  margin: 0;
  padding: 0.9rem 1rem;
  border-radius: var(--radius-12);
  background: var(--bg-neutral-200);
  font-size: 0.94rem;
  line-height: 1.45;
}
.jedalny-listok__days > p > strong:first-child {
  display: block;
  margin-block-end: 0.35rem;
  color: var(--text-primary);
}
.jedalny-listok__days > p > strong:first-child + br {
  display: none;
}
.jedalny-listok__note {
  margin-block-start: 1.5rem;
  font-size: 0.85rem;
}
.jedalny-listok-modal .modal-content {
  border: 0;
  border-radius: var(--radius-20);
}
.jedalny-listok-modal .modal-header {
  align-items: center;
  border-block-end: 0;
  padding: 1.5rem 1.5rem 0.5rem;
}
.jedalny-listok-modal .modal-title {
  font-family: var(--ff-heading);
  font-size: clamp(1.75rem, 2.2vw, 2.5rem);
}
.jedalny-listok-modal .modal-body {
  padding: 0.5rem 1.5rem 1.5rem;
}

/* START: Files accordion (filesFolder class archiv) */
.files-accordion {
  margin-block: 0.5rem 2rem;
  border-block-start: 0.0625rem solid var(--border-beige-200);
}
.files-accordion__item {
  border-block-end: 0.0625rem solid var(--border-beige-200);
}
.files-accordion__heading {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
}
.files-accordion__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  inline-size: 100%;
  padding-block: 0.875rem;
  padding-inline: 0;
  color: var(--text-primary);
  font: inherit;
  text-align: start;
  background: transparent;
  border: 0;
  border-radius: 0;
  cursor: pointer;
}
.files-accordion__toggle:focus {
  outline: 0;
  box-shadow: none;
}
.files-accordion__toggle:focus-visible {
  outline: 0.125rem solid var(--text-primary-hover);
  outline-offset: 0.25rem;
}
.files-accordion__label {
  display: grid;
  gap: 0.125rem;
}
.files-accordion__title {
  font-family: var(--ff-body);
  font-weight: var(--fw-body-medium);
  font-size: clamp(1rem, 1.1vw, 1.1875rem);
  transition: color 220ms ease;
}
.files-accordion__meta {
  font-family: var(--ff-body);
  font-weight: var(--fw-body-book);
  font-size: 0.875rem;
  color: var(--border-neutral-500);
}
.files-accordion__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  inline-size: 2rem;
  block-size: 2rem;
  font-size: 1rem;
  color: var(--text-white);
  background-color: var(--bg-accent-500);
  border-radius: 50%;
  transition:
    -webkit-transform 220ms ease,
    transform 220ms ease;
}
.files-accordion__toggle:not(.collapsed) .files-accordion__icon {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (hover: hover) {
  .files-accordion__toggle:hover .files-accordion__title {
    color: var(--text-primary-hover);
  }
}
.files-accordion__body {
  padding-block: 0.25rem 1rem;
}
.files-accordion__body .row + .row {
  margin-block-start: 0.5rem;
}
/* END: Files accordion */

/* Dátum v detaile aktuality */
.news-detail__date {
  margin-block-end: 1.25rem;
  color: var(--border-neutral-500);
  font-size: 0.94rem;
}

/* Fotogaléria - dátum na karte albumu */
.albumy__date {
  color: var(--border-neutral-500);
  font-size: 0.9rem;
}

/* START: Podstránky - upgrade obsahu */
/* Rozcestník (O centre, Sociálne služby): podstránky z menu ako karty */
.vnutro .rozcestnik {
  margin-block: 1.5rem 2.5rem;
}
.rozcestnik .news-card__content {
  min-block-size: 10rem;
}
.vnutro .rozcestnik .news-card h3 {
  margin: 0 0 1.5rem;
  font-size: clamp(1.3rem, 1.5vw, 1.7rem);
  line-height: 1.2;
  text-transform: none;
}
.rozcestnik .news-card p {
  margin-block: 0 1.5rem;
}

/* Náš tím: karty členov + detail v modale */
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.56vw, 1.875rem);
  margin-block: 2rem 2.5rem;
}
.team-card {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  border-radius: var(--radius-20);
  background: var(--bg-neutral-200);
  overflow: hidden;
}
.team-card:nth-child(even) {
  background: var(--bg-beige-200);
}
.team-card__media {
  display: grid;
  place-items: center;
  margin: clamp(0.75rem, 1.05vw, 1.25rem);
  margin-block-end: 0;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-20);
  background: var(--bg-primary);
  overflow: hidden;
}
.team-card__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.team-card__initials {
  color: var(--text-olive-500);
  font-family: var(--ff-heading);
  font-size: clamp(2.5rem, 4vw, 4rem);
  letter-spacing: 0.05em;
}
.team-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1rem, 1.5vw, 1.5rem);
}
.vnutro .team-card__name {
  margin: 0;
  font-size: clamp(1.15rem, 1.3vw, 1.4rem);
  line-height: 1.25;
}
.team-card__role {
  margin-block: 0.4rem 1.25rem;
  color: var(--text-olive-500);
  line-height: 1.4;
}
.team-card__more {
  align-self: flex-start;
  margin-block-start: auto;
  padding: 0;
  border: 0;
  background: none;
  color: var(--text-primary);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  cursor: pointer;
  transition: color 0.2s ease;
}
.team-card__more:is(:hover, :focus-visible) {
  color: var(--text-primary-hover);
}
.team-modal .modal-header {
  align-items: flex-start;
  border-block-end: 0;
  padding: 1.5rem 1.5rem 0.5rem;
}
.team-modal .modal-title {
  font-family: var(--ff-heading);
  font-size: clamp(1.6rem, 2vw, 2.25rem);
}
.team-modal__role {
  margin: 0.35rem 0 0;
  color: var(--text-olive-500);
}
.team-modal .modal-body {
  padding: 0.5rem 1.5rem 1.5rem;
  line-height: 1.55;
}
.team-modal__content p {
  margin-block-end: 1rem;
}

/* História centra: obdobia ako časová os, udalosti = odseky s dátumom v <strong> */
.timeline {
  margin-block: 1rem 2rem;
}
.timeline__period {
  --tl-pad: clamp(1.75rem, 3vw, 3rem);
  position: relative;
  padding-inline-start: var(--tl-pad);
  padding-block-end: 1.5rem;
}
.timeline__period::before {
  content: "";
  position: absolute;
  inset-block: 0.9rem 0;
  inset-inline-start: calc(0.5rem - 1px);
  inline-size: 2px;
  background: var(--border-beige-200);
}
.vnutro .timeline__period h2 {
  position: relative;
  margin-block: 0 1.5rem;
}
.timeline__period h2::before {
  content: "";
  position: absolute;
  inset-block-start: 0.3em;
  inset-inline-start: calc(-1 * var(--tl-pad));
  inline-size: 1rem;
  block-size: 1rem;
  border-radius: 50%;
  background: var(--bg-accent-500);
}
.timeline__period p {
  position: relative;
  margin-block-end: 1.25rem;
}
.timeline__period p:has(> strong:first-child)::before {
  content: "";
  position: absolute;
  inset-block-start: 0.35em;
  inset-inline-start: calc(-1 * var(--tl-pad) + 0.2rem);
  inline-size: 0.6rem;
  block-size: 0.6rem;
  border: 2px solid var(--bg-accent-500);
  border-radius: 50%;
  background: var(--bg-primary);
}
.timeline__period p > strong:first-child {
  display: block;
  margin-block-end: 0.2rem;
  color: var(--text-olive-500);
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.timeline__period p > strong:first-child + br {
  display: none;
}

/* Panely obsahu (Rozsah starostlivosti, Priestory, Informácie pre záujemcov) */
.content-panel {
  margin-block: 1.5rem;
  padding: clamp(1.5rem, 3vw, 3rem);
  border-radius: var(--radius);
  background: var(--bg-neutral-200);
}
.content-panel--beige {
  background: var(--bg-beige-200);
}
.vnutro .content-panel > :first-child,
.vnutro .content-panel > .e2_htmlcontent > :first-child {
  margin-block-start: 0;
}
.content-panel > p:last-of-type,
.content-panel > ul:last-of-type {
  margin-block-end: 0;
}
.panel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem);
  margin-block: 1.5rem 2rem;
}
.panel-grid > .content-panel {
  margin: 0;
}
.vnutro .content-panel--beige ul li:before {
  background-color: var(--bg-brown-900);
}
.vnutro .files-accordion--text {
  margin-block: 1rem 0;
  border-block-start-color: var(--border-brown-500);
}
.vnutro .files-accordion--text .files-accordion__item {
  border-block-end-color: var(--border-brown-500);
}
.vnutro .files-accordion--text .files-accordion__heading {
  margin: 0;
  font-family: var(--ff-body);
  font-size: 1rem;
}
.files-accordion--text .files-accordion__body p:last-child {
  margin-block-end: 0;
}

/* Zariadenie pre seniorov, DSS: zvýraznená kapacita a tlačidlá */
.highlight-panel {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  margin-block: 1.75rem;
  padding: clamp(1.25rem, 2.5vw, 2.25rem);
  border-radius: var(--radius-20);
  background: var(--bg-beige-200);
}
.highlight-panel__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  inline-size: 3rem;
  block-size: 3rem;
  border-radius: 50%;
  background: var(--bg-accent-500);
  color: var(--text-white);
  font-size: 1.4rem;
}
.highlight-panel__body {
  align-self: center;
  font-size: 1.08rem;
}
.highlight-panel__body > p:last-of-type {
  margin-block-end: 0;
}
.vnutro .page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-block: 2rem 1rem;
}

/* Kto sme: text s fotografiou vedľa */
.split-media {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
}
.split-media__aside {
  position: sticky;
  inset-block-start: 8rem;
}
.split-media__aside picture {
  display: block;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius);
  overflow: hidden;
}
.split-media__aside img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

/* Zriaďovateľ: kontaktná karta */
.contact-card {
  max-inline-size: 42rem;
  margin-block: 1.5rem 2rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--radius);
  background: var(--bg-neutral-200);
}
.contact-card .e2_htmlcontent > p:last-of-type {
  margin-block-end: 0;
}

/* Informácie pre záujemcov: číslované kroky a prílohy */
.vnutro .postup ol {
  margin-inline-start: 0;
  counter-reset: count-me;
}
.vnutro .postup ol > li {
  position: relative;
  min-block-size: 2rem;
  margin-block: 0.75rem;
  padding-inline-start: 2.75rem;
}
.vnutro .postup ol > li:before {
  content: counter(count-me);
  position: absolute;
  inset-block-start: -0.1rem;
  inset-inline-start: 0;
  display: grid;
  place-items: center;
  inline-size: 2rem;
  block-size: 2rem;
  max-width: none;
  max-height: none;
  border-radius: 50%;
  background: var(--bg-accent-500);
  color: var(--text-white);
  font-size: 0.95rem;
  font-weight: var(--fw-body-medium);
}
.vnutro .postup ol[type="a"] > li:before {
  content: counter(count-me, lower-alpha);
  background: var(--bg-beige-200);
  color: var(--text-primary);
}

@media screen and (max-width: 991px) {
  .team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .split-media {
    grid-template-columns: 1fr;
  }
  .split-media__aside {
    position: static;
    max-inline-size: 32rem;
  }
}
@media screen and (max-width: 767px) {
  .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .panel-grid {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 575px) {
  .highlight-panel {
    flex-direction: column;
  }
}
/* END: Podstránky - upgrade obsahu */

/* Karty (aktuality, albumy, rozcestník): celá karta je odkaz cez jej jediný news-card__link, hover zdvihne kartu */
.news-card {
  position: relative;
  transition:
    translate 0.3s ease,
    box-shadow 0.3s ease;
}
.news-card a.news-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}
.news-card picture img {
  transition: transform 0.5s ease;
}
@media (hover: hover) {
  .news-card:hover {
    translate: 0 -0.25rem;
    box-shadow: 0 1rem 2rem rgba(54, 47, 39, 0.12);
  }
  .news-card:hover picture img {
    transform: scale(1.04);
  }
  .news-card:hover a.news-card__link {
    color: var(--text-primary-hover);
    text-decoration-color: currentColor;
  }
}
.news-card:has(a.news-card__link:focus-visible) {
  outline: 0.125rem solid var(--text-primary-hover);
  outline-offset: 0.25rem;
}
.news-card a.news-card__link:focus-visible {
  outline: 0;
}
@media (prefers-reduced-motion: reduce) {
  .news-card,
  .news-card picture img {
    transition: none;
  }
}
