/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme {
  :root, :host {
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-white: #fff;
    --spacing: 0.25rem;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --radius-lg: 0.5rem;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
}
@layer utilities {
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .container {
    width: 100%;
  }
  @media (width >= 40rem) {
    .container {
      max-width: 40rem;
    }
  }
  @media (width >= 48rem) {
    .container {
      max-width: 48rem;
    }
  }
  @media (width >= 64rem) {
    .container {
      max-width: 64rem;
    }
  }
  @media (width >= 80rem) {
    .container {
      max-width: 80rem;
    }
  }
  @media (width >= 96rem) {
    .container {
      max-width: 96rem;
    }
  }
  .m-5 {
    margin: calc(var(--spacing) * 5);
  }
  .m-256 {
    margin: calc(var(--spacing) * 256);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .size-full {
    width: 100%;
    height: 100%;
  }
  .flex-24 {
    flex: 24;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .text-center {
    text-align: center;
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-white {
    color: var(--color-white);
  }
  .italic {
    font-style: italic;
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .backface-hidden {
    backface-visibility: hidden;
  }
}
@layer default {
  html,
  body,
  div,
  span,
  applet,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  a,
  abbr,
  acronym,
  address,
  big,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  s,
  samp,
  small,
  strike,
  strong,
  sub,
  sup,
  tt,
  var,
  b,
  u,
  i,
  center,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  embed,
  figure,
  figcaption,
  footer,
  header,
  hgroup,
  menu,
  nav,
  output,
  ruby,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
  }
  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section {
    display: block;
  }
  body {
    line-height: 1;
  }
  ol,
  ul {
    list-style: none;
  }
  blockquote,
  q {
    quotes: none;
  }
  blockquote:before,
  blockquote:after,
  q:before,
  q:after {
    content: "";
    content: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  :root {
    --font-pri: "Inter", sans-serif;
    --font-title: "Barlow Condensed", sans-serif;
    --font-decor: "IBM Plex Sans", "Inter", sans-serif;
    --font-mono: "IBM Plex Mono", ui-monospace, monospace;
    --pi-8: 0.8rem;
    --pi-10: 1rem;
    --pi-12: 1.2rem;
    --pi-14: 1.4rem;
    --pi-16: 1.6rem;
    --pi-18: 1.8rem;
    --pi-20: 2rem;
    --pi-24: 2.4rem;
    --pi-32: 3.2rem;
    --header-topbar: 3.2rem;
    --header-main: 9.2rem;
    --header-menu: 2.6rem;
    --header-main-fixed: 8rem;
    --header-height: calc(var(--header-topbar) + var(--header-main));
  }
  @media screen and (max-width: 1200px) {
    :root {
      --header-main: 6.8rem;
      --header-main-fixed: var(--header-main);
      --pi-12: 0.8rem;
      --pi-14: 0.8rem;
      --pi-16: 0.8rem;
      --pi-18: 0.8rem;
      --pi-20: 1rem;
      --pi-24: 1.2rem;
      --pi-32: 1.6rem;
    }
  }
  :root {
    --z-i-header: 100;
    --radius-circle: 50%;
    --radius-max: 999rem;
    --radius-xl: 2.4rem;
    --radius-l: 1.6rem;
    --radius: 1.2rem;
    --radius-m: 0.8rem;
    --radius-s: 0.4rem;
    --box-shadow-1: 0 0.4rem 2.4rem 0 rgba(0, 0, 0, 0.1);
    --filter-white: brightness(0) invert(1);
    --filter-black: brightness(0) invert(0);
    --container-width: 124.8rem;
    --container-padding: 1.6rem;
  }
  * {
    box-sizing: border-box;
  }
  html {
    font-size: 10px;
  }
  @media screen and (min-width: 1201px) and (max-width: 1728px) {
    html {
      font-size: 0.5787037037vw;
    }
  }
  html ::-webkit-scrollbar {
    width: 0.4rem;
    height: 0.4rem;
  }
  html ::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background: rgba(51, 51, 51, 0.8);
  }
  body {
    font-weight: 400;
    font-size: 1.6rem;
    color: #131313;
    line-height: normal;
    overflow: hidden auto;
    font-family: var(--font-pri);
    background-color: #fafafa;
  }
  body.admin-bar .header {
    top: 3.2rem;
  }
  @media screen and (max-width: 782px) {
    body.admin-bar .header {
      top: 4.6rem;
    }
  }
  body .sdn-empty {
    color: #333;
    font-weight: 600;
  }
  body .grecaptcha-badge {
    display: none !important;
  }
  a {
    color: inherit;
    text-decoration: none;
  }
  button,
  select {
    border: none;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
  }
  button {
    padding: 0;
    cursor: pointer;
    background-color: transparent;
  }
  input,
  textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .container-wide {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    max-width: var(--container-width);
    padding: 0 var(--container-padding);
  }
  .container-full {
    width: 100%;
    padding: 0 4.8rem;
  }
  @media screen and (max-width: 1200px) {
    .container-full {
      padding: 0 1.6rem;
    }
  }
  .no-scroll,
  .no-scroll-popup {
    overflow: hidden;
    touch-action: none;
    -ms-scroll-chaining: none;
        overscroll-behavior: none;
    -webkit-overflow-scrolling: none;
  }
  iframe {
    vertical-align: middle;
  }
  img,
  picture {
    height: auto;
    display: block;
    max-width: 100%;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .tabBtn {
    cursor: pointer;
  }
  .tabPanel {
    display: none;
  }
  .tabPanel.open, .tabPanel.is-open {
    display: block;
    animation: opacityAni 0.8s ease-in-out;
  }
  .gItem {
    cursor: pointer;
  }
  .screen-reader-text {
    border: 0;
    padding: 0;
    top: -0.1rem;
    left: -0.1rem;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 0.1rem;
    height: 0.1rem;
    clip-path: inset(50%);
  }
  .hide-sitename {
    width: 0;
    height: 0;
    opacity: 0;
    visibility: visible;
  }
  section {
    scroll-margin-top: 10rem;
  }
  .overlay,
  .aside-overlay {
    inset: 0;
    opacity: 0;
    width: 100%;
    z-index: 100;
    height: 100dvh;
    position: fixed;
    visibility: hidden;
    transition: 0.4s ease-in-out;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.6);
  }
  .overlay.is-active,
  .aside-overlay.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .row {
    --rg: 3.2rem;
    --cg: 3.2rem;
    display: flex;
    flex-wrap: wrap;
    margin: 0 calc(var(--cg) / 2 * -1) calc(var(--rg) * -1);
  }
  .col {
    width: 100%;
    margin-bottom: var(--rg);
    padding: 0 calc(var(--cg) / 2);
  }
  .col-12 {
    width: 100%;
  }
  .col-11 {
    width: 91.6666666667%;
  }
  .col-10 {
    width: 83.3333333333%;
  }
  .col-9 {
    width: 75%;
  }
  .col-8 {
    width: 66.6666666667%;
  }
  .col-7 {
    width: 58.3333333333%;
  }
  .col-6 {
    width: 50%;
  }
  .col-5 {
    width: 41.6666666667%;
  }
  .col-4 {
    width: 33.3333333333%;
  }
  .col-3 {
    width: 25%;
  }
  .col-2 {
    width: 16.6666666667%;
  }
  .col-1 {
    width: 8.3333333333%;
  }
  .flex {
    display: flex;
    flex-direction: column;
  }
  .flex-2 {
    gap: 0.2rem;
  }
  .flex-4 {
    gap: 0.4rem;
  }
  .flex-6 {
    gap: 0.6rem;
  }
  .flex-8 {
    gap: 0.8rem;
  }
  .flex-10 {
    gap: 1rem;
  }
  .flex-12 {
    gap: 1.2rem;
  }
  .flex-14 {
    gap: 1.4rem;
  }
  .flex-16 {
    gap: 1.6rem;
  }
  .flex-18 {
    gap: 1.8rem;
  }
  .flex-20 {
    gap: 2rem;
  }
  .flex-22 {
    gap: 2.2rem;
  }
  .flex-24 {
    gap: 2.4rem;
  }
  .flex-26 {
    gap: 2.6rem;
  }
  .flex-28 {
    gap: 2.8rem;
  }
  .flex-30 {
    gap: 3rem;
  }
  .flex-32 {
    gap: 3.2rem;
  }
  .flex-34 {
    gap: 3.4rem;
  }
  .flex-36 {
    gap: 3.6rem;
  }
  .flex-38 {
    gap: 3.8rem;
  }
  .flex-40 {
    gap: 4rem;
  }
  .flex-42 {
    gap: 4.2rem;
  }
  .flex-44 {
    gap: 4.4rem;
  }
  .flex-46 {
    gap: 4.6rem;
  }
  .flex-48 {
    gap: 4.8rem;
  }
  .flex-50 {
    gap: 5rem;
  }
  .flex-56 {
    gap: 5.6rem;
  }
  .flex-60 {
    gap: 6rem;
  }
  .flex-64 {
    gap: 6.4rem;
  }
  .flex-68 {
    gap: 6.8rem;
  }
  .flex-80 {
    gap: 8rem;
  }
  .flex-100 {
    gap: 10rem;
  }
  .flex-120 {
    gap: 12rem;
  }
  @media screen and (max-width: 991px) {
    .flex-48 {
      gap: 3.2rem;
    }
    .flex-50 {
      gap: 3.2rem;
    }
    .flex-56 {
      gap: 3.2rem;
    }
    .flex-60 {
      gap: 3.2rem;
    }
    .flex-64 {
      gap: 3.2rem;
    }
    .flex-68 {
      gap: 3.2rem;
    }
    .flex-80 {
      gap: 3.2rem;
    }
    .flex-100 {
      gap: 3.2rem;
    }
    .flex-120 {
      gap: 3.2rem;
    }
  }
  @media screen and (max-width: 576px) {
    .flex-48 {
      gap: 2.4rem;
    }
    .flex-50 {
      gap: 2.4rem;
    }
    .flex-56 {
      gap: 2.4rem;
    }
    .flex-60 {
      gap: 2.4rem;
    }
    .flex-64 {
      gap: 2.4rem;
    }
    .flex-68 {
      gap: 2.4rem;
    }
    .flex-80 {
      gap: 2.4rem;
    }
    .flex-100 {
      gap: 2.4rem;
    }
    .flex-120 {
      gap: 2.4rem;
    }
  }
  .custom-logo-link {
    width: 100%;
    display: block;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .custom-logo-link img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .img {
    display: block;
    overflow: hidden;
    position: relative;
  }
  .img img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    transition: 0.4s ease-in-out;
  }
  .ic {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .title-200 {
    font-size: 20rem;
  }
  @media screen and (max-width: 1200px) {
    .title-200 {
      font-size: clamp(10rem, 7.7273rem + 6.0606vw, 15rem);
    }
  }
  .title-90 {
    font-size: 9rem;
  }
  @media screen and (max-width: 1200px) {
    .title-90 {
      font-size: clamp(4.5rem, 3.8182rem + 1.8182vw, 6rem);
    }
  }
  .title-72 {
    font-size: 7.2rem;
  }
  @media screen and (max-width: 1200px) {
    .title-72 {
      font-size: clamp(4rem, 3.5455rem + 1.2121vw, 5rem);
    }
  }
  .title-65 {
    font-size: 6.5rem;
  }
  @media screen and (max-width: 1200px) {
    .title-65 {
      font-size: clamp(3rem, 2.5455rem + 1.2121vw, 4rem);
    }
  }
  .title-64 {
    font-size: 6.4rem;
  }
  @media screen and (max-width: 1200px) {
    .title-64 {
      font-size: clamp(2.9rem, 2.4455rem + 1.2121vw, 3.9rem);
    }
  }
  .title-60 {
    font-size: 6rem;
  }
  @media screen and (max-width: 1200px) {
    .title-60 {
      font-size: clamp(2.5rem, 2.0455rem + 1.2121vw, 3.5rem);
    }
  }
  .title-56 {
    font-size: 5.6rem;
  }
  @media screen and (max-width: 1200px) {
    .title-56 {
      font-size: clamp(4rem, 3.5rem + 1.3333vw, 5.1rem);
    }
  }
  .title-55 {
    font-size: 5.5rem;
  }
  @media screen and (max-width: 1200px) {
    .title-55 {
      font-size: clamp(3.9rem, 3.4rem + 1.3333vw, 5rem);
    }
  }
  .title-50 {
    font-size: 5rem;
  }
  @media screen and (max-width: 1200px) {
    .title-50 {
      font-size: clamp(3.4rem, 2.9rem + 1.3333vw, 4.5rem);
    }
  }
  .title-48 {
    font-size: 4.8rem;
  }
  @media screen and (max-width: 1200px) {
    .title-48 {
      font-size: clamp(3.3rem, 2.8455rem + 1.2121vw, 4.3rem);
    }
  }
  .title-45 {
    font-size: 4.5rem;
  }
  @media screen and (max-width: 1200px) {
    .title-45 {
      font-size: clamp(3rem, 2.5455rem + 1.2121vw, 4rem);
    }
  }
  .title-42 {
    font-size: 4.2rem;
  }
  @media screen and (max-width: 1200px) {
    .title-42 {
      font-size: clamp(2.7rem, 2.3364rem + 0.9697vw, 3.5rem);
    }
  }
  .title-40 {
    font-size: 4rem;
  }
  @media screen and (max-width: 1200px) {
    .title-40 {
      font-size: clamp(2.7rem, 2.3364rem + 0.9697vw, 3.5rem);
    }
  }
  .title-38 {
    font-size: 3.8rem;
  }
  @media screen and (max-width: 1200px) {
    .title-38 {
      font-size: clamp(2.6rem, 2.2364rem + 0.9697vw, 3.4rem);
    }
  }
  .title-36 {
    font-size: 3.6rem;
  }
  @media screen and (max-width: 1200px) {
    .title-36 {
      font-size: clamp(2.6rem, 2.3727rem + 0.6061vw, 3.1rem);
    }
  }
  .title-35 {
    font-size: 3.5rem;
  }
  @media screen and (max-width: 1200px) {
    .title-35 {
      font-size: clamp(2.5rem, 2.2727rem + 0.6061vw, 3rem);
    }
  }
  .title-34 {
    font-size: 3.4rem;
  }
  @media screen and (max-width: 1200px) {
    .title-34 {
      font-size: clamp(2.4rem, 2.1727rem + 0.6061vw, 2.9rem);
    }
  }
  .title-32 {
    font-size: 3.2rem;
  }
  @media screen and (max-width: 1200px) {
    .title-32 {
      font-size: clamp(2.2rem, 1.9727rem + 0.6061vw, 2.7rem);
    }
  }
  .title-30 {
    font-size: 3rem;
  }
  @media screen and (max-width: 1200px) {
    .title-30 {
      font-size: clamp(2.4rem, 2.2636rem + 0.3636vw, 2.7rem);
    }
  }
  .title-29 {
    font-size: 2.9rem;
  }
  @media screen and (max-width: 1200px) {
    .title-29 {
      font-size: clamp(2.3rem, 2.1636rem + 0.3636vw, 2.6rem);
    }
  }
  .title-28 {
    font-size: 2.8rem;
  }
  @media screen and (max-width: 1200px) {
    .title-28 {
      font-size: clamp(2.1rem, 1.9636rem + 0.3636vw, 2.4rem);
    }
  }
  .title-26 {
    font-size: 2.6rem;
  }
  @media screen and (max-width: 1200px) {
    .title-26 {
      font-size: clamp(1.9rem, 1.7636rem + 0.3636vw, 2.2rem);
    }
  }
  .title-25 {
    font-size: 2.5rem;
  }
  @media screen and (max-width: 1200px) {
    .title-25 {
      font-size: clamp(1.8rem, 1.6636rem + 0.3636vw, 2.1rem);
    }
  }
  .title-24 {
    font-size: 2.4rem;
  }
  @media screen and (max-width: 1200px) {
    .title-24 {
      font-size: clamp(1.7rem, 1.5636rem + 0.3636vw, 2rem);
    }
  }
  .text-22 {
    font-size: 2.2rem;
  }
  @media screen and (max-width: 1200px) {
    .text-22 {
      font-size: clamp(1.9rem, 1.8545rem + 0.1212vw, 2rem);
    }
  }
  .text-20 {
    font-size: 2rem;
  }
  @media screen and (max-width: 1200px) {
    .text-20 {
      font-size: clamp(1.6rem, 1.5091rem + 0.2424vw, 1.8rem);
    }
  }
  .text-19 {
    font-size: 1.9rem;
  }
  @media screen and (max-width: 1200px) {
    .text-19 {
      font-size: clamp(1.6rem, 1.5545rem + 0.1212vw, 1.7rem);
    }
  }
  .text-18 {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .text-18 {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  .text-16 {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .text-16 {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .text-15 {
    font-size: 1.5rem;
  }
  .text-14 {
    font-size: 1.4rem;
  }
  .text-13 {
    font-size: 1.3rem;
  }
  .text-12 {
    font-size: 1.2rem;
  }
  .text-11 {
    font-size: 1.1rem;
  }
  .text-10 {
    font-size: 1rem;
  }
  .text-9 {
    font-size: 0.9rem;
  }
  .f-pri {
    font-family: var(--font-pri);
  }
  .f-tt {
    font-family: var(--font-title);
  }
  .f-desc {
    font-family: var(--font-desc);
  }
  .cl-pri {
    color: #c5342d;
  }
  .cl-sec {
    color: #fe7a15;
  }
  .js-menu-search .search {
    display: block;
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
    width: 2.4rem;
    height: 2.4rem;
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .js-menu-search .search:hover, .js-menu-search .search:focus-visible {
      opacity: 0.6;
    }
  }
  .js-menu-search.is-active .search {
    opacity: 0.5;
  }
  .js-menu-search.is-active .search-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  .search-menu {
    gap: 1.2rem;
    z-index: 5;
    opacity: 0;
    top: 100%;
    display: flex;
    width: 50rem;
    visibility: hidden;
    position: absolute;
    transition: 0.3s ease-in-out;
    pointer-events: none;
    flex-direction: column;
    transform: translateY(-0.8rem);
    right: 4.8rem;
  }
  @media screen and (max-width: 1200px) {
    .search-menu {
      left: 1.6rem;
      right: 1.6rem;
      width: auto;
    }
  }
  .search-field {
    gap: 0.8rem;
    padding: 1.2rem;
    display: flex;
    align-items: center;
    background-color: #fafafa;
    box-shadow: inset 0 0 0 0.1rem #202020;
  }
  .search-field-icon {
    display: flex;
    flex-shrink: 0;
    padding: 0.8rem;
    border-radius: var(--radius-max);
  }
  .search-field-icon img {
    width: 2.4rem;
    height: 2.4rem;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .search-input {
    width: 100%;
    border: none;
    outline: none;
    height: 2.4rem;
    line-height: 1.5;
    color: #111111;
    background: transparent;
    font-family: var(--font-pri);
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .search-input {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .search-input {
    padding: 0;
  }
  .search-input::-moz-placeholder {
    color: #999999;
  }
  .search-input:-ms-input-placeholder {
    color: #999999;
  }
  .search-input::placeholder {
    color: #999999;
  }
  .search-input::-webkit-search-cancel-button {
    display: none;
  }
  .search-result {
    padding: 2.4rem;
    overflow-y: auto;
    max-height: 38.2rem;
    background-color: #fafafa;
    border: 0.1rem solid #111111;
  }
  .search-result[hidden] {
    display: none !important;
  }
  .search-result.is-loading {
    opacity: 0.7;
  }
  .search-empty {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #666;
    text-align: center;
  }
  .search-item--more {
    padding-top: 0.8rem;
  }
  .search-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 4.4rem;
    padding: 1.2rem 1.6rem;
    border: 1px solid #111;
    background: #111;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-family: var(--font-title);
    font-size: 1.6rem;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .search-result {
      padding: 1.6rem;
      max-height: 60vh;
    }
  }
  .search-list {
    gap: 2.8rem;
    display: flex;
    flex-direction: column;
  }
  .search-item-link {
    gap: 2.8rem;
    display: flex;
    align-items: center;
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .search-item-link:hover .search-item-name, .search-item-link:focus-visible .search-item-name {
      color: #c5342d;
    }
  }
  @media screen and (max-width: 767px) {
    .search-item-link {
      gap: 1.6rem;
    }
  }
  .search-item-thumb {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    width: 10.6rem;
    height: 15.2rem;
    background-color: #f5f5f2;
  }
  @media screen and (max-width: 767px) {
    .search-item-thumb {
      width: 8rem;
      height: 11.4rem;
    }
  }
  .search-item-img {
    width: 100%;
    height: 11.2rem;
  }
  @media screen and (max-width: 767px) {
    .search-item-img {
      height: 8.4rem;
    }
  }
  .search-item-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .search-item-info {
    gap: 0.2rem;
    display: flex;
    max-width: 24.1rem;
    flex-direction: column;
  }
  .search-item-name {
    line-height: 1.5;
    color: #131313;
    transition: 0.3s ease-in-out;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .search-item-name {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .search-item-price {
    gap: 0.4rem;
    flex-wrap: wrap;
    line-height: 1.5;
    display: flex;
    align-items: center;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .search-item-price {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .search-item-price-new {
    font-weight: 700;
    color: #131313;
  }
  .search-item-price-old {
    font-style: italic;
    color: #999999;
    text-decoration: line-through;
  }
  @keyframes opacityAni {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes shakeIcon {
    0%, 50%, 100% {
      transform: rotate(0);
    }
    10%, 30% {
      transform: rotate(-25deg);
    }
    20%, 40% {
      transform: rotate(25deg);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .move-top-link {
      animation: none;
    }
  }
  :root {
    --skeleton-bg: #ebebeb;
    --skeleton-shine: rgba(255, 255, 255, 0.65);
    --skeleton-speed: 1.4s;
    --skeleton-fade: 0.4s;
  }
  .skeleton {
    display: block;
    overflow: hidden;
    position: relative;
    background-color: var(--skeleton-bg);
    aspect-ratio: var(--skeleton-ratio, auto);
  }
  .skeleton::after {
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    pointer-events: none;
    animation: skeletonShimmer var(--skeleton-speed) linear infinite;
    background-image: linear-gradient(90deg, transparent 0%, var(--skeleton-shine) 50%, transparent 100%);
  }
  .skeleton > img {
    opacity: 0;
    transition: opacity var(--skeleton-fade) ease;
  }
  .skeleton.is-loaded {
    background-color: transparent;
  }
  .skeleton.is-loaded::after {
    content: none;
  }
  .skeleton.is-loaded > img {
    opacity: 1;
  }
  .skeleton.is-error::after {
    content: none;
  }
  .skeleton.is-error > img {
    opacity: 0;
  }
  .img > .skeleton {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
  }
  @keyframes skeletonShimmer {
    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(100%);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .skeleton::after {
      animation: none;
    }
  }
  .breadcrumb {
    padding-top: 2.4rem;
  }
  @media screen and (max-width: 576px) {
    .breadcrumb {
      padding-top: 1.6rem;
    }
  }
  .breadcrumb-list {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .breadcrumb-item {
    line-height: 150%;
    white-space: nowrap;
    transition: 0.4s ease-in-out;
    display: flex;
    align-items: center;
  }
  @media screen and (min-width: 1201px) {
    .breadcrumb-item:not(.is-current):hover {
      color: #c5342d;
    }
  }
  .breadcrumb-item:not(:first-child)::before {
    content: "";
    flex-shrink: 0;
    margin: 0 0.8rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    width: 2.4rem;
    height: 2.4rem;
    display: inline-block;
    transform: rotate(-90deg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
    background-image: url("../../assets/images/icons/icon-chevron.svg");
  }
  @media screen and (max-width: 767px) {
    .breadcrumb-item:not(:first-child)::before {
      margin: 0 0.4rem;
      width: 1.6rem;
      height: 1.6rem;
    }
  }
  .breadcrumb-item.is-current {
    font-weight: 700;
  }
  .breadcrumb-item:last-child {
    cursor: default;
    white-space: normal;
  }
  .breadcrumb-item:last-child .text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-clamp: 1;
    -webkit-line-clamp: 1;
  }
  .breadcrumb-item .text {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .breadcrumb-item .text {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .price {
    gap: 0.4rem 0.8rem;
    display: flex;
    flex-wrap: wrap;
    font-weight: 700;
    font-size: 2rem;
  }
  @media screen and (max-width: 1200px) {
    .price {
      font-size: clamp(1.6rem, 1.5091rem + 0.2424vw, 1.8rem);
    }
  }
  .price {
    color: #131313;
    align-items: baseline;
  }
  .price del {
    font-weight: 400;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .price del {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .price del {
    color: rgba(0, 0, 0, 0.45);
    text-decoration: line-through;
  }
  .price ins {
    background-color: transparent;
    text-decoration: none;
  }
  .price .woocommerce-price-suffix {
    font-weight: 400;
    font-size: 1.3rem;
    color: rgba(0, 0, 0, 0.45);
  }
  .product-card {
    width: 100%;
    display: flex;
    position: relative;
    flex-direction: column;
  }
  .product-card-media {
    width: 100%;
    flex-shrink: 0;
    height: 54.9rem;
    overflow: hidden;
    position: relative;
    background-color: #f5f5f2;
    transition: 0.4s ease-in-out;
  }
  .product-card-media.is-loaded {
    background-color: #f5f5f2;
  }
  @media screen and (max-width: 1200px) {
    .product-card-media {
      height: auto;
      aspect-ratio: 384 / 549;
    }
  }
  .product-card-shot {
    inset: 0;
    opacity: 0;
    position: absolute;
    pointer-events: none;
    transition: 0.4s ease-in-out;
  }
  .product-card-shot.is-active {
    opacity: 1;
    pointer-events: auto;
  }
  .product-card-shot img {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    position: absolute;
    -o-object-fit: cover;
       object-fit: cover;
    transition: 0.4s ease-in-out;
  }
  .product-card-shot .is-packshot {
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    -o-object-fit: cover;
       object-fit: cover;
    transform: none;
  }
  .product-card-shot .is-look {
    opacity: 0;
  }
  .product-card .onsale {
    top: 0.8rem;
    left: 0.8rem;
    z-index: 2;
    font-weight: 700;
    line-height: 1.15;
    position: absolute;
    color: white;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 0.8rem;
    text-transform: uppercase;
    background-color: #c5342d;
    font-family: var(--font-title);
    font-size: 1.4rem;
  }
  .product-card-nav {
    top: 50%;
    z-index: 2;
    opacity: 0;
    padding: 0;
    cursor: pointer;
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease-in-out;
    transform: translateY(-50%);
    background-color: transparent;
  }
  .product-card-nav img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    filter: var(--filter-white);
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .product-card-nav:hover, .product-card-nav:focus-visible {
      opacity: 1;
    }
  }
  .product-card-prev {
    left: 0.8rem;
  }
  .product-card-prev img {
    transform: rotate(90deg);
  }
  .product-card-next {
    right: 0.8rem;
  }
  .product-card-next img {
    transform: rotate(-90deg);
  }
  .product-card-info {
    gap: 1.2rem;
    display: flex;
    padding-top: 1.6rem;
    flex-direction: column;
    background-color: #fafafa;
  }
  .product-card-heading {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .product-card .woocommerce-loop-product__title {
    line-height: 1.5;
    font-weight: 400;
    color: #131313;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .product-card .woocommerce-loop-product__title {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .product-card .woocommerce-loop-product__title a {
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .product-card .woocommerce-loop-product__title a:hover, .product-card .woocommerce-loop-product__title a:focus-visible {
      color: #c5342d;
    }
  }
  .product-card-variation {
    opacity: 0;
    height: 0;
    overflow: hidden;
    line-height: 1.43;
    color: #73736f;
    transition: 0.4s ease-in-out;
    font-size: 1.4rem;
  }
  .product-card-colors {
    gap: 0.8rem;
    opacity: 0;
    height: 0;
    display: flex;
    overflow: hidden;
    align-items: center;
    margin-bottom: -1.2rem;
    transition: 0.4s ease-in-out;
  }
  .product-card-colors-track {
    flex: 1;
    min-width: 0;
  }
  .product-card-colors-track .swiper-slide {
    height: auto;
    width: 6.4rem !important;
  }
  .product-card-colors-prev, .product-card-colors-next {
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
    width: 1.8rem;
    height: 1.8rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease-in-out;
    background-color: transparent;
  }
  .product-card-colors-prev img, .product-card-colors-next img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    opacity: 0.6;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .product-card-colors-prev:hover img, .product-card-colors-prev:focus-visible img, .product-card-colors-next:hover img, .product-card-colors-next:focus-visible img {
      opacity: 1;
    }
  }
  .product-card-colors-prev.swiper-button-disabled, .product-card-colors-prev.swiper-button-lock, .product-card-colors-next.swiper-button-disabled, .product-card-colors-next.swiper-button-lock {
    display: none;
  }
  .product-card-colors-prev img {
    transform: rotate(90deg);
  }
  .product-card-colors-next img {
    transform: rotate(-90deg);
  }
  .product-card-color {
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    width: 6.4rem;
    height: 6.4rem;
    transition: 0.3s ease-in-out;
    background-color: #f5f5f2;
    border: 0.1rem solid #d9d9d9;
  }
  .product-card-color img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .product-card-color:hover, .product-card-color:focus-visible {
      border-color: #656565;
    }
  }
  .product-card-color.is-active {
    border-color: #131313;
  }
  .product-card-sizes {
    gap: 0.8rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .product-card-size {
    width: 3.8rem;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1.43;
    height: 2.4rem;
    text-align: center;
    color: #131313;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.4rem;
    transition: 0.3s ease-in-out;
    border: 0.1rem solid #999999;
    font-size: 1.4rem;
    background-color: #fff;
  }
  .product-card--list .product-card-size {
    width: auto;
    min-width: 3.8rem;
    padding: 0.2rem 0.8rem;
  }
  .product-card-size.is-active,
  .product-card-size:hover,
  .product-card-size:focus-visible {
    color: white;
    border-color: #111111;
    background-color: #111111;
  }
  .product-card-size.is-disabled:hover,
  .product-card-size.is-disabled:focus-visible,
  .product-card-size:disabled:hover,
  .product-card-size:disabled:focus-visible {
    color: #131313;
    border-color: #999999;
    background-color: #fff;
  }
  .product-card-size.loading {
    opacity: 0.5;
    pointer-events: none;
  }
  .product-card-size.added {
    color: white;
    border-color: #009262;
    background-color: #009262;
  }
  .product-card .price {
    gap: 0.4rem;
    display: flex;
    flex-wrap: wrap;
    line-height: 1.5;
    align-items: baseline;
    font-size: 1.6rem;
    color: #131313;
  }
  @media screen and (max-width: 1200px) {
    .product-card .price {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .product-card .price del {
    order: 2;
    font-weight: 400;
    font-style: italic;
    color: #999999;
    text-decoration: line-through;
  }
  .product-card .price ins {
    order: 1;
    font-weight: 700;
    color: #131313;
    text-decoration: none;
    background-color: transparent;
  }
  .product-card.is-hover .product-card-media {
    height: 44.8rem;
  }
  .product-card.is-hover .product-card-shot.is-active.has-look .is-packshot {
    opacity: 0;
  }
  .product-card.is-hover .product-card-shot.is-active.has-look .is-look {
    opacity: 1;
  }
  .product-card.is-hover .product-card-nav {
    opacity: 0.7;
  }
  .product-card.is-hover .product-card-variation {
    opacity: 1;
    height: 2rem;
    margin-top: 0.4rem;
  }
  .product-card.is-hover .product-card-colors {
    opacity: 1;
    height: 6.4rem;
    margin-bottom: 0;
    overflow: visible;
  }
  /* Mobile/tablet: giữ aspect-ratio, không để height hover desktop đè làm méo thumbnail */
  @media (hover: none), (pointer: coarse), screen and (max-width: 1200px) {
    .product-card .product-card-media,
    .product-card.is-hover .product-card-media {
      height: auto;
      aspect-ratio: 384 / 448;
    }
    .product-card .product-card-nav {
      opacity: 0.7;
    }
    .product-card .product-card-variation {
      opacity: 1;
      height: 2rem;
      margin-top: 0.4rem;
    }
    .product-card .product-card-colors {
      opacity: 1;
      height: 6.4rem;
      margin-bottom: 0;
      overflow: visible;
    }
  }
  .woocommerce .shop_table {
    width: 100%;
    text-align: left;
    border-spacing: 0;
    border-collapse: separate;
    border-radius: var(--radius-m);
    box-shadow: 0 0 0 0.1rem rgba(0, 0, 0, 0.08);
  }
  .woocommerce .shop_table th,
  .woocommerce .shop_table td {
    font-size: 1.5rem;
    vertical-align: middle;
    padding: 1.6rem 2rem;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.08);
  }
  .woocommerce .shop_table thead th {
    color: white;
    font-weight: 600;
    white-space: nowrap;
    background-color: #c5342d;
  }
  .woocommerce .shop_table thead th:first-child {
    border-top-left-radius: var(--radius-m);
  }
  .woocommerce .shop_table thead th:last-child {
    border-top-right-radius: var(--radius-m);
  }
  .woocommerce .shop_table tbody tr:last-child th,
  .woocommerce .shop_table tbody tr:last-child td {
    border-bottom: 0;
  }
  .woocommerce-cart-form .product-remove {
    width: 4.8rem;
  }
  .woocommerce-cart-form .product-thumbnail {
    width: 9.6rem;
  }
  .woocommerce-cart-form .product-thumbnail img {
    display: block;
    width: 8rem;
    height: 8rem;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: var(--radius-m);
  }
  .woocommerce-cart-form .product-name a {
    font-weight: 600;
    transition: 0.4s ease-in-out;
    color: #131313;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .woocommerce-cart-form .product-name a:hover, .woocommerce-cart-form .product-name a:focus-visible {
      color: #c5342d;
    }
  }
  .woocommerce-cart-form .product-price,
  .woocommerce-cart-form .product-subtotal {
    white-space: nowrap;
  }
  .woocommerce-cart-form .product-subtotal {
    font-weight: 700;
    color: #131313;
  }
  .woocommerce-cart-form .product-price del,
  .woocommerce-cart-form .product-price ins,
  .woocommerce-cart-form .product-subtotal del,
  .woocommerce-cart-form .product-subtotal ins {
    display: block;
  }
  .woocommerce-cart-form .product-price del,
  .woocommerce-cart-form .product-subtotal del {
    font-weight: 400;
    font-size: 1.3rem;
    color: rgba(0, 0, 0, 0.45);
    text-decoration: line-through;
  }
  .woocommerce-cart-form .product-price ins,
  .woocommerce-cart-form .product-subtotal ins {
    text-decoration: none;
    background-color: transparent;
  }
  .woocommerce-cart-form .product-price ins {
    color: #131313;
  }
  .woocommerce a.remove {
    width: 2.8rem;
    height: 2.8rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    transition: 0.4s ease-in-out;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 400;
    color: rgba(0, 0, 0, 0.45);
    border-radius: var(--radius-circle);
    background-color: rgba(0, 0, 0, 0.05);
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .woocommerce a.remove:hover, .woocommerce a.remove:focus-visible {
      color: white;
      background-color: #e02b2b;
    }
  }
  .woocommerce .quantity .qty {
    width: 8rem;
    outline: 0;
    font-size: 1.5rem;
    text-align: center;
    padding: 0.8rem 0.4rem;
    color: #131313;
    border-radius: var(--radius-m);
    border: 0.1rem solid rgba(0, 0, 0, 0.15);
    transition: 0.4s ease-in-out;
  }
  .woocommerce .quantity .qty:focus {
    border-color: #c5342d;
  }
  .woocommerce-cart-form .actions {
    text-align: right;
  }
  .woocommerce-cart-form .actions::after {
    clear: both;
    display: block;
    content: "";
  }
  @media screen and (max-width: 767px) {
    .woocommerce-cart-form .actions {
      text-align: left;
    }
  }
  .woocommerce-cart-form .actions .coupon {
    gap: 0.8rem;
    display: flex;
    float: left;
    flex-wrap: wrap;
  }
  @media screen and (max-width: 767px) {
    .woocommerce-cart-form .actions .coupon {
      float: none;
      flex-wrap: nowrap;
      margin-bottom: 1.2rem;
    }
  }
  .woocommerce-cart-form .actions .input-text {
    width: 20rem;
    outline: 0;
    font-size: 1.5rem;
    transition: 0.4s ease-in-out;
    padding: 0 1.6rem;
    height: 4.4rem;
    color: #131313;
    border-radius: var(--radius-m);
    border: 0.1rem solid rgba(0, 0, 0, 0.15);
  }
  .woocommerce-cart-form .actions .input-text:focus {
    border-color: #c5342d;
  }
  @media screen and (max-width: 767px) {
    .woocommerce-cart-form .actions .input-text {
      width: 100%;
    }
    .woocommerce-cart-form .actions > .button {
      width: 100%;
    }
  }
  .woocommerce .button {
    cursor: pointer;
    font-weight: 600;
    font-size: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    display: inline-flex;
    transition: 0.4s ease-in-out;
    height: 4.4rem;
    padding: 0 2.4rem;
    color: #c5342d;
    white-space: nowrap;
    font-family: inherit;
    background-color: transparent;
    border-radius: var(--radius-m);
    border: 0.1rem solid #c5342d;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .woocommerce .button:hover, .woocommerce .button:focus-visible {
      color: white;
      background-color: #c5342d;
    }
  }
  .woocommerce .button:disabled {
    opacity: 0.4;
    pointer-events: none;
  }
  .woocommerce .button.alt {
    color: white;
    border-color: #fe7a15;
    background-color: #fe7a15;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .woocommerce .button.alt:hover, .woocommerce .button.alt:focus-visible {
      border-color: #c5342d;
      background-color: #c5342d;
    }
  }
  .cart-collaterals {
    margin-top: 3.2rem;
    margin-left: auto;
    max-width: 44rem;
  }
  @media screen and (max-width: 767px) {
    .cart-collaterals {
      max-width: 100%;
      margin-top: 2.4rem;
    }
  }
  .cart_totals h2 {
    font-size: 2rem;
  }
  @media screen and (max-width: 1200px) {
    .cart_totals h2 {
      font-size: clamp(1.6rem, 1.5091rem + 0.2424vw, 1.8rem);
    }
  }
  .cart_totals h2 {
    font-weight: 700;
    margin-bottom: 1.6rem;
    color: #131313;
  }
  .cart_totals th {
    width: 40%;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.55);
  }
  .cart_totals .order-total th,
  .cart_totals .order-total td {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .cart_totals .order-total th,
    .cart_totals .order-total td {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  .cart_totals .order-total th,
  .cart_totals .order-total td {
    font-weight: 700;
    color: #131313;
  }
  .cart_totals .order-total td strong {
    color: #fe7a15;
  }
  .cart_totals .woocommerce-shipping-methods {
    gap: 0.8rem;
    display: flex;
    flex-direction: column;
  }
  .cart_totals .woocommerce-shipping-methods li {
    gap: 0.8rem;
    display: flex;
    align-items: center;
  }
  .cart_totals .woocommerce-shipping-methods input[type=radio] {
    flex-shrink: 0;
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
    accent-color: #c5342d;
    -webkit-appearance: radio;
    width: 1.6rem;
    height: 1.6rem;
  }
  .cart_totals .woocommerce-shipping-methods label {
    cursor: pointer;
    font-size: 1.4rem;
  }
  .cart_totals .woocommerce-shipping-destination {
    font-size: 1.3rem;
    margin-top: 1.2rem;
    color: rgba(0, 0, 0, 0.55);
  }
  .wc-proceed-to-checkout {
    margin-top: 1.6rem;
  }
  .wc-proceed-to-checkout .checkout-button {
    width: 100%;
    height: 5.2rem;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .wc-proceed-to-checkout .checkout-button {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .woocommerce .cart-empty {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .woocommerce .cart-empty {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .woocommerce .cart-empty {
    font-weight: 500;
    padding: 1.6rem 2rem;
    color: #131313;
    border-radius: var(--radius-m);
    border-left: 0.4rem solid #c5342d;
    background-color: rgba(0, 69, 148, 0.06);
  }
  .woocommerce .return-to-shop {
    margin-top: 1.6rem;
  }
  @media screen and (max-width: 767px) {
    .woocommerce .shop_table_responsive {
      box-shadow: none;
    }
    .woocommerce .shop_table_responsive thead {
      display: none;
    }
    .woocommerce .shop_table_responsive tbody,
    .woocommerce .shop_table_responsive tr,
    .woocommerce .shop_table_responsive th,
    .woocommerce .shop_table_responsive td {
      display: block;
      width: auto;
    }
    .woocommerce .shop_table_responsive tr {
      padding: 1.6rem;
      border-radius: var(--radius-m);
      box-shadow: 0 0 0 0.1rem rgba(0, 0, 0, 0.08);
    }
    .woocommerce .shop_table_responsive tr:not(:first-child) {
      margin-top: 1.2rem;
    }
    .woocommerce .shop_table_responsive th,
    .woocommerce .shop_table_responsive td {
      padding: 0;
      border-bottom: 0;
    }
    .woocommerce .shop_table_responsive th:not(:first-child),
    .woocommerce .shop_table_responsive td:not(:first-child) {
      margin-top: 0.8rem;
    }
    .woocommerce .shop_table_responsive td[data-title] {
      gap: 1.6rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .woocommerce .shop_table_responsive td[data-title]::before {
      flex-shrink: 0;
      font-weight: 600;
      content: attr(data-title);
      color: rgba(0, 0, 0, 0.55);
    }
    .woocommerce-cart-form .shop_table_responsive tr.cart_item {
      position: relative;
    }
    .woocommerce-cart-form .shop_table_responsive .product-remove {
      top: 1.6rem;
      right: 1.6rem;
      position: absolute;
    }
    .woocommerce-cart-form .shop_table_responsive .product-thumbnail img {
      width: 100%;
      height: 18rem;
    }
    .woocommerce-cart-form .shop_table_responsive .actions {
      box-shadow: none;
      padding: 0;
    }
    .cart_totals .shop_table_responsive tr {
      gap: 1.6rem;
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: space-between;
    }
    .cart_totals .shop_table_responsive th,
    .cart_totals .shop_table_responsive td {
      margin-top: 0;
    }
  }
  .woocommerce-form-coupon-toggle .woocommerce-info {
    font-size: 1.5rem;
    padding: 1.6rem 2rem;
    color: #131313;
    border-radius: var(--radius-m);
    border-left: 0.4rem solid #c5342d;
    background-color: rgba(0, 69, 148, 0.06);
  }
  .woocommerce-form-coupon-toggle .woocommerce-info a {
    font-weight: 600;
    color: #c5342d;
    text-decoration: underline;
  }
  .woocommerce-form-coupon {
    gap: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-top: 1.6rem;
    padding: 2rem;
    border-radius: var(--radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .woocommerce-form-coupon > p:first-child {
    width: 100%;
    font-size: 1.4rem;
    color: rgba(0, 0, 0, 0.55);
  }
  .woocommerce-form-coupon .clear {
    display: none;
  }
  .woocommerce-form-coupon .form-row {
    margin: 0;
  }
  .col2-set > .col-1,
  .col2-set > .col-2 {
    width: auto;
    padding: 0;
    margin-bottom: 0;
  }
  .woocommerce-checkout {
    margin-top: 3.2rem;
  }
  @media screen and (max-width: 991px) {
    .woocommerce-checkout {
      margin-top: 2.4rem;
    }
  }
  .woocommerce-checkout .col2-set {
    gap: 4rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  @media screen and (max-width: 991px) {
    .woocommerce-checkout .col2-set {
      gap: 3.2rem;
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .woocommerce-checkout h3 {
    font-size: 2rem;
  }
  @media screen and (max-width: 1200px) {
    .woocommerce-checkout h3 {
      font-size: clamp(1.6rem, 1.5091rem + 0.2424vw, 1.8rem);
    }
  }
  .woocommerce-checkout h3 {
    font-weight: 700;
    color: #131313;
    margin-bottom: 1.6rem;
  }
  .woocommerce-checkout > .col2-set h3 {
    display: flex;
    align-items: center;
    min-height: 3.2rem;
  }
  .woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 3.2rem;
  }
  @media screen and (max-width: 991px) {
    .woocommerce-checkout .woocommerce-additional-fields {
      margin-top: 2.4rem;
    }
  }
  .woocommerce-checkout #order_review_heading {
    margin-top: 4rem;
  }
  @media screen and (max-width: 991px) {
    .woocommerce-checkout #order_review_heading {
      margin-top: 3.2rem;
    }
  }
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper {
    gap: 1.6rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  @media screen and (max-width: 576px) {
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper,
    .woocommerce-additional-fields__field-wrapper {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .woocommerce .form-row {
    gap: 0.6rem;
    display: flex;
    margin: 0;
    flex-direction: column;
  }
  .woocommerce .form-row.form-row-wide, .woocommerce .form-row.notes, .woocommerce .form-row.place-order {
    grid-column: 1/-1;
  }
  .woocommerce .form-row label {
    font-size: 1.4rem;
    font-weight: 500;
    color: #131313;
  }
  .woocommerce .form-row .required {
    color: #e02b2b;
    border: 0;
    text-decoration: none;
  }
  .woocommerce .form-row .woocommerce-input-wrapper {
    display: block;
  }
  .woocommerce .form-row .input-text,
  .woocommerce .form-row select {
    width: 100%;
    outline: 0;
    font-size: 1.5rem;
    height: 4.8rem;
    transition: 0.4s ease-in-out;
    padding: 0 1.6rem;
    color: #131313;
    font-family: inherit;
    background-color: white;
    border-radius: var(--radius-m);
    border: 0.1rem solid rgba(0, 0, 0, 0.15);
  }
  .woocommerce .form-row .input-text::-moz-placeholder, .woocommerce .form-row select::-moz-placeholder {
    color: rgba(0, 0, 0, 0.4);
  }
  .woocommerce .form-row .input-text:-ms-input-placeholder, .woocommerce .form-row select:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.4);
  }
  .woocommerce .form-row .input-text::placeholder,
  .woocommerce .form-row select::placeholder {
    color: rgba(0, 0, 0, 0.4);
  }
  .woocommerce .form-row .input-text:hover, .woocommerce .form-row .input-text:focus,
  .woocommerce .form-row select:hover,
  .woocommerce .form-row select:focus {
    border-color: #c5342d;
  }
  .woocommerce .form-row textarea.input-text {
    height: 10rem;
    resize: none;
    padding: 1.2rem 1.6rem;
  }
  .woocommerce .form-row select {
    cursor: pointer;
    padding-right: 4.8rem;
    background-position: right 1.6rem center;
    background-repeat: no-repeat;
    background-size: 2rem;
    background-image: url("../../assets/images/icons/icon-chevron.svg");
  }
  .woocommerce-form__label-for-checkbox {
    gap: 0.8rem;
    cursor: pointer;
    display: flex;
    font-size: 1.5rem;
    font-weight: 500;
    align-items: center;
  }
  .woocommerce-form__label-for-checkbox .input-checkbox {
    flex-shrink: 0;
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
    accent-color: #c5342d;
    width: 1.8rem;
    height: 1.8rem;
    -webkit-appearance: checkbox;
  }
  .woocommerce-checkout-review-order {
    margin-top: 1.6rem;
  }
  .woocommerce-checkout-review-order-table .product-name {
    font-weight: 500;
  }
  .woocommerce-checkout-review-order-table .product-quantity {
    font-weight: 700;
    color: rgba(0, 0, 0, 0.55);
  }
  .woocommerce-checkout-review-order-table .product-total,
  .woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
    white-space: nowrap;
  }
  .woocommerce-checkout-review-order-table tfoot th {
    font-weight: 500;
    color: rgba(0, 0, 0, 0.55);
  }
  .woocommerce-checkout-review-order-table tfoot .order-total th,
  .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .woocommerce-checkout-review-order-table tfoot .order-total th,
    .woocommerce-checkout-review-order-table tfoot .order-total td {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  .woocommerce-checkout-review-order-table tfoot .order-total th,
  .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-weight: 700;
    color: #131313;
  }
  .woocommerce-checkout-review-order-table tfoot .order-total td strong {
    color: #fe7a15;
  }
  .woocommerce-checkout-payment {
    margin-top: 2.4rem;
    padding: 2.4rem;
    border-radius: var(--radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  @media screen and (max-width: 767px) {
    .woocommerce-checkout-payment {
      padding: 1.6rem;
    }
  }
  .wc_payment_methods {
    gap: 1.2rem;
    display: flex;
    flex-direction: column;
  }
  .wc_payment_methods .wc_payment_method {
    padding: 1.6rem;
    transition: 0.4s ease-in-out;
    border-radius: var(--radius-m);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .wc_payment_methods .wc_payment_method:has(input:checked) {
    border-color: #c5342d;
    background-color: rgba(0, 69, 148, 0.04);
  }
  .wc_payment_methods label {
    gap: 0.8rem;
    cursor: pointer;
    display: flex;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .wc_payment_methods label {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .wc_payment_methods label {
    font-weight: 600;
    align-items: center;
    color: #131313;
  }
  .wc_payment_methods .input-radio {
    float: left;
    flex-shrink: 0;
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
    margin-right: 0.8rem;
    accent-color: #c5342d;
    width: 1.8rem;
    height: 2.4rem;
    -webkit-appearance: radio;
  }
  .wc_payment_methods .payment_box {
    clear: both;
    font-size: 1.4rem;
    line-height: 160%;
    padding-top: 1.2rem;
    color: rgba(0, 0, 0, 0.55);
  }
  .place-order {
    gap: 1.6rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .place-order #place_order {
    width: 100%;
    height: 5.2rem;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .place-order #place_order {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .woocommerce-notice--success {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .woocommerce-notice--success {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .woocommerce-notice--success {
    font-weight: 600;
    padding: 1.6rem 2rem;
    color: #1a7f45;
    border-radius: var(--radius-m);
    border-left: 0.4rem solid #1a7f45;
    background-color: rgba(26, 127, 69, 0.08);
  }
  .woocommerce-order-overview {
    gap: 1.6rem;
    display: grid;
    margin-top: 2.4rem;
    padding: 2rem 2.4rem;
    border-radius: var(--radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  }
  @media screen and (max-width: 767px) {
    .woocommerce-order-overview {
      gap: 1.2rem;
      padding: 1.6rem;
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .woocommerce-order-overview li {
    gap: 0.4rem;
    display: flex;
    font-size: 1.3rem;
    flex-direction: column;
    color: rgba(0, 0, 0, 0.55);
  }
  .woocommerce-order-overview li strong {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .woocommerce-order-overview li strong {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .woocommerce-order-overview li strong {
    font-weight: 700;
    color: #131313;
  }
  .woocommerce-order-overview .total strong {
    color: #fe7a15;
  }
  .woocommerce-bacs-bank-details,
  .woocommerce-order-details,
  .woocommerce-customer-details {
    margin-top: 3.2rem;
  }
  @media screen and (max-width: 767px) {
    .woocommerce-bacs-bank-details,
    .woocommerce-order-details,
    .woocommerce-customer-details {
      margin-top: 2.4rem;
    }
  }
  .woocommerce-bacs-bank-details {
    padding: 2rem 2.4rem;
    border-radius: var(--radius);
    background-color: rgba(0, 69, 148, 0.04);
  }
  .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
    font-weight: 700;
    color: #131313;
    margin-bottom: 1.2rem;
  }
  .woocommerce-bacs-bank-details .wc-bacs-bank-details li {
    gap: 0.8rem;
    display: flex;
    font-size: 1.4rem;
    flex-wrap: wrap;
    color: rgba(0, 0, 0, 0.55);
  }
  .woocommerce-bacs-bank-details .wc-bacs-bank-details li:not(:first-child) {
    margin-top: 0.4rem;
  }
  .woocommerce-bacs-bank-details .wc-bacs-bank-details li strong {
    font-weight: 600;
    color: #131313;
  }
  .woocommerce-order-details__title,
  .woocommerce-column__title {
    font-size: 2rem;
  }
  @media screen and (max-width: 1200px) {
    .woocommerce-order-details__title,
    .woocommerce-column__title {
      font-size: clamp(1.6rem, 1.5091rem + 0.2424vw, 1.8rem);
    }
  }
  .woocommerce-order-details__title,
  .woocommerce-column__title {
    font-weight: 700;
    color: #131313;
    margin-bottom: 1.6rem;
  }
  .woocommerce-table--order-details .product-quantity {
    font-weight: 700;
    color: rgba(0, 0, 0, 0.55);
  }
  .woocommerce-table--order-details .product-name a {
    font-weight: 600;
    transition: 0.4s ease-in-out;
    color: #131313;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .woocommerce-table--order-details .product-name a:hover, .woocommerce-table--order-details .product-name a:focus-visible {
      color: #c5342d;
    }
  }
  .woocommerce-table--order-details .product-total,
  .woocommerce-table--order-details tfoot td {
    text-align: right;
    white-space: nowrap;
  }
  .woocommerce-table--order-details tfoot th {
    font-weight: 500;
    color: rgba(0, 0, 0, 0.55);
  }
  .woocommerce-table--order-details tfoot tr:last-child th,
  .woocommerce-table--order-details tfoot tr:last-child td {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .woocommerce-table--order-details tfoot tr:last-child th,
    .woocommerce-table--order-details tfoot tr:last-child td {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  .woocommerce-table--order-details tfoot tr:last-child th,
  .woocommerce-table--order-details tfoot tr:last-child td {
    font-weight: 700;
    color: #131313;
  }
  .woocommerce-table--order-details tfoot tr:last-child td strong {
    color: #fe7a15;
  }
  .woocommerce-columns--addresses {
    gap: 3.2rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  @media screen and (max-width: 767px) {
    .woocommerce-columns--addresses {
      gap: 2.4rem;
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .woocommerce-columns--addresses address {
    font-size: 1.5rem;
    font-style: normal;
    line-height: 170%;
    padding: 1.6rem 2rem;
    color: #131313;
    border-radius: var(--radius-m);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .woocommerce-columns--addresses .woocommerce-customer-details--phone,
  .woocommerce-columns--addresses .woocommerce-customer-details--email {
    font-size: 1.4rem;
    margin-top: 0.8rem;
    color: rgba(0, 0, 0, 0.55);
  }
  .move-top {
    z-index: 97;
    gap: 0.8rem;
    display: flex;
    right: 0.8rem;
    bottom: 2.4rem;
    position: fixed;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    align-items: center;
    flex-direction: column;
  }
  .move-top-item {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
  }
  @media screen and (max-width: 576px) {
    .move-top-item {
      width: 3rem;
      height: 3rem;
    }
  }
  .move-top-link {
    display: block;
    width: 100%;
    height: 100%;
    animation: shakeIcon 1s infinite ease-in-out;
  }
  .move-top-link img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .move-top-link:hover {
    animation-play-state: paused;
  }
  .move-top-back {
    opacity: 0;
    cursor: pointer;
    visibility: hidden;
    transition: 0.6s ease-in-out;
    transform: translateX(150%);
  }
  .move-top-back.is-active {
    opacity: 1;
    transform: unset;
    visibility: visible;
  }
  .progress-wrap {
    display: block;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: white;
    border-radius: var(--radius-circle);
    box-shadow: inset 0 0 0 0.4rem rgba(0, 0, 0, 0.08);
  }
  .progress-wrap .inner {
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
  }
  @media screen and (max-width: 576px) {
    .progress-wrap .inner {
      width: 1.4rem;
      height: 1.4rem;
    }
  }
  .progress-circle {
    top: 0;
    left: 0;
    position: absolute;
  }
  .progress-circle circle {
    fill: none;
    stroke-width: 8;
    stroke: #c5342d;
    transform-origin: center;
    transform: rotate(-90deg);
    transition: stroke-dashoffset 0.2s linear;
  }
  .faq-list {
    gap: 1.6rem;
    display: flex;
    flex-direction: column;
  }
  @media screen and (max-width: 767px) {
    .faq-list {
      gap: 1.2rem;
    }
  }
  .faq-item {
    overflow: hidden;
    transition: 0.4s ease-in-out;
    background-color: white;
    border-radius: var(--radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .faq-item.is-active {
    border-color: #c5342d;
    box-shadow: var(--box-shadow-1);
  }
  .faq-item.is-active .faq-head p {
    color: #c5342d;
  }
  .faq-item.is-active .icon {
    background-color: #c5342d;
  }
  .faq-item.is-active .icon img {
    transform: rotate(180deg);
    filter: var(--filter-white);
  }
  @media screen and (min-width: 1201px) {
    .faq-item:not(.is-active):hover {
      border-color: rgba(197, 52, 45, 0.4);
    }
    .faq-item:not(.is-active):hover .faq-head p {
      color: #c5342d;
    }
  }
  .faq-head {
    gap: 1.6rem;
    display: flex;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    align-items: center;
    padding: 2rem 2.4rem;
    justify-content: space-between;
  }
  @media screen and (max-width: 767px) {
    .faq-head {
      gap: 1.2rem;
      padding: 1.6rem;
    }
  }
  .faq-head p {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .faq-head p {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  .faq-head p {
    font-weight: 600;
    line-height: 150%;
    transition: 0.4s ease-in-out;
    color: #131313;
  }
  .faq-head .icon {
    flex-shrink: 0;
    width: 3.2rem;
    height: 3.2rem;
    transition: 0.4s ease-in-out;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-circle);
    background-color: rgba(197, 52, 45, 0.06);
  }
  @media screen and (max-width: 767px) {
    .faq-head .icon {
      width: 2.8rem;
      height: 2.8rem;
    }
  }
  .faq-head .icon img {
    width: 1.6rem;
    height: 1.6rem;
    transition: 0.4s ease-in-out;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .faq-content {
    display: none;
    padding: 0 2.4rem 2rem;
  }
  @media screen and (max-width: 767px) {
    .faq-content {
      padding: 0 1.6rem 1.6rem;
    }
  }
  .faq-content .sdn-content > *:last-child {
    margin-bottom: 0;
  }
  .faq-item:first-child > .faq-content {
    display: block;
  }
  .js-view-more {
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
  }
  .view-more {
    z-index: 1;
    display: flex;
    position: relative;
    justify-content: center;
    padding-top: 8rem;
    margin-top: -8rem;
  }
  .view-more::before {
    left: 0;
    right: 0;
    top: 0;
    content: "";
    transition: 0.4s ease-in-out;
    pointer-events: none;
    position: absolute;
    height: 8rem;
    background: linear-gradient(to bottom, transparent, var(--view-more-bg, white));
  }
  .js-view-more:not(.is-clamped) + .view-more {
    padding-top: 0;
    margin-top: 1.6rem;
  }
  .js-view-more:not(.is-clamped) + .view-more::before {
    opacity: 0;
  }
  .view-more button {
    gap: 0.8rem;
    cursor: pointer;
    font-weight: 600;
    font-size: 1.5rem;
    height: 4.4rem;
    transition: 0.4s ease-in-out;
    align-items: center;
    display: inline-flex;
    padding: 0 2.4rem;
    color: #c5342d;
    font-family: inherit;
    background-color: transparent;
    border-radius: var(--radius-max);
    border: 0.1rem solid #c5342d;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .view-more button:hover, .view-more button:focus-visible {
      color: white;
      background-color: #c5342d;
    }
    .view-more button:hover img, .view-more button:focus-visible img {
      filter: var(--filter-white);
    }
  }
  .view-more button .icon {
    flex-shrink: 0;
    width: 1.6rem;
    height: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
  .view-more button .icon img {
    transition: 0.4s ease-in-out;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .view-more button.is-active .icon img {
    transform: rotate(180deg);
  }
  .partner-splide {
    -webkit-mask-image: linear-gradient(to right, transparent 0, black 6rem, black calc(100% - 6rem), transparent 100%);
            mask-image: linear-gradient(to right, transparent 0, black 6rem, black calc(100% - 6rem), transparent 100%);
  }
  @media screen and (max-width: 767px) {
    .partner-splide {
      -webkit-mask-image: linear-gradient(to right, transparent 0, black 2.4rem, black calc(100% - 2.4rem), transparent 100%);
              mask-image: linear-gradient(to right, transparent 0, black 2.4rem, black calc(100% - 2.4rem), transparent 100%);
    }
  }
  .partner-splide .splide__slide {
    width: 20rem;
    padding: 0 0.8rem;
  }
  @media screen and (max-width: 767px) {
    .partner-splide .splide__slide {
      width: 15rem;
      padding: 0 0.6rem;
    }
  }
  .partner-item {
    padding: 1.6rem;
    transition: 0.4s ease-in-out;
    background-color: white;
    border-radius: var(--radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.08);
  }
  @media screen and (max-width: 767px) {
    .partner-item {
      padding: 1.2rem;
    }
  }
  .partner-item .partner-img img {
    width: 100%;
    height: 100%;
    opacity: 0.55;
    transition: 0.4s ease-in-out;
    -o-object-fit: contain;
       object-fit: contain;
    filter: grayscale(1);
  }
  @media screen and (min-width: 1201px) {
    .partner-item:hover {
      box-shadow: var(--box-shadow-1);
      border-color: rgba(197, 52, 45, 0.4);
    }
    .partner-item:hover .partner-img img {
      opacity: 1;
      filter: none;
    }
  }
  .js-split {
    visibility: hidden;
  }
  .js-split.is-split {
    visibility: visible;
  }
  .js-split .split-word {
    display: inline-block;
  }
  .js-split .split-char {
    opacity: 0;
    will-change: transform;
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1) calc(var(--i) * 30ms), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) calc(var(--i) * 30ms);
    display: inline-block;
    transform: translateY(50%);
  }
  .js-split.is-inview .split-char {
    opacity: 1;
    transform: none;
  }
  @media (prefers-reduced-motion: reduce) {
    .js-split .split-char {
      opacity: 1;
      transition: none;
      transform: none;
    }
  }
  .swiper-button-disabled {
    opacity: 0.5;
    pointer-events: none;
  }
  .swiper-button-lock {
    display: none;
  }
  .swiper-slide .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
  .swiper {
    --swiper-preloader-color: #c5342d;
  }
  .skeleton.is-preloading::after {
    content: none;
  }
  .header {
    top: 0;
    left: 0;
    width: 100%;
    position: fixed;
    z-index: var(--z-i-header);
    transition: transform 0.4s ease-in-out;
  }
  .header.is-fixed {
    transform: translateY(calc(var(--header-topbar) * -1));
  }
  .header.is-fixed .header-main {
    height: var(--header-main-fixed);
  }
  .header.is-fixed .mega::before {
    height: calc((var(--header-main-fixed) - var(--header-menu)) / 2);
  }
  .header.is-hidden {
    transform: translateY(-100%);
  }
  .header-topbar {
    min-height: var(--header-topbar);
    padding: 0.6rem 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background-color: #111111;
  }
  @media screen and (max-width: 767px) {
    .header-topbar {
      height: auto;
      padding: 0.6rem 1.6rem;
    }
  }
  .header-topbar-text {
    gap: 0.4rem;
    font-weight: 500;
    line-height: 143%;
    text-align: center;
    color: white;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    font-size: 1.4rem;
  }
  @media screen and (max-width: 767px) {
    .header-topbar-text {
      flex-wrap: wrap;
      justify-content: center;
    }
  }
  .header-topbar-sep {
    opacity: 0.5;
  }
  .header-topbar-link {
    transition: 0.3s ease-in-out;
    text-decoration: underline;
    text-underline-position: from-font;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .header-topbar-link:hover, .header-topbar-link:focus-visible {
      color: #c5342d;
    }
  }
  .header-main {
    display: flex;
    padding: 1rem 0;
    align-items: center;
    background-color: #f5f5f2;
    transition: 0.4s ease-in-out;
  }
  .header-wrap {
    gap: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .header-logo, .header-action {
    flex: 0 0 20.8rem;
  }
  @media screen and (max-width: 767px) {
    .header-logo, .header-action {
      flex: auto;
    }
  }
  .header-logo {
    height: 7.2rem;
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 1200px) {
    .header-logo {
      height: auto;
    }
  }
  .header-logo-img {
    width: 7.2rem;
    height: 7.2rem;
  }
  @media screen and (max-width: 1200px) {
    .header-logo-img {
      width: 4.8rem;
      height: 4.8rem;
    }
  }
  .header-logo-img img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .header-action {
    gap: 1.6rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .header-icon {
    display: block;
    position: relative;
    width: 2.4rem;
    height: 2.4rem;
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .header-icon:hover, .header-icon:focus-visible {
      opacity: 0.6;
    }
  }
  .header-icon img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    -o-object-fit: contain;
       object-fit: contain;
  }
  @media screen and (max-width: 1200px) {
    /* Menu drawer nằm trong .header; transform của is-fixed/is-hidden tạo containing
       block → fixed lệch theo, hở khoảng trắng dưới. Tắt transform khi menu mở. */
    .header:has(.header-nav.is-active),
    .header.is-fixed:has(.header-nav.is-active),
    .header.is-hidden:has(.header-nav.is-active) {
      transform: none;
    }
    .header-nav {
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 101;
      width: 32rem;
      max-width: 85%;
      height: auto;
      position: fixed;
      display: flex;
      overflow: hidden;
      flex-direction: column;
      transition: 0.4s ease-in-out;
      transform: translateX(100%);
      background-color: #f5f5f2;
    }
    .header-nav.is-active {
      transform: translateX(0);
    }
  }
  @media screen and (min-width: 1201px) {
    .menu {
      gap: 3.2rem;
      display: flex;
      align-items: center;
    }
  }
  @media screen and (max-width: 1200px) {
    .menu {
      flex: 1;
      min-height: 0;
      overflow-y: auto;
    }
    .menu-item {
      padding: 0 1.6rem;
      border-bottom: 0.1rem solid #d0d0d0;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
    }
  }
  .menu-item.current-menu-item .menu-link {
    color: #c5342d;
  }
  .menu-item.current-menu-item .menu-index {
    color: #131313;
  }
  .menu-link {
    gap: 0.2rem;
    display: flex;
    font-weight: 600;
    line-height: 1.25;
    color: #131313;
    white-space: nowrap;
    align-items: flex-end;
    transition: 0.3s ease-in-out;
    text-transform: uppercase;
    font-family: var(--font-title);
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .menu-link {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
      padding: 1rem 0;
    }
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .menu-link:hover, .menu-link:focus-visible {
      color: #c5342d;
    }
    .menu-link:hover .menu-index, .menu-link:focus-visible .menu-index {
      color: #131313;
    }
  }
  .menu-arrow {
    display: none;
  }
  @media screen and (max-width: 1200px) {
    .menu-arrow {
      flex-shrink: 0;
      position: relative;
      margin-left: auto;
      width: 2.4rem;
      height: 2.4rem;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      transition: 0.3s ease-in-out;
    }
    .menu-arrow::after {
      content: "";
      inset: -1rem;
      position: absolute;
    }
  }
  .menu-arrow img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .menu-item.is-active > .menu-arrow, .mega-col.is-active > .menu-arrow {
    transform: rotate(180deg);
  }
  .menu-index {
    width: 1.1rem;
    height: 2.6rem;
    line-height: 1;
    color: #d9d9d9;
    transition: 0.3s ease-in-out;
    font-size: 1.2rem;
  }
  .menu-close {
    padding: 1.2rem;
    display: flex;
    align-items: center;
    border-bottom: 0.1rem solid #d0d0d0;
  }
  @media screen and (min-width: 1201px) {
    .menu-close {
      display: none;
    }
  }
  .menu-close .header-logo-img {
    width: 3.2rem;
    height: 3.2rem;
  }
  .menu-close-icon {
    cursor: pointer;
    margin-left: auto;
    width: 2.4rem;
    height: 2.4rem;
  }
  .menu-contact {
    gap: 0.8rem;
    display: flex;
    padding: 1.6rem;
    flex-direction: column;
    background-color: #111111;
  }
  @media screen and (min-width: 1201px) {
    .menu-contact {
      display: none;
    }
  }
  .menu-contact-text, .menu-contact-link {
    line-height: 150%;
    color: white;
    font-size: 1.4rem;
  }
  .menu-bar {
    cursor: pointer;
  }
  @media screen and (min-width: 1201px) {
    .menu-bar {
      display: none;
    }
  }
  .menu-bar .menu-icon span {
    width: 2.4rem;
    height: 0.2rem;
    display: block;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    margin-top: 0.4rem;
    transition: 0.4s ease-in-out;
    border-radius: 0.5rem;
    background-color: #131313;
  }
  .menu-bar .menu-icon span:nth-child(1) {
    margin-top: 0;
  }
  @media screen and (min-width: 1201px) {
    .menu-mega:hover > .mega, .menu-mega:focus-within > .mega {
      opacity: 1;
      pointer-events: auto;
      transform: translate(-50%, 0);
    }
    .mega::before {
      content: "";
      left: 0;
      right: 0;
      bottom: 100%;
      position: absolute;
      height: calc((var(--header-main) - var(--header-menu)) / 2);
    }
    .mega {
      top: 100%;
      left: 50%;
      z-index: 5;
      opacity: 0;
      position: absolute;
      width: -moz-max-content;
      width: max-content;
      transition: 0.4s ease-in-out;
      pointer-events: none;
      max-width: calc(100vw - 3.2rem);
      transform: translate(-50%, -0.8rem);
    }
  }
  .mega {
    gap: 8rem;
    display: flex;
    flex-wrap: wrap;
    padding: 4rem;
    align-items: flex-start;
    background-color: white;
    border: 0.1rem solid #111111;
  }
  @media screen and (max-width: 1200px) {
    .mega {
      gap: 0;
      width: 100%;
      margin-bottom: 1.2rem;
      padding: 0 0 0 1.2rem;
      flex-direction: column;
      background-color: transparent;
      border: 0;
      border-left: 0.1rem solid #d9d9d9;
    }
  }
  .mega-col {
    gap: 1.6rem;
    display: flex;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .mega-col {
      gap: 0;
      width: 100%;
      flex-wrap: wrap;
      flex-direction: row;
      align-items: center;
    }
  }
  .mega-title {
    font-weight: 600;
    line-height: 1.34;
    color: #131313;
    text-transform: uppercase;
    text-decoration: none;
    font-family: var(--font-title);
    font-size: 2.4rem;
  }
  @media screen and (max-width: 1200px) {
    .mega-title {
      font-size: clamp(1.7rem, 1.5636rem + 0.3636vw, 2rem);
      flex: 1;
      cursor: pointer;
      padding: 1.2rem 0;
      text-transform: none;
      font-family: var(--font-pri);
      font-size: 1.5rem;
    }
  }
  .mega-list {
    gap: 0.8rem;
    display: flex;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .mega-list {
      gap: 0;
      width: 100%;
      margin-bottom: 0.8rem;
      padding-left: 1.2rem;
      border-left: 0.1rem solid #d9d9d9;
    }
  }
  .mega-link {
    line-height: 150%;
    color: #131313;
    white-space: nowrap;
    transition: 0.3s ease-in-out;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .mega-link {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
      display: block;
      padding: 1.1rem 0;
      white-space: normal;
      font-size: 1.5rem;
    }
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .mega-link:hover, .mega-link:focus-visible {
      color: #c5342d;
    }
  }
  body.is-hide-header .header {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-100%);
  }
  .footer {
    color: #131313;
    padding-top: 8rem;
  }
  @media screen and (max-width: 767px) {
    .footer {
      padding-top: 4.8rem;
    }
  }
  .footer-wrap {
    gap: 20rem;
    display: flex;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .footer-wrap {
      gap: 8rem;
    }
  }
  @media screen and (max-width: 767px) {
    .footer-wrap {
      gap: 4rem;
    }
  }
  .footer-top {
    gap: 4rem;
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
  @media screen and (max-width: 1200px) {
    .footer-top {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3.2rem 4rem;
      justify-content: initial;
    }
  }
  @media screen and (max-width: 767px) {
    .footer-top {
      grid-template-columns: 1fr;
      gap: 3.2rem;
      flex-direction: initial;
    }
  }
  .footer-logo {
    flex-shrink: 0;
    max-width: 18rem;
  }
  @media screen and (max-width: 1200px) {
    .footer-logo {
      max-width: 12rem;
      width: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .footer-logo {
      max-width: 9rem;
      width: auto;
      justify-self: center;
      margin-inline: auto;
    }
  }
  .footer-info {
    gap: 2.4rem;
    display: flex;
    max-width: 40.4rem;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .footer-info {
      flex: none;
      max-width: none;
      width: 100%;
    }
  }
  .footer-desc {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .footer-desc {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .footer-desc {
    line-height: 1.5;
    word-break: break-word;
  }
  .footer-social {
    gap: 1.2rem;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
  }
  .footer-social-link {
    display: block;
    position: relative;
    width: 2.4rem;
    height: 2.4rem;
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .footer-social-link:hover, .footer-social-link:focus-visible {
      transform: translateY(-0.5rem);
    }
  }
  .footer-social-link img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .footer-contact {
    gap: 1.2rem;
    display: flex;
    max-width: 38rem;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .footer-contact {
      max-width: none;
      width: 100%;
    }
  }
  .footer-contact-list {
    gap: 1.2rem;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .footer-bct {
    display: block;
    width: fit-content;
    max-width: 100%;
    line-height: 0;
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .footer-bct:hover, .footer-bct:focus-visible {
      opacity: 0.85;
    }
  }
  .footer-bct img {
    display: block;
    width: auto;
    height: 4.4rem;
    max-width: 100%;
    object-fit: contain;
  }
  .footer-text {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .footer-text {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .footer-text {
    line-height: 1.5;
    word-break: break-word;
  }
  .footer-link {
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .footer-link:hover, .footer-link:focus-visible {
      opacity: 0.6;
      text-decoration: underline;
    }
  }
  .footer-menu {
    gap: 2.4rem;
    flex-shrink: 0;
    max-width: 24rem;
    display: flex;
    justify-content: space-between;
    flex: 0 0 24rem;
  }
  @media screen and (max-width: 1200px) {
    .footer-menu {
      flex: none;
      gap: 4rem;
      max-width: none;
      width: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .footer-menu {
      gap: 4.8rem;
      max-width: none;
      justify-content: flex-start;
    }
  }
  .footer-menu-list {
    gap: 1.2rem;
    display: flex;
    flex-direction: column;
  }
  .footer-menu-link {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .footer-menu-link {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .footer-menu-link {
    line-height: 1.5;
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .footer-menu-link:hover, .footer-menu-link:focus-visible {
      opacity: 0.6;
    }
  }
  .footer-brand {
    overflow: hidden;
    aspect-ratio: 1632/340;
  }
  .footer-brand-img {
    width: 100%;
    display: block;
  }
  @supports ((-webkit-mask-image: linear-gradient(#000, #000)) or (mask-image: linear-gradient(#000, #000))) or (-webkit-mask-image: linear-gradient(#000, #000)) {
    .footer-brand {
      --mouse-x: 30%;
      --mouse-y: 45%;
      -webkit-mask-size: 100% auto;
              mask-size: 100% auto;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-position: left top;
              mask-position: left top;
      -webkit-mask-image: url("../images/common/sainted-text.svg");
              mask-image: url("../images/common/sainted-text.svg");
      background: radial-gradient(var(--flash-size, 32vw) circle at var(--mouse-x) var(--mouse-y), #6b6b6b 30%, #111111 42.14%);
    }
    .footer-brand .footer-brand-img {
      visibility: hidden;
    }
  }
  .popup {
    inset: 0;
    z-index: 200;
    opacity: 0;
    display: flex;
    position: fixed;
    visibility: hidden;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    padding: 1.6rem;
    transition: opacity 0.3s ease-in-out, visibility 0s linear 0.3s;
  }
  .popup.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.3s ease-in-out, visibility 0s linear;
  }
  .popup.is-active .popup-box {
    transform: none;
  }
  .popup-overlay {
    inset: 0;
    position: absolute;
    background-color: rgba(19, 19, 19, 0.65);
  }
  @supports (backdrop-filter: blur(5px)) or (-webkit-backdrop-filter: blur(5px)) {
    .popup-overlay {
      backdrop-filter: blur(0.5rem);
    }
  }
  .popup-box {
    z-index: 1;
    gap: 6.8rem;
    display: flex;
    position: relative;
    max-height: 100%;
    overflow-y: auto;
    align-items: center;
    transition: 0.3s ease-in-out;
    background-color: white;
    transform: translateY(1.6rem);
    padding: 2.4rem 4rem 2.4rem 2.4rem;
    border: 0.1rem solid #111111;
  }
  @media screen and (max-width: 1200px) {
    .popup-box {
      gap: 0;
      width: 100%;
      max-width: 60rem;
      padding: 2.4rem;
    }
  }
  .popup-close {
    top: 2rem;
    z-index: 2;
    right: 2rem;
    display: block;
    position: absolute;
    width: 3.2rem;
    height: 3.2rem;
    transition: 0.3s ease-in-out;
    opacity: 0.4;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-close:hover, .popup-close:focus-visible {
      opacity: 0.8;
    }
  }
  @media screen and (max-width: 1200px) {
    .popup-close {
      top: 0.8rem;
      right: 0.8rem;
    }
  }
  .popup-close img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .popup-media {
    flex-shrink: 0;
  }
  @media screen and (max-width: 1200px) {
    .popup-media {
      display: none;
    }
  }
  .popup-img {
    display: block;
    width: 45.9rem;
    height: 81.1rem;
  }
  .popup-img img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
  }
  .popup-body {
    gap: 4.8rem;
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .popup-body {
      gap: 3.2rem;
      width: 100%;
    }
  }
  .popup-head {
    gap: 2rem;
    display: flex;
    max-width: 38.9rem;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .popup-head {
      gap: 1.2rem;
      max-width: none;
    }
  }
  .popup-title {
    font-weight: 600;
    color: #131313;
    line-height: normal;
    text-transform: uppercase;
    font-family: var(--font-title);
    font-size: 5.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-title {
      font-size: clamp(4rem, 3.5rem + 1.3333vw, 5.1rem);
    }
  }
  .popup .wave-hand {
    display: inline-block;
    vertical-align: middle;
    margin-block: -0.2em;
    width: 1.4em;
    height: 1.4em;
    mix-blend-mode: multiply;
  }
  .popup-desc {
    line-height: 1.5;
    color: #131313;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-desc {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .popup-btn {
    gap: 1.6rem;
    width: 100%;
    flex-shrink: 0;
    cursor: pointer;
    font-weight: 700;
    line-height: 1.34;
    padding: 1.6rem 3.2rem;
    color: white;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease-in-out;
    text-transform: uppercase;
    background-color: #111111;
    font-family: var(--font-title);
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-btn {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-btn:hover, .popup-btn:focus-visible {
      opacity: 0.85;
    }
  }
  .popup-btn img {
    flex-shrink: 0;
    -o-object-fit: contain;
       object-fit: contain;
    width: 3.6rem;
    height: 3.6rem;
  }
  @media screen and (max-width: 767px) {
    .popup-btn img {
      width: 2.4rem;
      height: 2.4rem;
    }
  }
  .popup-btn-outline {
    color: #111111;
    background-color: transparent;
    border: 0.1rem solid #111111;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-btn-outline:hover, .popup-btn-outline:focus-visible {
      opacity: 1;
      color: white;
      background-color: #111111;
    }
  }
  .popup-btn-line {
    color: #656565;
    background-color: transparent;
    border: 0.1rem solid #d9d9d9;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-btn-line:hover, .popup-btn-line:focus-visible {
      opacity: 1;
      border-color: #111111;
    }
  }
  .popup-fields {
    gap: 2.4rem;
    display: flex;
    flex-direction: column;
  }
  .popup-group {
    gap: 0.8rem;
    display: flex;
    flex-direction: column;
  }
  .popup-group .form-text {
    line-height: 1.5;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-group .form-text {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .popup-group-inner {
    gap: 1.2rem;
    display: flex;
    flex-direction: column;
  }
  .popup-field {
    gap: 1.2rem;
    display: flex;
    align-items: center;
    padding: 1.2rem 1.2rem 1.2rem 2.4rem;
    border-bottom: 0.1rem solid #d9d9d9;
    transition: 0.3s ease-in-out;
  }
  .popup-field:focus-within {
    border-bottom-color: #111111;
  }
  .popup-field .form-input {
    width: 100%;
    border: none;
    outline: none;
    padding: 0;
    height: 2.4rem;
    line-height: 1.5;
    color: #131313;
    background: transparent;
    font-family: var(--font-pri);
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-field .form-input {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .popup-field .form-input::-moz-placeholder {
    color: #656565;
  }
  .popup-field .form-input:-ms-input-placeholder {
    color: #656565;
  }
  .popup-field .form-input::placeholder {
    color: #656565;
  }
  .popup-field-eye {
    flex-shrink: 0;
    position: relative;
    width: 1.6rem;
    height: 1.6rem;
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-field-eye:hover, .popup-field-eye:focus-visible {
      opacity: 0.6;
    }
  }
  .popup-field-eye img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .popup-field-eye.is-active {
    opacity: 0.4;
  }
  .popup-foot {
    gap: 0.8rem;
    line-height: 1.5;
    color: #131313;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-foot {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .popup-link {
    cursor: pointer;
    font-weight: 600;
    line-height: 1.25;
    color: #131313;
    transition: 0.3s ease-in-out;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-position: from-font;
    font-family: var(--font-title);
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-link {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-link:hover, .popup-link:focus-visible {
      color: #c5342d;
    }
  }
  @media screen and (min-width: 1201px) {
    .popup-login .popup-body,
    .popup-forgot .popup-body {
      width: 55.4rem;
    }
  }
  @media screen and (min-width: 768px) {
    .popup-login .popup-btn,
    .popup-forgot .popup-btn {
      height: 6.4rem;
    }
  }
  .popup-login-main {
    gap: 5.6rem;
    display: flex;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .popup-login-main {
      gap: 3.2rem;
    }
  }
  .popup-login-stack {
    gap: 3.2rem;
    display: flex;
    flex-direction: column;
  }
  @media screen and (max-width: 767px) {
    .popup-login-stack {
      gap: 2.4rem;
    }
  }
  .popup-login-block {
    gap: 4rem;
    display: flex;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .popup-login-block {
      gap: 2.4rem;
    }
  }
  .popup-login-forgot {
    line-height: 1.43;
    text-align: right;
    color: #c5342d;
    transition: 0.3s ease-in-out;
    font-size: 1.4rem;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-login-forgot:hover, .popup-login-forgot:focus-visible {
      text-decoration: underline;
    }
  }
  .popup-login-or {
    gap: 3.8rem;
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 1200px) {
    .popup-login-or {
      gap: 1.6rem;
    }
  }
  .popup-login-or::before, .popup-login-or::after {
    content: "";
    flex: 1;
    height: 0.1rem;
    background-color: #d9d9d9;
  }
  .popup-login-or span {
    line-height: 1.5;
    color: #131313;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-login-or span {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .popup-login-social {
    gap: 1.2rem;
    display: flex;
    flex-direction: column;
  }
  .popup-login-error,
  .popup-login-success {
    margin: 0 0 1.2rem;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .popup-login-error {
    color: #c5342d;
  }
  .popup-login-success {
    color: #1f6b3a;
  }
  .popup-login-error[hidden],
  .popup-login-success[hidden] {
    display: none !important;
  }
  .popup-login-main.is-loading .popup-btn {
    opacity: 0.7;
    pointer-events: none;
  }
  .auth-reset {
    /* Clear fixed header, then give the form room like a normal page section. */
    box-sizing: border-box;
    min-height: 100dvh;
    padding: calc(var(--header-height) + 8rem) 0 8rem;
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 1200px) {
    .auth-reset {
      padding: calc(var(--header-height) + 5.6rem) 0 5.6rem;
    }
  }
  @media screen and (max-width: 767px) {
    .auth-reset {
      padding: calc(var(--header-height) + 4rem) 0 4.8rem;
      align-items: flex-start;
    }
  }
  .auth-reset > .container-wide {
    width: 100%;
  }
  .auth-reset-card {
    width: 100%;
    max-width: 42rem;
    margin-inline: auto;
  }
  .auth-reset-head {
    margin-bottom: 4rem;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .auth-reset-head {
      margin-bottom: 2.4rem;
      text-align: left;
    }
  }
  .auth-reset-title {
    margin: 0 0 1.2rem;
    font-family: var(--font-title);
    font-size: 4rem;
    line-height: 1.1;
    font-weight: 600;
    text-transform: uppercase;
    color: #131313;
  }
  @media screen and (max-width: 767px) {
    .auth-reset-title {
      font-size: 2.8rem;
    }
  }
  .auth-reset-desc {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #666;
  }
  .auth-reset-actions {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    align-items: stretch;
    margin-top: 2.4rem;
  }
  .auth-reset .popup-btn {
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }
  .auth-reset .popup-login-main {
    gap: 0;
  }
  .auth-reset .popup-login-block {
    width: 100%;
  }
  .auth-reset .popup-fields {
    gap: 2.4rem;
  }
  .popup-register-main.is-loading .popup-btn {
    opacity: 0.7;
    pointer-events: none;
  }
  .popup-register-main .popup-login-error {
    margin: 0;
  }
  .popup-register-note {
    margin: 0 0 2.4rem;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #666;
  }
  .popup-login-social a[aria-disabled="true"] {
    opacity: 0.55;
    cursor: default;
  }
  @media screen and (min-width: 1201px) {
    .popup-register .popup-body {
      width: 55.9rem;
    }
  }
  .popup-register-main {
    gap: 4rem;
    display: flex;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .popup-register-main {
      gap: 3.2rem;
    }
  }
  .popup-register-actions {
    gap: 1.6rem;
    display: flex;
    flex-direction: column;
  }
  .popup-account {
    padding: 0;
    align-items: stretch;
    justify-content: flex-end;
  }
  .popup-account .popup-box {
    gap: 3.2rem;
    width: 44rem;
    border: none;
    max-width: 100%;
    max-height: none;
    align-items: stretch;
    flex-direction: column;
    padding: 4rem 4.8rem 4.8rem;
    transform: translateX(100%);
  }
  @media screen and (max-width: 767px) {
    .popup-account .popup-box {
      padding: 4rem 2.4rem 3.2rem;
    }
  }
  .popup-account .popup-close {
    top: 4rem;
    right: 4.8rem;
    width: 2.4rem;
    height: 2.4rem;
  }
  @media screen and (max-width: 767px) {
    .popup-account .popup-close {
      right: 2.4rem;
    }
  }
  .popup-account .account-head {
    gap: 0.8rem;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding-right: 4rem;
  }
  .popup-account .account-badge {
    gap: 0.4rem;
    padding: 0.8rem;
    line-height: 1.34;
    color: #131313;
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    border: 0.1rem solid #d9d9d9;
  }
  .popup-account .account-badge-icon {
    flex-shrink: 0;
    -o-object-fit: contain;
       object-fit: contain;
    width: 2rem;
    height: 2rem;
  }
  .popup-account .account-title {
    font-weight: 600;
    line-height: 1.29;
    color: #131313;
    text-transform: uppercase;
    font-family: var(--font-title);
    font-size: 2.8rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-account .account-title {
      font-size: clamp(2.1rem, 1.9636rem + 0.3636vw, 2.4rem);
    }
  }
  .popup-account .account-point {
    gap: 0.4rem;
    display: flex;
    padding: 3.5rem 2.4rem 3.4rem;
    flex-direction: column;
    aspect-ratio: 344/145;
    justify-content: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("../../assets/images/common/point-card.webp");
    background-color: #111111;
  }
  .popup-account .account-point-label {
    line-height: 1.5;
    color: white;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-account .account-point-label {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .popup-account .account-point-value {
    gap: 0.2rem;
    display: flex;
    align-items: center;
  }
  .popup-account .account-point-coin {
    flex-shrink: 0;
    -o-object-fit: contain;
       object-fit: contain;
    width: 4.8rem;
    height: 4.8rem;
    filter: var(--filter-white);
  }
  .popup-account .account-point-num {
    font-weight: 700;
    color: white;
    line-height: normal;
  }
  .popup-account .account-point-num-main {
    font-size: 4rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-account .account-point-num-main {
      font-size: clamp(2.7rem, 2.3364rem + 0.9697vw, 3.5rem);
    }
  }
  .popup-account .account-point-num-unit {
    margin-left: 0.8rem;
    font-size: 2rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-account .account-point-num-unit {
      font-size: clamp(1.6rem, 1.5091rem + 0.2424vw, 1.8rem);
    }
  }
  .popup-account .account-line {
    height: 0.1rem;
    flex-shrink: 0;
    background-color: #d9d9d9;
  }
  .popup-account .account-tier {
    gap: 1.6rem;
    display: flex;
    flex-direction: column;
  }
  .popup-account .account-tier-title {
    font-weight: 600;
    line-height: 1.4;
    color: #131313;
    text-transform: uppercase;
    font-family: var(--font-title);
    font-size: 2rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-account .account-tier-title {
      font-size: clamp(1.6rem, 1.5091rem + 0.2424vw, 1.8rem);
    }
  }
  .popup-account .account-tier-list {
    display: flex;
    align-items: flex-start;
  }
  .popup-account .account-tier-item {
    gap: 0.8rem;
    display: flex;
    flex: 0 0 3.6rem;
    align-items: center;
    flex-direction: column;
  }
  .popup-account .account-tier-icon {
    display: flex;
    flex-shrink: 0;
    width: 3.6rem;
    height: 3.6rem;
    align-items: center;
    border-radius: 50%;
    justify-content: center;
    background-color: #f0f0f0;
  }
  .popup-account .account-tier-icon img {
    width: 2rem;
    height: 2rem;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .popup-account .account-tier-name {
    font-weight: 400;
    line-height: 1.67;
    text-align: center;
    white-space: nowrap;
    color: #d9d9d9;
    font-size: 1.2rem;
  }
  .popup-account .account-tier-item.is-done .account-tier-icon {
    background-color: #111111;
  }
  .popup-account .account-tier-item.is-done .account-tier-name {
    font-weight: 500;
    color: #131313;
  }
  .popup-account .account-tier-line {
    flex: 1;
    height: 0.1rem;
    margin-top: 1.75rem;
    background-image: linear-gradient(to right, #d9d9d9 50%, transparent 50%);
    background-size: 0.6rem 0.1rem;
    background-repeat: repeat-x;
  }
  .popup-account .account-tier-line-fill {
    display: block;
    height: 100%;
    background-color: #111111;
  }
  .popup-account .account-tier-note {
    font-style: italic;
    line-height: 1.43;
    color: #009262;
    font-size: 1.4rem;
  }
  .popup-account .account-tier-link {
    font-weight: 700;
    font-style: italic;
    text-decoration: underline;
    text-underline-position: from-font;
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-account .account-tier-link:hover, .popup-account .account-tier-link:focus-visible {
      opacity: 0.7;
    }
  }
  .popup-account .account-links {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .popup-account .account-link {
    gap: 1.2rem;
    display: flex;
    align-items: center;
    flex-direction: column;
    transition: 0.3s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-account .account-link:hover, .popup-account .account-link:focus-visible {
      opacity: 0.6;
    }
  }
  .popup-account .account-link-icon {
    flex-shrink: 0;
    position: relative;
    width: 4rem;
    height: 4rem;
  }
  .popup-account .account-link-icon img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .popup-account .account-link-name {
    font-weight: 500;
    line-height: 1.67;
    text-align: center;
    color: #131313;
    font-size: 1.2rem;
  }
  .popup-account .account-link-sep {
    width: 0.1rem;
    height: 7.2rem;
    flex-shrink: 0;
    background-color: #d9d9d9;
  }
  .popup-account .account-actions {
    gap: 1.2rem;
    display: flex;
    margin-top: auto;
    padding-top: 3.2rem;
    flex-direction: column;
  }
  .popup-account .account-logout {
    margin-top: 0.4rem;
    text-align: center;
    color: #656565;
    font-size: 1.4rem;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    transition: color 0.3s ease;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-account .account-logout:hover,
    .popup-account .account-logout:focus-visible {
      color: #c5342d;
    }
  }
  .popup-account .popup-btn-outline[aria-disabled="true"] {
    opacity: 0.55;
    pointer-events: none;
  }
  .popup-cart {
    padding: 0;
    align-items: stretch;
    justify-content: flex-end;
  }
  .popup-cart .popup-box {
    gap: 0;
    padding: 0;
    width: 44rem;
    border: none;
    max-width: 100%;
    max-height: none;
    overflow: hidden;
    align-items: stretch;
    flex-direction: column;
    transform: translateX(100%);
  }
  .popup-cart .popup-close {
    top: 2.4rem;
    right: 2.4rem;
    width: 2.4rem;
    height: 2.4rem;
    opacity: 0.4;
  }
  .popup-cart-head {
    flex-shrink: 0;
    padding: 2.4rem 2.4rem 0;
  }
  .popup-cart-title {
    font-weight: 600;
    line-height: 1.29;
    color: #131313;
    padding-right: 4rem;
    text-transform: uppercase;
    font-family: var(--font-title);
    font-size: 2.8rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-cart-title {
      font-size: clamp(2.1rem, 1.9636rem + 0.3636vw, 2.4rem);
    }
  }
  .popup-cart .widget_shopping_cart_content {
    flex: 1;
    display: flex;
    min-height: 0;
    flex-direction: column;
  }
  .popup-cart .woocommerce-mini-cart {
    flex: 1;
    gap: 2.4rem;
    display: flex;
    min-height: 0;
    overflow-y: auto;
    padding: 2.4rem;
    flex-direction: column;
  }
  .popup-cart .mini_cart_item {
    gap: 2.4rem;
    display: flex;
    flex-shrink: 0;
    position: relative;
    align-items: center;
    padding-right: 4rem;
  }
  .popup-cart .mini_cart_item-thumb {
    flex-shrink: 0;
    width: 10.6rem;
    height: 15.2rem;
    background-color: #f5f5f2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
  .popup-cart .mini_cart_item-thumb img {
    display: block;
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
    height: 11.2rem;
  }
  .popup-cart .mini_cart_item-info {
    gap: 0.8rem;
    display: flex;
    min-width: 0;
    flex-direction: column;
  }
  .popup-cart .mini_cart_item-name {
    line-height: 1.43;
    color: #131313;
    transition: 0.3s ease-in-out;
    font-size: 1.4rem;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-cart .mini_cart_item-name:hover, .popup-cart .mini_cart_item-name:focus-visible {
      color: #c5342d;
    }
  }
  .popup-cart .mini_cart_item-price {
    gap: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    line-height: 1.43;
    align-items: baseline;
    font-size: 1.4rem;
  }
  .popup-cart .mini_cart_item-price del {
    order: 2;
    font-style: italic;
    color: #999999;
    text-decoration: line-through;
  }
  .popup-cart .mini_cart_item-price ins {
    order: 1;
    font-weight: 700;
    color: #131313;
    text-decoration: none;
    background-color: transparent;
  }
  .popup-cart .mini_cart_item-price > .woocommerce-Price-amount {
    font-weight: 700;
    color: #131313;
  }
  .popup-cart .mini_cart_item .variation {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    line-height: 1.43;
    font-style: italic;
    color: #656565;
    font-size: 1.4rem;
  }
  .popup-cart .mini_cart_item .variation dt {
    display: none;
  }
  .popup-cart .mini_cart_item .variation dd {
    margin: 0;
  }
  .popup-cart .mini_cart_item .variation dd p {
    margin: 0;
    display: inline;
  }
  .popup-cart .mini_cart_item .variation dd:not(:first-of-type)::before {
    content: "/ ";
  }
  .popup-cart .mini_cart_item .quantity {
    line-height: 1.5;
    margin-top: 1.2rem;
    color: #131313;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-cart .mini_cart_item .quantity {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .popup-cart .mini_cart_item .remove {
    top: 0;
    right: 0;
    opacity: 0.15;
    font-weight: 400;
    position: absolute;
    width: 1.6rem;
    height: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease-in-out;
    color: #111111;
    line-height: 1;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-cart .mini_cart_item .remove {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-cart .mini_cart_item .remove:hover, .popup-cart .mini_cart_item .remove:focus-visible {
      opacity: 0.7;
    }
  }
  .popup-cart .mini-cart-foot {
    gap: 1.2rem;
    display: flex;
    flex-shrink: 0;
    padding: 2.4rem;
    margin: 0 2.4rem;
    flex-direction: column;
    border: 0.1rem solid #d9d9d9;
  }
  .popup-cart .woocommerce-mini-cart__total,
  .popup-cart .mini-cart-point {
    gap: 1.6rem;
    display: flex;
    line-height: 1.5;
    align-items: center;
    justify-content: space-between;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-cart .woocommerce-mini-cart__total,
    .popup-cart .mini-cart-point {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .popup-cart .woocommerce-mini-cart__total {
    color: #131313;
    font-weight: 700;
  }
  .popup-cart .woocommerce-mini-cart__total strong {
    font-weight: 400;
    color: #73736f;
  }
  .popup-cart .mini-cart-point-label {
    color: #73736f;
  }
  .popup-cart .mini-cart-point-value {
    gap: 0.2rem;
    display: flex;
    font-weight: 700;
    align-items: center;
    color: #009262;
  }
  .popup-cart .mini-cart-point-icon {
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    background-color: #009262;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-image: url("../images/common/logo.png");
            mask-image: url("../images/common/logo.png");
  }
  .popup-cart .woocommerce-mini-cart__buttons {
    flex-shrink: 0;
    padding: 1.2rem 2.4rem 2.4rem;
  }
  .popup-cart .woocommerce-mini-cart__buttons .button,
  .woocommerce .popup-cart .woocommerce-mini-cart__buttons .button {
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    font-weight: 700;
    line-height: 2.4rem;
    color: white;
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 5.6rem;
    padding: 1.6rem 3.2rem;
    margin: 0;
    border: 0;
    border-radius: 0;
    white-space: normal;
    transition: 0.3s ease-in-out;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    background-color: #111111;
    font-family: var(--font-title);
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-cart .woocommerce-mini-cart__buttons .button,
    .woocommerce .popup-cart .woocommerce-mini-cart__buttons .button {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-cart .woocommerce-mini-cart__buttons .button:hover,
    .popup-cart .woocommerce-mini-cart__buttons .button:focus-visible,
    .woocommerce .popup-cart .woocommerce-mini-cart__buttons .button:hover,
    .woocommerce .popup-cart .woocommerce-mini-cart__buttons .button:focus-visible {
      opacity: 0.85;
      color: white;
      background-color: #111111;
    }
  }
  .popup-cart .mini-cart-empty {
    gap: 1.2rem;
    flex: 1;
    display: flex;
    text-align: center;
    align-items: center;
    padding: 2.4rem 2.4rem 4.8rem;
    flex-direction: column;
    justify-content: center;
  }
  .popup-cart .mini-cart-empty-icon {
    width: 6.4rem;
    height: 6.4rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.8rem;
    opacity: 0.15;
  }
  .popup-cart .mini-cart-empty-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .popup-cart .mini-cart-empty-desc {
    line-height: 1.43;
    max-width: 26rem;
    color: #656565;
    font-size: 1.4rem;
  }
  .popup-cart .mini-cart-empty .woocommerce-mini-cart__empty-message {
    font-weight: 600;
    line-height: 1.29;
    max-width: 26rem;
    color: #131313;
    text-transform: uppercase;
    font-family: var(--font-title);
    font-size: 2.4rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-cart .mini-cart-empty .woocommerce-mini-cart__empty-message {
      font-size: clamp(1.7rem, 1.5636rem + 0.3636vw, 2rem);
    }
  }
  .popup-cart .mini-cart-empty .button,
  .woocommerce .popup-cart .mini-cart-empty .button {
    cursor: pointer;
    font-weight: 700;
    line-height: 2.4rem;
    margin-top: 1.2rem;
    color: #111111;
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 5.6rem;
    padding: 1.6rem 3.2rem;
    transition: 0.3s ease-in-out;
    text-transform: uppercase;
    font-family: var(--font-title);
    background-color: transparent;
    border: 0.1rem solid #111111;
    border-radius: 0;
    white-space: normal;
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-cart .mini-cart-empty .button {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-cart .mini-cart-empty .button:hover, .popup-cart .mini-cart-empty .button:focus-visible {
      color: white;
      background-color: #111111;
    }
  }
  @media screen and (max-width: 767px) {
    .popup-cart .popup-box {
      width: 100%;
    }
    .popup-cart .popup-cart-head,
    .popup-cart .woocommerce-mini-cart,
    .popup-cart .mini-cart-foot {
      padding-left: 1.6rem;
      padding-right: 1.6rem;
    }
    .popup-cart .mini-cart-foot {
      margin: 0 1.6rem;
      padding: 1.6rem;
    }
    .popup-cart .woocommerce-mini-cart__buttons {
      padding: 1.2rem 1.6rem 1.6rem;
    }
    .popup-cart .popup-close {
      right: 1.6rem;
    }
  }

  .sdn-cross-sells {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    width: 100%;
    padding: 1.6rem 0 0;
    border-top: 0.1rem solid #e8e8e8;
    margin-top: 1.6rem;
  }
  .sdn-cross-sells-title {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    color: #131313;
  }
  .sdn-cross-sells-list {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .sdn-cross-sells-item {
    display: grid;
    grid-template-columns: 6.4rem minmax(0, 1fr) auto;
    gap: 1.2rem;
    align-items: center;
  }
  .sdn-cross-sells-media {
    display: block;
    width: 6.4rem;
    height: 6.4rem;
    overflow: hidden;
    background: #f3f3f3;
  }
  .sdn-cross-sells-thumb-img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .sdn-cross-sells-info {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
  }
  .sdn-cross-sells-name {
    font-size: 1.4rem;
    line-height: 1.4;
    color: #131313;
    text-decoration: none;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .sdn-cross-sells-name:hover, .sdn-cross-sells-name:focus-visible {
      color: #c5342d;
    }
  }
  .sdn-cross-sells-price {
    font-size: 1.3rem;
    line-height: 1.4;
    color: #131313;
  }
  .sdn-cross-sells-add,
  .sdn-cross-sells-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.6rem;
    padding: 0.6rem 1.2rem;
    border: 0.1rem solid #111111;
    background: #fff;
    color: #111111;
    font-size: 1.3rem;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .sdn-cross-sells-add:hover, .sdn-cross-sells-add:focus-visible,
    .sdn-cross-sells-link:hover, .sdn-cross-sells-link:focus-visible {
      color: #fff;
      background: #111111;
    }
  }
  .sdn-cross-sells-add:disabled,
  .sdn-cross-sells-add.is-loading {
    opacity: 0.5;
    pointer-events: none;
  }
  .popup-cart .sdn-cross-sells {
    padding-left: 3.2rem;
    padding-right: 3.2rem;
  }
  @media screen and (max-width: 767px) {
    .popup-cart .sdn-cross-sells {
      padding-left: 1.6rem;
      padding-right: 1.6rem;
    }
  }
  .sdn-checkout-cart .sdn-cross-sells {
    margin-top: 2rem;
    padding-top: 1.6rem;
  }

  .popup-look .popup-box {
    gap: 4rem;
    border: none;
    width: 118.3rem;
    max-width: 100%;
    align-items: center;
    padding: 2.4rem 12rem 2.4rem 2.4rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-look .popup-box {
      gap: 2.4rem;
      width: 100%;
      max-width: 90rem;
      flex-direction: column;
      align-items: flex-start;
      padding: 4.8rem 2.4rem 2.4rem;
    }
  }
  .popup-look .popup-close {
    top: 2.4rem;
    right: 2.4rem;
    width: 4rem;
    height: 4rem;
    opacity: 0.09;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .popup-look .popup-close:hover, .popup-look .popup-close:focus-visible {
      opacity: 0.5;
    }
  }
  .popup-look .popup-close:focus-visible {
    opacity: 0.5;
  }
  @media screen and (max-width: 1200px) {
    .popup-look .popup-close {
      top: 1.2rem;
      right: 1.2rem;
      width: 3.2rem;
      height: 3.2rem;
    }
  }
  .popup-look-media {
    flex-shrink: 0;
    width: 46rem;
    height: 75rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background-color: white;
  }
  @media screen and (max-width: 1200px) {
    .popup-look-media {
      width: 100%;
      height: 45rem;
    }
  }
  .popup-look-img {
    width: auto;
    height: 68.7rem;
    max-width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  @media screen and (max-width: 1200px) {
    .popup-look-img {
      height: 100%;
    }
  }
  .popup-look-info {
    gap: 4.8rem;
    display: flex;
    flex-shrink: 0;
    width: 53.9rem;
    flex-direction: column;
  }
  @media screen and (max-width: 1200px) {
    .popup-look-info {
      gap: 2.4rem;
      width: 100%;
    }
  }
  .popup-look-head {
    gap: 2.4rem;
    display: flex;
    color: #131313;
    flex-direction: column;
  }
  .popup-look-heading {
    gap: 0.4rem;
    display: flex;
    flex-direction: column;
    max-width: 53.9rem;
  }
  .popup-look-label {
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    font-family: var(--font-mono);
    font-size: 2rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-look-label {
      font-size: clamp(1.6rem, 1.5091rem + 0.2424vw, 1.8rem);
    }
  }
  .popup-look-title {
    font-weight: 700;
    line-height: 1.15;
    text-transform: uppercase;
    font-family: var(--font-title);
    font-size: 5.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-look-title {
      font-size: clamp(4rem, 3.5rem + 1.3333vw, 5.1rem);
    }
  }
  .popup-look-desc {
    gap: 1.2rem;
    display: flex;
    flex-direction: column;
  }
  .popup-look-text {
    line-height: 1.43;
    font-size: 1.4rem;
  }
  .popup-look-tags {
    gap: 2rem;
    display: flex;
    flex-wrap: wrap;
    line-height: 1.5;
    font-weight: 700;
    align-items: center;
    font-family: var(--font-mono);
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .popup-look-tags {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .popup-look-items {
    gap: 3.2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .popup-look-item {
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 23.8rem;
    height: 34rem;
    background-color: #f5f5f2;
  }
  @media screen and (max-width: 767px) {
    .popup-look-item {
      width: 100%;
      height: 28rem;
    }
  }
  .popup-look-item-img {
    width: auto;
    max-width: none;
    -o-object-fit: contain;
       object-fit: contain;
  }
  @media screen and (max-width: 767px) {
    .popup-look-item-img {
      height: 24rem !important;
    }
  }
  .btn {
    z-index: 3;
    flex-shrink: 0;
    color: white;
    cursor: pointer;
    font-weight: 600;
    overflow: hidden;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    font-size: 1.6rem;
    text-align: center;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    line-height: normal;
    transition: 0.4s ease-in-out;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-radius: 0.4rem;
    padding: 1.6rem 3.2rem;
    font-family: var(--font-pri);
    background-color: #c5342d;
    border: 0.1rem solid transparent;
  }
  @media screen and (min-width: 1201px) {
    .btn:hover {
      color: white;
      border-color: #fe7a15;
    }
    .btn:hover::after {
      left: 0;
      width: 100%;
    }
  }
  @media screen and (max-width: 1200px) {
    .btn {
      padding: 1.2rem 2.4rem;
    }
  }
  .btn::after {
    content: "";
    top: 0;
    right: 0;
    width: 0;
    z-index: -1;
    height: 100%;
    position: absolute;
    transition: 0.4s ease-in-out;
    background-color: #fe7a15;
  }
  .btn span {
    line-height: inherit;
  }
  .btn img {
    width: 2rem;
    height: 2rem;
    transition: 0.4s ease-in-out;
  }
  .btn.mx-auto {
    margin: 0 auto;
  }
  .btn.w-100 {
    width: 100%;
  }
  .btn:disabled {
    pointer-events: none;
  }
  .btn .wpcf7-spinner {
    top: 50%;
    left: 50%;
    margin: 0 auto;
    position: absolute;
    transform: translate(-50%, -50%);
  }
  form .form-wrap {
    display: flex;
    row-gap: 2.4rem;
    flex-direction: column;
  }
  @media screen and (max-width: 767px) {
    form .form-wrap {
      row-gap: 1.6rem;
    }
  }
  form .form-group {
    gap: 2.4rem;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 767px) {
    form .form-group {
      gap: 1.6rem;
    }
  }
  form .form-box {
    width: calc(50% - 1.2rem);
  }
  @media screen and (max-width: 576px) {
    form .form-box {
      width: 100%;
    }
  }
  form .form-label {
    width: 100%;
    display: flex;
    row-gap: 0.8rem;
    flex-direction: column;
  }
  form .form-text {
    color: #131313;
  }
  form .form-text sup {
    color: #f00;
  }
  form .form-select {
    position: relative;
  }
  form .form-select::before {
    content: "";
    top: 50%;
    right: 1.6rem;
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    pointer-events: none;
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    background-image: url("../../assets/images/icons/icon-chevron.svg");
  }
  form input {
    height: 4.8rem;
  }
  form textarea {
    resize: none;
    height: 10rem;
  }
  form select {
    padding: 1.2rem 4.8rem 1.2rem 2.4rem;
  }
  form input,
  form textarea {
    padding: 1.2rem 2.4rem;
  }
  form input:not(:-moz-placeholder), form textarea:not(:-moz-placeholder) {
    color: #131313;
    border-color: #c5342d;
  }
  form input:not(:-ms-input-placeholder), form textarea:not(:-ms-input-placeholder) {
    color: #131313;
    border-color: #c5342d;
  }
  form input:hover, form input:focus, form input:not(:placeholder-shown),
  form textarea:hover,
  form textarea:focus,
  form textarea:not(:placeholder-shown) {
    color: #131313;
    border-color: #c5342d;
  }
  form input::-moz-placeholder, form textarea::-moz-placeholder {
    color: #131313;
  }
  form input:-ms-input-placeholder, form textarea:-ms-input-placeholder {
    color: #131313;
  }
  form input::placeholder,
  form textarea::placeholder {
    color: #131313;
  }
  form input,
  form select,
  form textarea {
    outline: 0;
    width: 100%;
    font-size: 1.6rem;
    transition: 0.4s ease-in-out;
    border: 0.1rem solid;
    border-radius: 0.5rem;
    font-family: var(--font-title);
  }
  .g-recaptcha-wrap {
    padding: 0 !important;
  }
  .wpcf7-form-control-wrap {
    width: 100%;
    display: block;
  }
  .wpcf7-not-valid-tip {
    right: 0;
    z-index: 4;
    bottom: -2.2rem;
    padding: 0.4rem;
    width: -moz-fit-content;
    width: fit-content;
    position: absolute;
    border-radius: 0.5rem;
    background-color: red;
    color: white !important;
    font-size: 1.2rem !important;
  }
  .wpcf7-not-valid-tip::before {
    content: "";
    width: 0;
    height: 0;
    bottom: 100%;
    right: 1.6rem;
    position: absolute;
    border-left: 0.5rem solid transparent;
    border-right: 0.5rem solid transparent;
    border-bottom: 0.5rem solid #ec1f26;
  }
  .wpcf7-response-output {
    color: #ec1f26;
    font-weight: 600;
    font-size: 1.2rem;
    text-align: center;
    border: 0 !important;
    padding: 0 !important;
    margin: 2rem 0 0 0 !important;
  }
  @media screen and (max-width: 1200px) {
    .wpcf7-response-output {
      margin: 1.2rem 0 0 0 !important;
    }
  }
  .select2-results {
    background-color: white;
    border-radius: 0 !important;
    border: 0.1rem solid white;
    box-shadow: var(--box-shadow-1);
  }
  .select2-results__options {
    max-height: 24rem;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .select2-container .select2-dropdown {
    border: 0;
    background-color: transparent;
  }
  .select2-container--open .select2-dropdown {
    z-index: 10050;
  }
  .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #c5342d;
  }
  input:-webkit-autofill,
  input:-webkit-autofill:hover,
  input:-webkit-autofill:focus,
  textarea:-webkit-autofill,
  textarea:-webkit-autofill:hover,
  textarea:-webkit-autofill:focus,
  select:-webkit-autofill,
  select:-webkit-autofill:hover,
  select:-webkit-autofill:focus {
    -webkit-text-fill-color: #131313;
    -webkit-box-shadow: 0 0 0 100rem transparent inset;
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
  }
  .article-detail {
    padding-bottom: 8rem;
  }
  @media screen and (max-width: 991px) {
    .article-detail {
      padding-bottom: 4.8rem;
    }
  }
  .article-detail-wrap {
    gap: 4rem;
    display: grid;
    margin-top: 4rem;
    align-items: flex-start;
    grid-template-columns: minmax(0, 1fr) 36rem;
  }
  @media screen and (max-width: 1200px) {
    .article-detail-wrap {
      gap: 3.2rem;
      grid-template-columns: minmax(0, 1fr) 30rem;
    }
  }
  @media screen and (max-width: 991px) {
    .article-detail-wrap {
      margin-top: 2.4rem;
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .article-detail-main {
    min-width: 0;
  }
  .article-cate {
    color: white;
    font-weight: 600;
    font-size: 1.4rem;
    display: inline-block;
    padding: 0.6rem 1.6rem;
    transition: 0.4s ease-in-out;
    border-radius: var(--radius-max);
    background-color: #c5342d;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .article-cate:hover, .article-cate:focus-visible {
      background-color: #fe7a15;
    }
  }
  .article-title {
    font-weight: 700;
    font-size: 3.6rem;
  }
  @media screen and (max-width: 1200px) {
    .article-title {
      font-size: clamp(2.6rem, 2.3727rem + 0.6061vw, 3.1rem);
    }
  }
  .article-title {
    line-height: 130%;
    margin-top: 1.6rem;
    color: #131313;
  }
  .article-meta {
    gap: 0.8rem 2.4rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 1.6rem;
    padding-bottom: 2rem;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  @media screen and (max-width: 767px) {
    .article-meta {
      gap: 0.8rem 1.6rem;
    }
  }
  .article-meta-item {
    gap: 0.6rem;
    display: flex;
    font-size: 1.4rem;
    align-items: center;
    color: rgba(0, 0, 0, 0.55);
  }
  .article-meta-item .icon {
    flex-shrink: 0;
    width: 1.8rem;
    height: 1.8rem;
  }
  .article-meta-item .icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .article-sapo {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .article-sapo {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  .article-sapo {
    font-weight: 500;
    line-height: 160%;
    margin-top: 2.4rem;
    color: #131313;
    padding-left: 1.6rem;
    border-left: 0.4rem solid #fe7a15;
  }
  .article-thumb {
    margin-top: 3.2rem;
  }
  .article-img {
    display: block;
    overflow: hidden;
    border-radius: var(--radius);
  }
  .article-img > img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    transition: 0.4s ease-in-out;
  }
  .article-img {
    aspect-ratio: 16/9;
  }
  .article-thumb-caption {
    font-size: 1.3rem;
    font-style: italic;
    text-align: center;
    margin-top: 1.2rem;
    color: rgba(0, 0, 0, 0.55);
  }
  .article-toc {
    padding: 2rem 2.4rem;
    margin-top: 3.2rem;
    border-radius: var(--radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
    background-color: rgba(0, 69, 148, 0.04);
  }
  .article-toc-title {
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .article-toc-title {
      font-size: clamp(1.4rem, 1.3091rem + 0.2424vw, 1.6rem);
    }
  }
  .article-toc-title {
    font-weight: 700;
    color: #c5342d;
    margin-bottom: 1.2rem;
  }
  .article-toc-list {
    counter-reset: toc;
  }
  .article-toc-list li {
    counter-increment: toc;
  }
  .article-toc-list li:not(:first-child) {
    margin-top: 0.8rem;
  }
  .article-toc-list li::before {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fe7a15;
    margin-right: 0.8rem;
    content: counter(toc) ".";
  }
  .article-toc-list a {
    font-size: 1.5rem;
    line-height: 150%;
    transition: 0.4s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .article-toc-list a:hover, .article-toc-list a:focus-visible {
      color: #c5342d;
    }
  }
  .article-detail-main .sdn-content {
    margin-top: 3.2rem;
  }
  .article-foot {
    gap: 1.6rem 3.2rem;
    display: flex;
    flex-wrap: wrap;
    margin-top: 3.2rem;
    padding-top: 2.4rem;
    align-items: center;
    justify-content: space-between;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .article-tags {
    gap: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .article-tags > .icon {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
  }
  .article-tags > .icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .article-tag-list {
    gap: 0.8rem;
    display: flex;
    flex-wrap: wrap;
  }
  .article-tag {
    font-size: 1.3rem;
    transition: 0.4s ease-in-out;
    padding: 0.6rem 1.4rem;
    border-radius: var(--radius-max);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .article-tag:hover, .article-tag:focus-visible {
      color: white;
      border-color: #c5342d;
      background-color: #c5342d;
    }
  }
  .article-share {
    gap: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .article-share-title {
    font-size: 1.4rem;
    font-weight: 600;
  }
  .article-share-list {
    gap: 0.8rem;
    display: flex;
  }
  .article-share-link {
    width: 4rem;
    height: 4rem;
    display: flex;
    transition: 0.4s ease-in-out;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-circle);
    background-color: rgba(0, 0, 0, 0.05);
  }
  .article-share-link img {
    width: 1.8rem;
    height: 1.8rem;
    -o-object-fit: contain;
       object-fit: contain;
    transition: 0.4s ease-in-out;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .article-share-link:hover, .article-share-link:focus-visible {
      background-color: #c5342d;
    }
    .article-share-link:hover img, .article-share-link:focus-visible img {
      filter: var(--filter-white);
    }
  }
  .article-author {
    gap: 2rem;
    display: flex;
    margin-top: 3.2rem;
    padding: 2.4rem;
    border-radius: var(--radius);
    background-color: rgba(0, 0, 0, 0.03);
  }
  @media screen and (max-width: 576px) {
    .article-author {
      gap: 1.6rem;
      flex-direction: column;
    }
  }
  .article-author-avatar {
    flex-shrink: 0;
    overflow: hidden;
    width: 9rem;
    height: 9rem;
    aspect-ratio: 1/1;
    border-radius: var(--radius-circle);
  }
  .article-author-avatar > img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
  }
  .article-author-label {
    font-size: 1.2rem;
    font-weight: 600;
    color: #fe7a15;
    text-transform: uppercase;
  }
  .article-author-name {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .article-author-name {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  .article-author-name {
    font-weight: 700;
    margin-top: 0.4rem;
  }
  .article-author-desc {
    font-size: 1.4rem;
    line-height: 160%;
    margin-top: 0.8rem;
    color: rgba(0, 0, 0, 0.55);
  }
  .article-nav {
    gap: 1.6rem;
    display: grid;
    margin-top: 3.2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  @media screen and (max-width: 767px) {
    .article-nav {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .article-nav-item {
    gap: 1.2rem;
    display: flex;
    padding: 1.6rem;
    align-items: center;
    transition: 0.4s ease-in-out;
    border-radius: var(--radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .article-nav-item .icon {
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
  }
  .article-nav-item .icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .article-nav-item .label {
    font-size: 1.2rem;
    font-weight: 600;
    color: #fe7a15;
    text-transform: uppercase;
  }
  .article-nav-item .title {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 145%;
    margin-top: 0.4rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-clamp: 2;
    -webkit-line-clamp: 2;
  }
  .article-nav-item.is-prev .icon img {
    transform: rotate(90deg);
  }
  .article-nav-item.is-next {
    text-align: right;
    flex-direction: row-reverse;
  }
  .article-nav-item.is-next .icon img {
    transform: rotate(-90deg);
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .article-nav-item:hover, .article-nav-item:focus-visible {
      border-color: #c5342d;
      box-shadow: var(--box-shadow-1);
    }
  }
  .article-aside {
    gap: 2.4rem;
    display: flex;
    flex-direction: column;
  }
  @media screen and (min-width: 992px) {
    .article-aside {
      top: 10rem;
      position: sticky;
    }
  }
  .article-widget {
    padding: 2rem;
    border-radius: var(--radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .article-widget-title {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .article-widget-title {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  .article-widget-title {
    font-weight: 700;
    color: #c5342d;
    padding-bottom: 1.2rem;
    margin-bottom: 1.6rem;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .article-widget-item:not(:first-child) {
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  .article-widget-link {
    gap: 1.2rem;
    display: flex;
    align-items: center;
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .article-widget-link:hover .article-widget-name, .article-widget-link:focus-visible .article-widget-name {
      color: #c5342d;
    }
    .article-widget-link:hover .article-widget-img > img, .article-widget-link:focus-visible .article-widget-img > img {
      transform: scale(1.05);
    }
  }
  .article-widget-img {
    display: block;
    overflow: hidden;
    border-radius: var(--radius);
  }
  .article-widget-img > img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    transition: 0.4s ease-in-out;
  }
  .article-widget-img {
    flex-shrink: 0;
    width: 10rem;
    aspect-ratio: 4/3;
    border-radius: var(--radius-m);
  }
  .article-widget-name {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 145%;
    transition: 0.4s ease-in-out;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-clamp: 2;
    -webkit-line-clamp: 2;
  }
  .article-widget-date {
    font-size: 1.2rem;
    margin-top: 0.6rem;
    color: rgba(0, 0, 0, 0.55);
  }
  .article-cate-list li:not(:first-child) {
    margin-top: 0.4rem;
  }
  .article-cate-list a {
    font-size: 1.5rem;
    display: flex;
    padding: 0.8rem 1.2rem;
    transition: 0.4s ease-in-out;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--radius-m);
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .article-cate-list a:hover, .article-cate-list a:focus-visible {
      color: #c5342d;
      background-color: rgba(0, 69, 148, 0.06);
    }
  }
  .article-cate-list span {
    font-size: 1.2rem;
    color: rgba(0, 0, 0, 0.55);
  }
  .article-related {
    margin-top: 6rem;
  }
  @media screen and (max-width: 991px) {
    .article-related {
      margin-top: 4rem;
    }
  }
  .article-related-title {
    font-size: 2.8rem;
  }
  @media screen and (max-width: 1200px) {
    .article-related-title {
      font-size: clamp(2.1rem, 1.9636rem + 0.3636vw, 2.4rem);
    }
  }
  .article-related-title {
    font-weight: 700;
    color: #c5342d;
    margin-bottom: 2.4rem;
  }
  .article-related-list {
    gap: 2.4rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  @media screen and (max-width: 991px) {
    .article-related-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media screen and (max-width: 576px) {
    .article-related-list {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .article-card {
    overflow: hidden;
    transition: 0.4s ease-in-out;
    border-radius: var(--radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
  @media screen and (hover: hover) and (pointer: fine) and (min-width: 1201px) {
    .article-card:hover, .article-card:focus-visible {
      box-shadow: var(--box-shadow-1);
    }
    .article-card:hover .article-card-img > img, .article-card:focus-visible .article-card-img > img {
      transform: scale(1.05);
    }
    .article-card:hover .article-card-title, .article-card:focus-visible .article-card-title {
      color: #c5342d;
    }
  }
  .article-card-img {
    display: block;
    overflow: hidden;
    border-radius: var(--radius);
  }
  .article-card-img > img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    transition: 0.4s ease-in-out;
  }
  .article-card-img {
    aspect-ratio: 16/9;
    border-radius: 0;
  }
  .article-card-info {
    padding: 1.6rem;
  }
  .article-card-cate {
    font-size: 1.2rem;
    font-weight: 600;
    color: #fe7a15;
    text-transform: uppercase;
  }
  .article-card-title {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .article-card-title {
      font-size: clamp(1.5rem, 1.4545rem + 0.1212vw, 1.6rem);
    }
  }
  .article-card-title {
    font-weight: 700;
    line-height: 140%;
    margin-top: 0.8rem;
    transition: 0.4s ease-in-out;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-clamp: 2;
    -webkit-line-clamp: 2;
  }
  .article-card-desc {
    font-size: 1.4rem;
    line-height: 160%;
    margin-top: 0.8rem;
    color: rgba(0, 0, 0, 0.55);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-clamp: 3;
    -webkit-line-clamp: 3;
  }
  .article-card-meta {
    gap: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    ::-ms-backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

.footer-bct-wrap {
  display: flex;
  flex-flow: row wrap;
  gap: 1.2rem;
  align-items: center;
}

.footer-bct-wrap .footer-bct-text {
  width: 150px;
  display: flex;
  font-size: 10px;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}

.footer-bct-wrap .footer-bct-text span:first-child {
  font-size: 40px;
}

.footer-bct-wrap .footer-bct-text a {
  font-weight: 700;
}