@layer reset, theme, typography, appearance, behavior, vendor, components, layout, sections, utils;

@layer reset {
  *,
  *::before,
  *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    outline: 0.1875rem solid transparent;
    outline-offset: 0;
    color: inherit;
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }

  html,
  body {
    inline-size: 100%;
  }

  hr {
    margin: 0;
    border: 0;
    background-color: inherit;
    color: inherit;
  }

  hr:not([size]) {
    block-size: 0.0625rem;
  }

  button {
    margin: 0;
    border: none;
    border-radius: 0;
    background: none;
    text-transform: none;
    cursor: pointer;
    -webkit-appearance: button;
  }

  ul {
    list-style: none;
  }

  img, picture, svg, video {
    display: block;
  }

  b,
  strong {
    font-variation-settings: "wght" 600;
  }

  a {
    text-decoration: none;
  }

  p {
    margin: 0;
  }

  small {
    font-size: 82.5%;
  }

  sub,
  sup {
    position: relative;
    line-height: 0;
    vertical-align: baseline;
  }

  sub {
    bottom: -0.25rem;
  }

  sup {
    top: -0.5rem;
  }

  sub,
  sup {
    font-size: 75%;
    line-height: 1;
  }

  abbr[title] {
    text-decoration: none;
  }

  iframe {
    inline-size: 100%;
    aspect-ratio: 16/9;
    border: none;
  }
}

@layer theme {
  :root {
    --clr-red-50: hsl(0 85.7% 97.3%);
    --clr-red-100: hsl(0 93.3% 94.1%);
    --clr-red-200: hsl(0 96.3% 89.4%);
    --clr-red-250: hsl(0 93.5% 85.8%);
    --clr-red-300: hsl(0 93.5% 81.8%);
    --clr-red-400: hsl(0 90.6% 70.8%);
    --clr-red-500: hsl(0 84.2% 60.2%);
    --clr-red-600: hsl(0 72.2% 50.6%);
    --clr-red-700: hsl(0 73.7% 41.8%);
    --clr-red-800: hsl(0 70% 35.3%);
    --clr-red-900: hsl(0 62.8% 30.6%);
    --clr-red-950: hsl(0 74.7% 15.5%);

    --clr-orange-50: hsl(33, 100%, 96%);
    --clr-orange-100: hsl(34.3 100% 91.8%);
    --clr-orange-200: hsl(32.1 97.7% 83.1%);
    --clr-orange-300: hsl(30.7 97.2% 72.4%);
    --clr-orange-400: hsl(27 96% 61%);
    --clr-orange-500: hsl(24.6 95% 53.1%);
    --clr-orange-600: hsl(20.5 90.2% 48.2%);
    --clr-orange-700: hsl(17.5 88.3% 40.4%);
    --clr-orange-800: hsl(15 79.1% 33.7%);
    --clr-orange-900: hsl(15.3 74.6% 27.8%);
    --clr-orange-950: hsl(13 81.1% 14.5%);

    --clr-amber-50: hsl(48 100% 96.1%);
    --clr-amber-100: hsl(48 96.5% 88.8%);
    --clr-amber-200: hsl(48 96.6% 76.7%);
    --clr-amber-300: hsl(45.9 96.7% 64.5%);
    --clr-amber-400: hsl(43.3 96.4% 56.3%);
    --clr-amber-500: hsl(37.7 92.1% 50.2%);
    --clr-amber-600: hsl(32.1 94.6% 43.7%);
    --clr-amber-700: hsl(26 90.5% 37.1%);
    --clr-amber-800: hsl(22.7 82.5% 31.4%);
    --clr-amber-900: hsl(21.7 77.8% 26.5%);
    --clr-amber-950: hsl(20.9 91.7% 14.1%);

    --clr-yellow-50: hsl(54.5 91.7% 95.3%);
    --clr-yellow-100: hsl(54.9 96.7% 88%);
    --clr-yellow-200: hsl(52.8 98.3% 76.9%);
    --clr-yellow-300: hsl(50.4 97.8% 63.5%);
    --clr-yellow-400: hsl(47.9 95.8% 53.1%);
    --clr-yellow-500: hsl(45.4 93.4% 47.5%);
    --clr-yellow-600: hsl(40.6 96.1% 40.4%);
    --clr-yellow-700: hsl(35.5 91.7% 32.9%);
    --clr-yellow-800: hsl(31.8 81% 28.8%);
    --clr-yellow-900: hsl(28.4 72.5% 25.7%);
    --clr-yellow-950: hsl(26 83.3% 14.1%);

    --clr-lime-50: hsl(78.3 92% 95.1%);
    --clr-lime-100: hsl(79.6 89.1% 89.2%);
    --clr-lime-200: hsl(80.9 88.5% 79.6%);
    --clr-lime-300: hsl(82 84.5% 67.1%);
    --clr-lime-400: hsl(82.7 78% 55.5%);
    --clr-lime-500: hsl(83.7 80.5% 44.3%);
    --clr-lime-600: hsl(84.8 85.2% 34.5%);
    --clr-lime-700: hsl(85.9 78.4% 27.3%);
    --clr-lime-800: hsl(86.3 69% 22.7%);
    --clr-lime-900: hsl(87.6 61.2% 20.2%);
    --clr-lime-950: hsl(89.3 80.4% 10%);

    --clr-green-50: hsl(138.5 76.5% 96.7%);
    --clr-green-100: hsl(140.6 84.2% 92.5%);
    --clr-green-200: hsl(141 78.9% 85.1%);
    --clr-green-300: hsl(141.7 76.6% 73.1%);
    --clr-green-400: hsl(141.9 69.2% 58%);
    --clr-green-500: hsl(142.1 70.6% 45.3%);
    --clr-green-600: hsl(142.1 76.2% 36.3%);
    --clr-green-700: hsl(142.4 71.8% 29.2%);
    --clr-green-800: hsl(142.8 64.2% 24.1%);
    --clr-green-900: hsl(143.8 61.2% 20.2%);
    --clr-green-950: hsl(144.9 80.4% 10%);

    --clr-emerald-50: hsl(151.8 81% 95.9%);
    --clr-emerald-100: hsl(149.3 80.4% 90%);
    --clr-emerald-200: hsl(152.4 76% 80.4%);
    --clr-emerald-250: hsl(152.4 76% 75.2%);
    --clr-emerald-300: hsl(156.2 71.6% 66.9%);
    --clr-emerald-400: hsl(158.1 64.4% 51.6%);
    --clr-emerald-500: hsl(160.1 84.1% 39.4%);
    --clr-emerald-600: hsl(161.4 93.5% 30.4%);
    --clr-emerald-700: hsl(162.9 93.5% 24.3%);
    --clr-emerald-800: hsl(163.1 88.1% 19.8%);
    --clr-emerald-900: hsl(164.2 85.7% 16.5%);
    --clr-emerald-950: hsl(165.7 91.3% 9%);

    --clr-teal-50: hsl(166.2 76.5% 96.7%);
    --clr-teal-100: hsl(167.2 85.5% 89.2%);
    --clr-teal-200: hsl(168.4 83.8% 78.2%);
    --clr-teal-300: hsl(170.6 76.9% 64.3%);
    --clr-teal-400: hsl(172.5 66% 50.4%);
    --clr-teal-500: hsl(173.4 80.4% 40%);
    --clr-teal-600: hsl(174.7 83.9% 31.6%);
    --clr-teal-700: hsl(175.3 77.4% 26.1%);
    --clr-teal-800: hsl(176.1 69.4% 21.8%);
    --clr-teal-900: hsl(175.9 60.8% 19%);
    --clr-teal-950: hsl(178.6 84.3% 10%);

    --clr-cyan-50: hsl(183.2 100% 96.3%);
    --clr-cyan-100: hsl(185.1 95.9% 90.4%);
    --clr-cyan-200: hsl(186.2 93.5% 81.8%);
    --clr-cyan-300: hsl(187 92.4% 69%);
    --clr-cyan-400: hsl(187.9 85.7% 53.3%);
    --clr-cyan-500: hsl(188.7 94.5% 42.7%);
    --clr-cyan-600: hsl(191.6 91.4% 36.5%);
    --clr-cyan-700: hsl(192.9 82.3% 31%);
    --clr-cyan-800: hsl(194.4 69.6% 27.1%);
    --clr-cyan-900: hsl(196.4 63.6% 23.7%);
    --clr-cyan-950: hsl(197 78.9% 14.9%);

    --clr-sky-50: hsl(204 100% 97.1%);
    --clr-sky-100: hsl(204 93.8% 93.7%);
    --clr-sky-200: hsl(200.6 94.4% 86.1%);
    --clr-sky-300: hsl(199.4 95.5% 73.9%);
    --clr-sky-400: hsl(198.4 93.2% 59.6%);
    --clr-sky-500: hsl(198.6 88.7% 48.4%);
    --clr-sky-600: hsl(200.4 98% 39.4%);
    --clr-sky-700: hsl(201.3 96.3% 32.2%);
    --clr-sky-800: hsl(201 90% 27.5%);
    --clr-sky-900: hsl(202 80.3% 23.9%);
    --clr-sky-950: hsl(204 80.2% 15.9%);

    --clr-blue-50: hsl(213.8 100% 96.9%);
    --clr-blue-100: hsl(214.3 94.6% 92.7%);
    --clr-blue-200: hsl(213.3 96.9% 87.3%);
    --clr-blue-300: hsl(211.7 96.4% 78.4%);
    --clr-blue-400: hsl(213.1 93.9% 67.8%);
    --clr-blue-500: hsl(217.2 91.2% 59.8%);
    --clr-blue-600: hsl(221.2 83.2% 53.3%);
    --clr-blue-700: hsl(224.3 76.3% 48%);
    --clr-blue-800: hsl(225.9 70.7% 40.2%);
    --clr-blue-900: hsl(224.4 64.3% 32.9%);
    --clr-blue-950: hsl(226.2 57% 21%);

    --clr-indigo-50: hsl(225.9 100% 96.7%);
    --clr-indigo-100: hsl(226.5 100% 93.9%);
    --clr-indigo-200: hsl(228 96.5% 88.8%);
    --clr-indigo-300: hsl(229.7 93.5% 81.8%);
    --clr-indigo-400: hsl(234.5 89.5% 73.9%);
    --clr-indigo-500: hsl(238.7 83.5% 66.7%);
    --clr-indigo-600: hsl(243.4 75.4% 58.6%);
    --clr-indigo-700: hsl(244.5 57.9% 50.6%);
    --clr-indigo-800: hsl(243.7 54.5% 41.4%);
    --clr-indigo-900: hsl(242.2 47.4% 34.3%);
    --clr-indigo-950: hsl(243.8 47.1% 20%);

    --clr-violet-50: hsl(250 100% 97.6%);
    --clr-violet-100: hsl(251.4 91.3% 95.5%);
    --clr-violet-200: hsl(250.5 95.2% 91.8%);
    --clr-violet-300: hsl(252.5 94.7% 85.1%);
    --clr-violet-400: hsl(255.1 91.7% 76.3%);
    --clr-violet-500: hsl(258.3 89.5% 66.3%);
    --clr-violet-600: hsl(262.1 83.3% 57.8%);
    --clr-violet-700: hsl(263.4 70% 50.4%);
    --clr-violet-800: hsl(263.4 69.3% 42.2%);
    --clr-violet-900: hsl(263.5 67.4% 34.9%);
    --clr-violet-950: hsl(261.2 72.6% 22.9%);

    --clr-purple-50: hsl(270 100% 98%);
    --clr-purple-100: hsl(268.7 100% 95.5%);
    --clr-purple-200: hsl(268.6 100% 91.8%);
    --clr-purple-300: hsl(269.2 97.4% 85.1%);
    --clr-purple-400: hsl(270 95.2% 75.3%);
    --clr-purple-500: hsl(270.7 91% 65.1%);
    --clr-purple-600: hsl(271.5 81.3% 55.9%);
    --clr-purple-700: hsl(272.1 71.7% 47.1%);
    --clr-purple-800: hsl(272.9 67.2% 39.4%);
    --clr-purple-900: hsl(273.6 65.6% 32%);
    --clr-purple-950: hsl(273.5 86.9% 21%);

    --clr-fuchsia-50: hsl(289.1 100% 97.8%);
    --clr-fuchsia-100: hsl(287 100% 95.5%);
    --clr-fuchsia-200: hsl(288.3 95.8% 90.6%);
    --clr-fuchsia-300: hsl(291.1 93.1% 82.9%);
    --clr-fuchsia-400: hsl(292 91.4% 72.5%);
    --clr-fuchsia-500: hsl(292.2 84.1% 60.6%);
    --clr-fuchsia-600: hsl(293.4 69.5% 48.8%);
    --clr-fuchsia-700: hsl(294.7 72.4% 39.8%);
    --clr-fuchsia-800: hsl(295.4 70.2% 32.9%);
    --clr-fuchsia-900: hsl(296.7 63.6% 28%);
    --clr-fuchsia-950: hsl(296.8 90.2% 16.1%);

    --clr-pink-50: hsl(327.3 73.3% 97.1%);
    --clr-pink-100: hsl(325.7 77.8% 94.7%);
    --clr-pink-200: hsl(325.9 84.6% 89.8%);
    --clr-pink-300: hsl(327.4 87.1% 81.8%);
    --clr-pink-400: hsl(328.6 85.5% 70.2%);
    --clr-pink-500: hsl(330.4 81.2% 60.4%);
    --clr-pink-600: hsl(333.3 71.4% 50.6%);
    --clr-pink-700: hsl(335.1 77.6% 42%);
    --clr-pink-800: hsl(335.8 74.4% 35.3%);
    --clr-pink-900: hsl(335.9 69% 30.4%);
    --clr-pink-950: hsl(336.2 83.9% 17.1%);

    --clr-rose-50: hsl(355.7 100% 97.3%);
    --clr-rose-100: hsl(355.6 100% 94.7%);
    --clr-rose-200: hsl(352.7 96.1% 90%);
    --clr-rose-300: hsl(352.6 95.7% 81.8%);
    --clr-rose-400: hsl(351.3 94.5% 71.4%);
    --clr-rose-500: hsl(349.7 89.2% 60.2%);
    --clr-rose-600: hsl(346.8 77.2% 49.8%);
    --clr-rose-700: hsl(345.3 82.7% 40.8%);
    --clr-rose-800: hsl(343.4 79.7% 34.7%);
    --clr-rose-900: hsl(341.5 75.5% 30.4%);
    --clr-rose-950: hsl(343.1 87.7% 15.9%);


    --clr-primary-50: oklch(0.979 0.012 75.369);
    --clr-primary-100: oklch(0.951 0.029 77.548);
    --clr-primary-200: oklch(0.895 0.056 72.232);
    --clr-primary-300: oklch(0.826 0.09 69.866);
    --clr-primary-400: oklch(0.738 0.124 59.65);
    --clr-primary-500: oklch(0.68 0.148 53.355);
    --clr-primary-600: oklch(0.623 0.153 46.558);
    --clr-primary-700: oklch(0.534 0.137 42.072);
    --clr-primary-800: oklch(0.458 0.11 39.775);
    --clr-primary-900: oklch(0.399 0.09 39.827);
    /* > origin */
    --clr-primary-950: oklch(0.268 0.06 37.692);
    /* < origin */

    --clr-secondary-50: oklch(0.981 0.019 83.064);
    --clr-secondary-100: oklch(0.948 0.052 85.108);
    --clr-secondary-200: oklch(0.895 0.105 84.153);
    --clr-secondary-300: oklch(0.835 0.144 77.972);
    --clr-secondary-400: oklch(0.785 0.162 69.009);
    --clr-secondary-500: oklch(0.717 0.175 54.985);
    /* > origin */
    --clr-secondary-600: oklch(0.59 0.165 45.543);
    /* < origin */
    --clr-secondary-700: oklch(0.525 0.163 39.02);
    --clr-secondary-800: oklch(0.449 0.14 37.055);
    --clr-secondary-900: oklch(0.393 0.118 36.383);
    --clr-secondary-950: oklch(0.265 0.083 36.526);

    --clr-neutral-0: oklch(1 0 89.876);
    --clr-neutral-25: oklch(0.992 0.001 17.178);
    --clr-neutral-50: oklch(0.985 0.002 247.839);
    --clr-neutral-100: oklch(0.976 0.002 247.839);
    --clr-neutral-200: oklch(0.959 0.004 286.324);
    --clr-neutral-300: oklch(0.928 0.006 264.531);
    --clr-neutral-400: oklch(0.872 0.009 258.338);
    --clr-neutral-500: oklch(0.714 0.019 261.325);
    --clr-neutral-600: oklch(0.551 0.023 264.364);
    --clr-neutral-700: oklch(0.446 0.026 256.802);
    --clr-neutral-800: oklch(0.373 0.031 259.733);
    --clr-neutral-900: oklch(0.278 0.03 256.848);
    --clr-neutral-950: oklch(0.21 0.032 264.665);
    --clr-neutral-1000: oklch(0 0 0);

    --clr-success-50: oklch(0.979 0.021 166.113);
    --clr-success-100: oklch(0.95 0.051 163.051);
    --clr-success-200: oklch(0.905 0.089 164.15);
    --clr-success-300: oklch(0.884 0.111 163.212);
    --clr-success-400: oklch(0.845 0.13 164.978);
    --clr-success-500: oklch(0.773 0.153 163.223);
    --clr-success-600: oklch(0.696 0.149 162.48);
    --clr-success-700: oklch(0.596 0.127 163.225);
    --clr-success-800: oklch(0.508 0.105 165.612);
    --clr-success-900: oklch(0.432 0.086 166.913);
    --clr-success-950: oklch(0.378 0.073 168.94);

    --clr-danger-50: oklch(0.969 0.015 12.422);
    --clr-danger-100: oklch(0.941 0.03 12.58);
    --clr-danger-200: oklch(0.892 0.056 10.001);
    --clr-danger-300: oklch(0.81 0.106 11.638);
    --clr-danger-400: oklch(0.719 0.169 13.428);
    --clr-danger-500: oklch(0.645 0.215 16.439);
    --clr-danger-600: oklch(0.586 0.222 17.585);
    --clr-danger-700: oklch(0.514 0.198 16.935);
    --clr-danger-800: oklch(0.455 0.171 13.697);
    --clr-danger-900: oklch(0.41 0.15 10.272);
    --clr-danger-950: oklch(0.271 0.101 12.094);

    --clr-warning-50: oklch(0.987 0.026 102.212);
    --clr-warning-100: oklch(0.973 0.069 103.193);
    --clr-warning-200: oklch(0.945 0.124 101.54);
    --clr-warning-300: oklch(0.905 0.166 98.111);
    --clr-warning-400: oklch(0.861 0.173 91.936);
    --clr-warning-500: oklch(0.795 0.162 86.047);
    --clr-warning-600: oklch(0.681 0.142 75.834);
    --clr-warning-700: oklch(0.554 0.121 66.442);
    --clr-warning-800: oklch(0.476 0.103 61.907);
    --clr-warning-900: oklch(0.421 0.09 57.708);
    --clr-warning-950: oklch(0.286 0.064 53.813);

    --clr-info-50: oklch(0.97 0.014 254.604);
    --clr-info-100: oklch(0.932 0.032 255.585);
    --clr-info-200: oklch(0.882 0.057 254.128);
    --clr-info-300: oklch(0.809 0.096 251.813);
    --clr-info-400: oklch(0.714 0.143 254.624);
    --clr-info-500: oklch(0.623 0.188 259.815);
    --clr-info-600: oklch(0.546 0.215 262.881);
    --clr-info-700: oklch(0.488 0.217 264.376);
    --clr-info-800: oklch(0.424 0.181 265.638);
    --clr-info-900: oklch(0.379 0.138 265.522);
    --clr-info-950: oklch(0.282 0.087 267.935);
  }

  html {
    color-scheme: only light;
  }
}

@layer typography {
  :root {
    --ff-header: "Montserrat";
    --ff-text: "Montserrat";

    --fs-header-6: 1rem;
    --fs-header-5: 1.125rem;
    --fs-header-4: 1.25rem;
    --fs-header-3: 1.625rem;
    --fs-header-2: clamp(1.875rem, 0.31vi + 1.32rem, 2.25rem);
    --fs-header-1: clamp(2rem, 0.51vi + 1.95rem, 2.625rem);
  }

  html {
    font-size: 100%;
    line-height: 1.625;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  body {
    font-family: var(--ff-text), sans-serif;
    font-size: 100%;
    font-variation-settings: "wght" 400;
    line-height: 1.625;
    letter-spacing: 0;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--ff-header), sans-serif;
    font-variation-settings: "wght" 750;
    line-height: 1.375;
    letter-spacing: -0.025rem;
  }

  h1,
  .like-h1 {
    font-size: var(--fs-header-1);
    font-variation-settings: "wght" 600;
  }

  h2,
  .like-h2 {
    font-size: var(--fs-header-2);
  }

  h3,
  .like-h3 {
    font-size: var(--fs-header-3);
  }

  h4,
  .like-h4 {
    font-size: var(--fs-header-4);
  }

  h5,
  .like-h5 {
    font-size: var(--fs-header-5);
  }

  h6,
  .like-h6 {
    font-size: var(--fs-header-6);
  }
}

@layer appearance {
  :root {
    --clr-surface: var(--clr-neutral-0);
    --clr-text: var(--clr-neutral-900);

    --bp-phone: 30rem;
    --bp-table-portrait: 40rem;
    --bp-table-landscape: 62rem;
    --bp-desktop: 80rem;
    --bp-wide-desktop: 105rem;
    --bp-extra-wide-desktop: 120rem;
  }

  ::selection {
    color: var(--clr-primary-950);
    background-color: var(--clr-primary-300);
  }

  body {
    min-block-size: 100dvh;
    background-color: var(--clr-surface);
    color: var(--clr-text);
  }

  hr {
    background-color: var(--clr-neutral-200);
  }

  a {
    color: var(--clr-info-600);
  }
}

@layer behavior {
  html {
    overflow-inline: hidden;
    scroll-behavior: smooth;
  }

  body:has(dialog[open]),
  body:has(.-drawer-open) {
    overflow: hidden;
  }
}

@layer layout {
  .header {
    padding: clamp(0.5rem, 1.5vw, 1.125rem) 0;
    background-color: var(--clr-primary-950);

    .header-container {
      position: relative;
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-between;
      align-items: center;
    }

    .header-logo {
      z-index: 10;
      inline-size: clamp(7rem, 11vw, 9.5rem);

      & > img {
        inline-size: 100%;
        block-size: auto;
      }
    }

    .header-contacts {
      display: flex;
      flex-flow: column nowrap;
      gap: 1rem;

      & .header-contacts-item {
        display: flex;
        flex-flow: row nowrap;
        gap: 1.25rem;
        align-items: center;
        color: color-mix(in oklch, var(--clr-neutral-0), transparent 15%);
        line-height: 1;

        & > i {
          color: color-mix(in oklch, var(--clr-secondary-600), transparent 15%);
          font-size: 1.4375rem;
        }
      }

      & .header-contacts-phone-number {
        display: flex;
        flex-flow: column nowrap;
        line-height: 1.4375;

        & > a {
          color: inherit;
          font-size: 1.2875rem;
          font-variation-settings: "wght" 600;
        }

        & > span {
          display: block;
          color: color-mix(in oklch, var(--clr-secondary-600), transparent 15%);
          font-size: 0.8125rem;
          font-variation-settings: "wght" 400;
        }
      }
    }
  }

  .navbar {
    position: relative;
    z-index: 9;
    display: flex;
    flex-flow: row-reverse nowrap;
    align-items: center;
    gap: 0;

    @media screen and (min-width: 68.75rem) {
      flex-direction: row;
      gap: 1rem;
    }

    & .navbar-nav {
      position: fixed;
      inset-block-start: 0;
      inset-inline-end: -100dvw;
      z-index: -1;
      display: grid;
      grid-template-columns: 1fr;
      place-items: center center;
      inline-size: 100dvw;
      block-size: 100dvh;
      margin-inline-end: 0;
      padding-block-start: clamp(4.5rem, 10vw, 5.5rem);
      margin-inline-start: 0;
      background-color: var(--clr-primary-950);
      transition: margin-inline-end 200ms ease-in-out;

      &.-opened {
        margin-inline-end: 100dvw;
      }

      @media screen and (min-width: 68.75rem) {
        position: relative;
        inset: unset;
        z-index: unset;
        display: block;
        inline-size: max-content;
        block-size: 100%;
        min-block-size: 100%;
        padding: 0;
        margin: 0 !important;
        background-color: transparent;
      }
    }

    & .navbar-toggler {
      position: relative;
      display: block;
      inline-size: 3.625rem;
      block-size: 2rem;
      margin-inline-end: -0.75rem;
      border-radius: 0;
      transform: rotate(0deg);
      transition: .5s ease-in-out;
      cursor: pointer;

      & > span {
        position: absolute;
        inset-inline-start: 1.125rem;
        inset-block-start: 0.625rem;
        display: block;
        block-size: 0.125rem;
        inline-size: 1.25rem;
        background-color: var(--clr-primary-50);
        border-radius: 0.125rem;
        transform: rotate(0deg);
        transition: .25s ease-in-out;
      }

      & > span:nth-child(1) {
        transform-origin: left center;
      }

      & > span:nth-child(2) {
        top: 1rem;
        transform-origin: left center;
      }

      & > span:nth-child(3) {
        top: 1.375rem;
        transform-origin: left center;
      }

      @media screen and (min-width: 68.75rem) {
        display: none;
      }
    }

    &:has(.navbar-nav.-opened) .navbar-toggler {
      span {
        background-color: var(--clr-secondary-600);
      }

      span:nth-child(1) {
        inset-block-start: 0.5rem;
        inset-inline-start: 1.375rem;
        transform: rotate(45deg);
      }

      span:nth-child(2) {
        inline-size: 0;
        opacity: 0;
      }

      span:nth-child(3) {
        inset-block-start: 1.375rem;
        inset-inline-start: 1.375rem;
        transform: rotate(-45deg);
      }
    }

    & .navbar-menu {
      display: flex;
      flex-flow: column nowrap;

      & > :not(:last-child) {
        border-color: color-mix(in oklch, var(--clr-neutral-0), transparent 80%);
      }

      @media screen and (min-width: 68.75rem) {
        flex-direction: row;
        gap: clamp(0.25rem, calc(2.5cqi - 2rem), 1rem);

        & > :not(:last-child) {
          border: none;
        }
      }
    }

    & .navbar-link {
      position: relative;
      display: flex;
      flex-flow: row;
      column-gap: 0.5rem;
      justify-content: space-between;
      align-items: center;
      padding: 1rem 1.5rem;
      color: var(--clr-primary-50);
      font-variation-settings: "wght" 600;
      text-wrap: nowrap;

      @media screen and (min-width: 68.75rem) {
        font-variation-settings: "wght" 450;
        padding-block: 1.5rem;
      }

      &::after {
        content: "";
        position: absolute;
        inset-block-end: 0.5rem;
        inset-inline-start: 0.625rem;
        inline-size: 0;
        block-size: 0.125rem;
        background-color: var(--clr-secondary-600);
        transition: inline-size 0.3s ease-in-out;
      }

      &:is(:focus,:focus-within,:hover)::after {
        inline-size: calc(100% - 1.25rem);
      }
    }
  }

  .footer {
    --border-radius: clamp(1rem, 2.5vw, 2rem);

    container: footer / inline-size;
    display: grid;
    grid-template-columns: 1fr min(100%, 86rem) 1fr;
    padding: 2rem 1rem 0;
    background-color: var(--clr-primary-950);

    & > * {
      grid-column: 2;
    }

    .footer-above-line {
      display: flex;
      flex-flow: column nowrap;
      row-gap: 2.5rem;
      align-items: flex-start;
      justify-content: space-between;
      inline-size: min(100%, 76rem);
      margin-inline: auto;
      padding: clamp(2rem, 3cqi + 0.5rem, 4rem) 1rem;

      & > :first-child {
        display: flex;
        flex-flow: column nowrap;
        gap: 2rem;
      }

      @container footer (min-width: 38rem) {
        flex-direction: row;
        align-items: flex-start;
      }

      .footer-claim {
        color: color-mix(in oklch, var(--clr-secondary-600), transparent 15%);
        font-size: 2rem;
        font-variation-settings: "wght" 750;
        line-height: 1.375;
      }
    }

    .footer-contacts {
      display: flex;
      flex-flow: column nowrap;
      gap: 1rem;

      & > li {
        display: flex;
        flex-flow: row nowrap;
        gap: 1.5rem;
        align-items: center;
        color: color-mix(in oklch, var(--clr-neutral-0), transparent 15%);

        & > a {
          color: inherit;
          font-variation-settings: "wght" 475;

          &:is(:focus,:focus-within,:hover) {
            text-decoration: underline;
          }
        }

        & > i {
          color: color-mix(in oklch, var(--clr-secondary-600), transparent 15%);
          font-size: 1.375rem;
        }
      }
    }

    .footer-phone-number {
      display: flex;
      flex-flow: column nowrap;
      line-height: 1.4375;

      & > a {
        color: inherit;
        font-size: 1.375rem;
        font-variation-settings: "wght" 600;
      }

      & > span {
        display: block;
        color: color-mix(in oklch, var(--clr-secondary-600), transparent 15%);
        font-size: 0.875rem;
        font-variation-settings: "wght" 400;
      }
    }

    .footer-line {
      background-color: color-mix(in oklch, var(--clr-neutral-0), transparent 80%);
    }

    .footer-under-line {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      justify-content: space-between;
      row-gap: 0.3125rem;
      padding-block: 2rem;
      font-size: 0.8125rem;
      color: color-mix(in oklch, var(--clr-neutral-0), transparent 65%);
    }
  }
}

@layer vendor {
  .turbo-progress-bar {
    background-color: var(--clr-secondary-600) !important;
  }
}
