
    :root {
      --cd-orange: #f26926;
      --cd-orange-dark: #d94f0c;
      --cd-pink: #e01b74;
      --cd-pink-dark: #bc0f5c;
      --cd-cream: #fff8ef;
      --cd-cream-2: #fff1de;
      --cd-white: #ffffff;
      --cd-chocolate: #2b1b15;
      --cd-copy: #60453b;
      --cd-muted: #8d7369;
      --cd-yellow: #ffcb4c;
      --cd-green: #8bcf71;
      --cd-line: rgba(43, 27, 21, 0.11);
      --cd-shadow-sm: 0 14px 34px rgba(86, 43, 22, 0.10);
      --cd-shadow-md: 0 24px 70px rgba(86, 43, 22, 0.15);
      --cd-shadow-lg: 0 35px 110px rgba(86, 43, 22, 0.22);
      --cd-radius-sm: 18px;
      --cd-radius-md: 28px;
      --cd-radius-lg: 42px;
      --cd-max: 1220px;
      --cd-header-height: 82px;
      --cd-ease: cubic-bezier(.2, .75, .25, 1);
    }

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

    html {
      scroll-behavior: smooth;
      scroll-padding-top: calc(var(--cd-header-height) + 20px);
    }

    body {
      margin: 0;
      min-width: 320px;
      overflow-x: hidden;
      color: var(--cd-chocolate);
      background:
        radial-gradient(circle at 10% 9%, rgba(224, 27, 116, .08), transparent 28%),
        radial-gradient(circle at 93% 22%, rgba(242, 105, 38, .10), transparent 30%),
        var(--cd-cream);
      font-family: "Heebo", Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    body.is-lightbox-open { overflow: hidden; }

    img { display: block; max-width: 100%; }
    button, input, textarea, select { font: inherit; }
    a { color: inherit; }

    ::selection {
      color: var(--cd-white);
      background: var(--cd-pink);
    }

    .cd-page {
      position: relative;
      isolation: isolate;
      overflow: clip;
    }

    .cd-container {
      width: min(calc(100% - 40px), var(--cd-max));
      margin-inline: auto;
    }

    .cd-section {
      position: relative;
      padding: 104px 0;
    }

    .cd-skip-link {
      position: fixed;
      z-index: 9999;
      top: 12px;
      right: 12px;
      padding: 12px 18px;
      color: var(--cd-white);
      background: var(--cd-chocolate);
      border-radius: 12px;
      transform: translateY(-150%);
      transition: transform .2s ease;
    }

    .cd-skip-link:focus { transform: translateY(0); }

    .cd-announcement {
      position: relative;
      z-index: 50;
      overflow: hidden;
      color: var(--cd-white);
      background: var(--cd-chocolate);
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .cd-marquee {
      display: flex;
      width: max-content;
      min-width: 200%;
      animation: cd-marquee 28s linear infinite;
    }

    .cd-marquee-track {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      gap: 28px;
      min-width: 50%;
      padding: 9px 14px;
      white-space: nowrap;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: .01em;
    }

    .cd-marquee-track span {
      display: inline-flex;
      align-items: center;
      gap: 28px;
    }

    .cd-marquee-track span::after {
      content: "";
      width: 7px;
      height: 7px;
      flex: 0 0 7px;
      border-radius: 999px;
      background: var(--cd-yellow);
      box-shadow: 0 0 0 4px rgba(255, 203, 76, .13);
    }

    @keyframes cd-marquee {
      to { transform: translateX(50%); }
    }

    .cd-header {
      position: sticky;
      z-index: 45;
      top: 0;
      height: var(--cd-header-height);
      background: rgba(255, 248, 239, .88);
      border-bottom: 1px solid transparent;
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      transition: height .35s var(--cd-ease), background .35s ease, box-shadow .35s ease, border-color .35s ease;
    }

    .cd-header.is-scrolled {
      height: 70px;
      background: rgba(255, 248, 239, .96);
      border-bottom-color: var(--cd-line);
      box-shadow: 0 12px 40px rgba(43, 27, 21, .07);
    }

    .cd-header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      height: 100%;
    }

    .cd-logo-link {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
      border-radius: 14px;
      outline: none;
    }

    .cd-logo-link:focus-visible {
      box-shadow: 0 0 0 4px rgba(224, 27, 116, .18);
    }

    .cd-logo {
      width: 146px;
      height: auto;
      transition: transform .35s var(--cd-ease), width .35s var(--cd-ease);
    }

    .cd-logo-link:hover .cd-logo { transform: rotate(-1.5deg) scale(1.025); }
    .cd-header.is-scrolled .cd-logo { width: 128px; }

    .cd-nav {
      display: flex;
      align-items: center;
      gap: 26px;
      margin-inline: auto;
    }

    .cd-nav a {
      position: relative;
      text-decoration: none;
      color: var(--cd-copy);
      font-weight: 700;
      transition: color .2s ease;
    }

    .cd-nav a::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: -8px;
      width: 100%;
      height: 3px;
      border-radius: 999px;
      background: linear-gradient(90deg, var(--cd-orange), var(--cd-pink));
      transform: scaleX(0);
      transform-origin: right;
      transition: transform .3s var(--cd-ease);
    }

    .cd-nav a:hover,
    .cd-nav a:focus-visible { color: var(--cd-pink); }
    .cd-nav a:hover::after,
    .cd-nav a:focus-visible::after { transform: scaleX(1); }

    .cd-button {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 52px;
      padding: 14px 24px;
      overflow: hidden;
      border: 0;
      border-radius: 999px;
      text-decoration: none;
      text-align: center;
      font-weight: 800;
      line-height: 1.2;
      cursor: pointer;
      isolation: isolate;
      transition: transform .3s var(--cd-ease), box-shadow .3s ease, background .3s ease, color .3s ease;
    }

    .cd-button::before {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      background: rgba(255,255,255,.18);
      transform: translateX(110%) skewX(-18deg);
      transition: transform .55s var(--cd-ease);
    }

    .cd-button:hover::before { transform: translateX(-110%) skewX(-18deg); }
    .cd-button:hover { transform: translateY(-3px); }
    .cd-button:active { transform: translateY(-1px) scale(.985); }

    .cd-button:focus-visible {
      outline: none;
      box-shadow: 0 0 0 5px rgba(224, 27, 116, .18), 0 14px 38px rgba(224, 27, 116, .25);
    }

    .cd-button-primary {
      color: var(--cd-white);
      background: linear-gradient(135deg, var(--cd-pink), #f13a8e);
      box-shadow: 0 16px 38px rgba(224, 27, 116, .27);
    }

    .cd-button-primary:hover { box-shadow: 0 20px 48px rgba(224, 27, 116, .35); }

    .cd-button-secondary {
      color: var(--cd-chocolate);
      background: var(--cd-white);
      border: 1px solid var(--cd-line);
      box-shadow: var(--cd-shadow-sm);
    }

    .cd-button-secondary:hover {
      color: var(--cd-pink);
      box-shadow: var(--cd-shadow-md);
    }

    .cd-button-small {
      min-height: 44px;
      padding: 11px 19px;
      font-size: 15px;
    }

    .cd-button svg {
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      transition: transform .3s var(--cd-ease);
    }

    .cd-button:hover svg { transform: translateX(-4px); }

    .cd-ripple {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
      background: rgba(255,255,255,.45);
      transform: translate(-50%, -50%) scale(0);
      animation: cd-ripple .65s ease-out forwards;
    }

    @keyframes cd-ripple {
      to { transform: translate(-50%, -50%) scale(1); opacity: 0; }
    }

    .cd-hero {
      position: relative;
      min-height: calc(100svh - var(--cd-header-height) - 38px);
      display: flex;
      align-items: center;
      padding: 58px 0 92px;
    }

    .cd-hero::before {
      content: "";
      position: absolute;
      z-index: -2;
      top: 5%;
      right: -12%;
      width: 520px;
      aspect-ratio: 1;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(242, 105, 38, .15), rgba(242, 105, 38, 0) 68%);
      filter: blur(8px);
      animation: cd-breathe 8s ease-in-out infinite;
    }

    .cd-hero::after {
      content: "";
      position: absolute;
      z-index: -2;
      bottom: -14%;
      left: -8%;
      width: 480px;
      aspect-ratio: 1;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(224, 27, 116, .12), rgba(224, 27, 116, 0) 68%);
      filter: blur(8px);
      animation: cd-breathe 9s 1s ease-in-out infinite reverse;
    }

    @keyframes cd-breathe {
      50% { transform: scale(1.12) translate3d(10px, -8px, 0); opacity: .72; }
    }

    .cd-hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr);
      align-items: center;
      gap: clamp(42px, 6vw, 86px);
    }

    .cd-hero-copy {
      position: relative;
      z-index: 3;
    }

    .cd-open-badge,
    .cd-kicker {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      width: fit-content;
      margin: 0 0 18px;
      color: var(--cd-pink-dark);
      font-weight: 800;
      letter-spacing: .02em;
    }

    .cd-open-badge {
      padding: 9px 14px;
      background: rgba(255,255,255,.74);
      border: 1px solid rgba(224,27,116,.14);
      border-radius: 999px;
      box-shadow: 0 10px 30px rgba(43,27,21,.07);
      animation: cd-enter-up .8s .05s both var(--cd-ease);
    }

    .cd-open-badge-dot {
      position: relative;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--cd-green);
      box-shadow: 0 0 0 5px rgba(139, 207, 113, .18);
    }

    .cd-open-badge-dot::after {
      content: "";
      position: absolute;
      inset: -5px;
      border: 1px solid rgba(139, 207, 113, .5);
      border-radius: inherit;
      animation: cd-ping 2.2s ease-out infinite;
    }

    @keyframes cd-ping {
      0% { opacity: .7; transform: scale(.7); }
      75%, 100% { opacity: 0; transform: scale(1.7); }
    }

    .cd-hero h1 {
      max-width: 760px;
      margin: 0;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: clamp(48px, 6vw, 84px);
      font-weight: 900;
      line-height: .98;
      letter-spacing: -.045em;
      animation: cd-enter-up .9s .12s both var(--cd-ease);
    }

    .cd-hero h1 span {
      position: relative;
      display: inline-block;
      color: var(--cd-pink);
      white-space: nowrap;
    }

    .cd-hero h1 span::after {
      content: "";
      position: absolute;
      z-index: -1;
      right: -2%;
      bottom: .04em;
      width: 104%;
      height: .18em;
      border-radius: 999px;
      background: var(--cd-yellow);
      opacity: .75;
      transform: scaleX(0) rotate(-1.5deg);
      transform-origin: right;
      animation: cd-underline .8s .85s forwards var(--cd-ease);
    }

    @keyframes cd-underline { to { transform: scaleX(1) rotate(-1.5deg); } }

    .cd-hero-lead {
      max-width: 670px;
      margin: 26px 0 0;
      color: var(--cd-copy);
      font-size: clamp(19px, 2vw, 23px);
      line-height: 1.65;
      animation: cd-enter-up .9s .22s both var(--cd-ease);
    }

    .cd-hero-actions {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 32px;
      animation: cd-enter-up .9s .32s both var(--cd-ease);
    }

    .cd-hero-facts {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin: 28px 0 0;
      padding: 0;
      list-style: none;
      animation: cd-enter-up .9s .42s both var(--cd-ease);
    }

    .cd-hero-facts li {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 42px;
      padding: 9px 13px;
      color: var(--cd-copy);
      background: rgba(255,255,255,.7);
      border: 1px solid var(--cd-line);
      border-radius: 999px;
      font-weight: 700;
      box-shadow: 0 8px 20px rgba(43,27,21,.055);
    }

    .cd-hero-facts svg {
      width: 19px;
      height: 19px;
      fill: none;
      stroke: var(--cd-orange);
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    @keyframes cd-enter-up {
      from { opacity: 0; transform: translate3d(0, 28px, 0); }
      to { opacity: 1; transform: translate3d(0, 0, 0); }
    }

    .cd-hero-gallery-wrap {
      position: relative;
      z-index: 2;
      animation: cd-gallery-enter 1s .18s both var(--cd-ease);
      perspective: 1200px;
    }

    @keyframes cd-gallery-enter {
      from { opacity: 0; transform: translate3d(-36px, 18px, 0) rotateY(6deg) scale(.96); }
      to { opacity: 1; transform: translate3d(0, 0, 0) rotateY(0) scale(1); }
    }

    .cd-hero-gallery {
      position: relative;
      width: min(100%, 520px);
      margin-inline: auto;
      padding: 12px;
      background: rgba(255,255,255,.82);
      border: 1px solid rgba(255,255,255,.9);
      border-radius: 38px;
      box-shadow: var(--cd-shadow-lg);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      transform-style: preserve-3d;
      transition: transform .25s ease-out;
    }

    .cd-gallery-stage {
      position: relative;
      overflow: hidden;
      aspect-ratio: 4 / 5;
      background:
        linear-gradient(135deg, rgba(242,105,38,.14), rgba(224,27,116,.14)),
        var(--cd-cream-2);
      border-radius: 29px;
    }

    .cd-gallery-slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      visibility: hidden;
      transform: scale(1.045);
      transition: opacity .7s ease, visibility .7s ease, transform 1.4s var(--cd-ease);
    }

    .cd-gallery-slide.is-active {
      opacity: 1;
      visibility: visible;
      transform: scale(1);
      z-index: 2;
    }

    .cd-gallery-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .cd-gallery-slide.is-active img {
      animation: cd-kenburns 8s ease-out both;
    }

    @keyframes cd-kenburns {
      from { transform: scale(1.04); }
      to { transform: scale(1.12); }
    }

    .cd-gallery-slide::after {
      content: "";
      position: absolute;
      inset: auto 0 0;
      height: 42%;
      background: linear-gradient(to top, rgba(27,12,8,.72), rgba(27,12,8,0));
      pointer-events: none;
    }

    .cd-gallery-caption {
      position: absolute;
      z-index: 3;
      right: 22px;
      bottom: 22px;
      left: 22px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 16px;
      color: var(--cd-white);
    }

    .cd-gallery-caption strong {
      display: block;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: clamp(21px, 2.2vw, 29px);
      line-height: 1.15;
    }

    .cd-gallery-caption span {
      display: block;
      margin-top: 5px;
      color: rgba(255,255,255,.82);
      font-size: 14px;
    }

    .cd-gallery-count {
      flex: 0 0 auto;
      padding: 7px 10px;
      background: rgba(255,255,255,.16);
      border: 1px solid rgba(255,255,255,.28);
      border-radius: 999px;
      font-size: 13px;
      font-weight: 700;
      backdrop-filter: blur(8px);
    }

    .cd-gallery-arrow {
      position: absolute;
      z-index: 8;
      top: 50%;
      display: inline-grid;
      place-items: center;
      width: 48px;
      height: 48px;
      padding: 0;
      color: var(--cd-chocolate);
      background: rgba(255,255,255,.9);
      border: 1px solid rgba(255,255,255,.95);
      border-radius: 50%;
      box-shadow: 0 12px 28px rgba(43,27,21,.2);
      cursor: pointer;
      transform: translateY(-50%);
      transition: transform .25s var(--cd-ease), background .25s ease, color .25s ease;
    }

    .cd-gallery-arrow:hover {
      color: var(--cd-white);
      background: var(--cd-pink);
      transform: translateY(-50%) scale(1.08);
    }

    .cd-gallery-arrow:focus-visible {
      outline: none;
      box-shadow: 0 0 0 5px rgba(224,27,116,.2), 0 12px 28px rgba(43,27,21,.2);
    }

    .cd-gallery-arrow svg {
      width: 23px;
      height: 23px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .cd-gallery-prev { right: 24px; }
    .cd-gallery-next { left: 24px; }

    .cd-gallery-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      min-height: 58px;
      padding: 12px 8px 0;
    }

    .cd-gallery-dots {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
    }

    .cd-gallery-dot {
      width: 9px;
      height: 9px;
      padding: 0;
      background: rgba(43,27,21,.18);
      border: 0;
      border-radius: 999px;
      cursor: pointer;
      transition: width .3s var(--cd-ease), background .3s ease, transform .3s ease;
    }

    .cd-gallery-dot.is-active {
      width: 30px;
      background: var(--cd-pink);
    }

    .cd-gallery-dot:hover { transform: scale(1.18); }
    .cd-gallery-dot:focus-visible { outline: 3px solid rgba(224,27,116,.25); outline-offset: 3px; }

    .cd-gallery-status {
      color: var(--cd-muted);
      font-size: 13px;
      font-weight: 700;
    }

    .cd-floating-label {
      position: absolute;
      z-index: 8;
      display: flex;
      align-items: center;
      gap: 10px;
      max-width: 190px;
      padding: 12px 15px;
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(255,255,255,.95);
      border-radius: 18px;
      box-shadow: var(--cd-shadow-md);
      font-size: 14px;
      font-weight: 800;
      line-height: 1.25;
      backdrop-filter: blur(10px);
      animation: cd-float 4.4s ease-in-out infinite;
    }

    .cd-floating-label svg {
      width: 24px;
      height: 24px;
      flex: 0 0 24px;
      fill: none;
      stroke: var(--cd-pink);
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .cd-floating-label-one { top: 9%; right: -40px; }
    .cd-floating-label-two { bottom: 14%; left: -46px; animation-delay: -1.8s; }

    @keyframes cd-float {
      50% { transform: translate3d(0, -11px, 0) rotate(-1deg); }
    }

    .cd-decor-candy {
      position: absolute;
      z-index: -1;
      pointer-events: none;
      filter: drop-shadow(0 12px 18px rgba(43,27,21,.12));
      animation: cd-candy-float 7s ease-in-out infinite;
    }

    .cd-decor-candy::before,
    .cd-decor-candy::after {
      content: "";
      position: absolute;
      top: 50%;
      width: 17px;
      height: 26px;
      background: inherit;
      clip-path: polygon(0 0, 100% 26%, 100% 74%, 0 100%);
      transform: translateY(-50%);
    }

    .cd-decor-candy::before { right: 100%; }
    .cd-decor-candy::after { left: 100%; transform: translateY(-50%) rotate(180deg); }

    .cd-decor-candy-one {
      top: 8%;
      left: -8px;
      width: 34px;
      height: 25px;
      background: var(--cd-orange);
      border-radius: 8px;
      transform: rotate(18deg);
    }

    .cd-decor-candy-two {
      right: -18px;
      bottom: 6%;
      width: 30px;
      height: 23px;
      background: var(--cd-pink);
      border-radius: 8px;
      transform: rotate(-15deg);
      animation-delay: -2.2s;
    }

    @keyframes cd-candy-float {
      50% { translate: 0 -16px; rotate: 8deg; }
    }

    .cd-wave {
      position: absolute;
      right: 0;
      bottom: -1px;
      left: 0;
      height: 60px;
      overflow: hidden;
      pointer-events: none;
    }

    .cd-wave svg { width: 100%; height: 100%; display: block; }

    .cd-intro-strip {
      position: relative;
      z-index: 2;
      margin-top: -1px;
      color: var(--cd-white);
      background: var(--cd-pink);
    }

    .cd-intro-strip-inner {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: rgba(255,255,255,.18);
      border-inline: 1px solid rgba(255,255,255,.18);
    }

    .cd-intro-item {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      min-height: 86px;
      padding: 18px 22px;
      background: var(--cd-pink);
      font-weight: 800;
      text-align: center;
    }

    .cd-intro-item svg {
      width: 29px;
      height: 29px;
      flex: 0 0 29px;
      fill: none;
      stroke: var(--cd-white);
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .cd-section-heading {
      max-width: 760px;
      margin: 0 auto 50px;
      text-align: center;
    }

    .cd-section-heading .cd-kicker { margin-inline: auto; }

    .cd-kicker::before {
      content: "";
      width: 28px;
      height: 4px;
      border-radius: 999px;
      background: linear-gradient(90deg, var(--cd-orange), var(--cd-pink));
    }

    .cd-section-title {
      margin: 0;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: clamp(36px, 4.8vw, 62px);
      font-weight: 900;
      line-height: 1.05;
      letter-spacing: -.035em;
    }

    .cd-section-copy {
      margin: 19px auto 0;
      color: var(--cd-copy);
      font-size: clamp(18px, 2vw, 21px);
      line-height: 1.7;
    }

    .cd-assortment {
      background: var(--cd-white);
    }

    .cd-assortment::before {
      content: "";
      position: absolute;
      top: 10%;
      left: -160px;
      width: 360px;
      aspect-ratio: 1;
      border-radius: 50%;
      background: rgba(255,203,76,.16);
      filter: blur(1px);
    }

    .cd-assortment-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 18px;
    }

    .cd-assortment-card {
      position: relative;
      min-height: 254px;
      padding: 28px 22px 24px;
      overflow: hidden;
      background: var(--cd-cream);
      border: 1px solid var(--cd-line);
      border-radius: var(--cd-radius-md);
      box-shadow: 0 13px 35px rgba(43,27,21,.07);
      transform-style: preserve-3d;
      transition: transform .35s var(--cd-ease), box-shadow .35s ease, border-color .35s ease;
    }

    .cd-assortment-card::before {
      content: "";
      position: absolute;
      top: -58px;
      left: -58px;
      width: 125px;
      aspect-ratio: 1;
      border-radius: 50%;
      background: var(--card-accent, var(--cd-pink));
      opacity: .09;
      transition: transform .55s var(--cd-ease), opacity .35s ease;
    }

    .cd-assortment-card::after {
      content: "";
      position: absolute;
      right: 20px;
      bottom: 18px;
      width: 30px;
      height: 8px;
      border-radius: 999px;
      background: var(--card-accent, var(--cd-pink));
      opacity: .28;
      transform: rotate(-10deg);
    }

    .cd-assortment-card:hover {
      border-color: color-mix(in srgb, var(--card-accent, var(--cd-pink)) 35%, transparent);
      box-shadow: 0 24px 54px rgba(43,27,21,.13);
      transform: translateY(-10px) rotateX(2deg);
    }

    .cd-assortment-card:hover::before {
      opacity: .15;
      transform: scale(1.25);
    }

    .cd-assortment-icon {
      position: relative;
      display: grid;
      place-items: center;
      width: 76px;
      height: 76px;
      margin-bottom: 24px;
      color: var(--card-accent, var(--cd-pink));
      background: var(--cd-white);
      border-radius: 25px;
      box-shadow: 0 14px 30px rgba(43,27,21,.09);
      transform: translateZ(28px);
      transition: transform .45s var(--cd-ease), border-radius .45s var(--cd-ease);
    }

    .cd-assortment-card:hover .cd-assortment-icon {
      border-radius: 50%;
      transform: translateZ(34px) rotate(-6deg) scale(1.08);
    }

    .cd-assortment-icon svg {
      width: 42px;
      height: 42px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .cd-assortment-card h3 {
      margin: 0;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: 21px;
      line-height: 1.25;
      transform: translateZ(18px);
    }

    .cd-assortment-card p {
      margin: 10px 0 0;
      color: var(--cd-copy);
      line-height: 1.55;
      transform: translateZ(12px);
    }

    .cd-card-nuts { --card-accent: #b66b2b; }
    .cd-card-candy { --card-accent: var(--cd-pink); }
    .cd-card-chocolate { --card-accent: #6e3c2a; }
    .cd-card-icecream { --card-accent: #4aa6c8; }
    .cd-card-cake { --card-accent: var(--cd-orange); }

    .cd-gift-section {
      padding-top: 0;
      background: var(--cd-white);
    }

    .cd-gift-panel {
      position: relative;
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      align-items: center;
      gap: 50px;
      min-height: 430px;
      padding: clamp(44px, 6vw, 78px);
      overflow: hidden;
      color: var(--cd-white);
      background:
        radial-gradient(circle at 90% 15%, rgba(255,255,255,.17), transparent 27%),
        linear-gradient(135deg, var(--cd-orange), #f88b38 55%, #fb9b42);
      border-radius: var(--cd-radius-lg);
      box-shadow: 0 35px 85px rgba(242,105,38,.23);
    }

    .cd-gift-panel::before {
      content: "";
      position: absolute;
      top: -90px;
      left: -90px;
      width: 270px;
      aspect-ratio: 1;
      border: 42px solid rgba(255,255,255,.08);
      border-radius: 50%;
      animation: cd-spin-slow 18s linear infinite;
    }

    @keyframes cd-spin-slow { to { transform: rotate(360deg); } }

    .cd-gift-copy { position: relative; z-index: 2; }
    .cd-gift-copy .cd-kicker { color: var(--cd-white); }
    .cd-gift-copy .cd-kicker::before { background: var(--cd-yellow); }

    .cd-gift-copy h2 {
      margin: 0;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: clamp(39px, 5vw, 64px);
      font-weight: 900;
      line-height: 1.02;
      letter-spacing: -.04em;
    }

    .cd-gift-copy p {
      max-width: 600px;
      margin: 20px 0 0;
      color: rgba(255,255,255,.9);
      font-size: 20px;
      line-height: 1.7;
    }

    .cd-gift-list {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin: 27px 0 0;
      padding: 0;
      list-style: none;
    }

    .cd-gift-list li {
      padding: 9px 13px;
      background: rgba(255,255,255,.15);
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 999px;
      font-weight: 700;
      backdrop-filter: blur(6px);
    }

    .cd-gift-visual {
      position: relative;
      display: grid;
      place-items: center;
      min-height: 310px;
    }

    .cd-gift-box {
      position: relative;
      width: 230px;
      height: 178px;
      filter: drop-shadow(0 28px 32px rgba(84,28,5,.24));
      animation: cd-gift-hover 4.2s ease-in-out infinite;
    }

    .cd-gift-box-body {
      position: absolute;
      right: 10px;
      bottom: 0;
      left: 10px;
      height: 136px;
      background: var(--cd-white);
      border-radius: 11px 11px 24px 24px;
      box-shadow: inset 0 -11px 0 rgba(224,27,116,.07);
    }

    .cd-gift-box-lid {
      position: absolute;
      z-index: 3;
      top: 25px;
      right: 0;
      left: 0;
      height: 48px;
      background: var(--cd-white);
      border-radius: 13px;
      box-shadow: 0 8px 18px rgba(84,28,5,.14);
      transform: rotate(-3deg);
    }

    .cd-gift-ribbon-v,
    .cd-gift-ribbon-h {
      position: absolute;
      z-index: 4;
      background: var(--cd-pink);
    }

    .cd-gift-ribbon-v { top: 25px; bottom: 0; left: 50%; width: 34px; transform: translateX(-50%); }
    .cd-gift-ribbon-h { top: 41px; right: 0; left: 0; height: 20px; }

    .cd-gift-bow {
      position: absolute;
      z-index: 5;
      top: -10px;
      left: 50%;
      width: 86px;
      height: 52px;
      transform: translateX(-50%);
    }

    .cd-gift-bow::before,
    .cd-gift-bow::after {
      content: "";
      position: absolute;
      top: 10px;
      width: 48px;
      height: 35px;
      border: 12px solid var(--cd-pink);
      border-radius: 50% 50% 50% 12px;
    }

    .cd-gift-bow::before { right: 36px; transform: rotate(18deg); }
    .cd-gift-bow::after { left: 36px; transform: scaleX(-1) rotate(18deg); }

    @keyframes cd-gift-hover {
      50% { transform: translateY(-13px) rotate(1deg); }
    }

    .cd-mini-candy {
      position: absolute;
      width: 40px;
      height: 30px;
      border-radius: 10px;
      background: var(--cd-yellow);
      box-shadow: 0 14px 24px rgba(84,28,5,.15);
      animation: cd-orbit 5s ease-in-out infinite;
    }

    .cd-mini-candy::before,
    .cd-mini-candy::after {
      content: "";
      position: absolute;
      top: 50%;
      width: 17px;
      height: 25px;
      background: inherit;
      clip-path: polygon(0 0, 100% 25%, 100% 75%, 0 100%);
      transform: translateY(-50%);
    }

    .cd-mini-candy::before { right: 100%; }
    .cd-mini-candy::after { left: 100%; transform: translateY(-50%) rotate(180deg); }
    .cd-mini-candy-one { top: 14%; right: 2%; transform: rotate(18deg); }
    .cd-mini-candy-two { bottom: 11%; left: 2%; background: var(--cd-pink); transform: rotate(-12deg); animation-delay: -2s; }

    @keyframes cd-orbit {
      50% { translate: 7px -16px; rotate: 12deg; }
    }

    .cd-gallery-section {
      background:
        linear-gradient(180deg, var(--cd-cream) 0%, #fffdf9 100%);
    }

    .cd-gallery-grid {
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      grid-auto-flow: dense;
      grid-auto-rows: 88px;
      gap: 18px;
    }

    .cd-gallery-card {
      position: relative;
      grid-column: span 4;
      grid-row: span 4;
      min-height: 280px;
      padding: 0;
      overflow: hidden;
      color: var(--cd-white);
      background: var(--cd-cream-2);
      border: 0;
      border-radius: var(--cd-radius-md);
      box-shadow: var(--cd-shadow-sm);
      cursor: zoom-in;
      isolation: isolate;
      transition: transform .45s var(--cd-ease), box-shadow .45s ease;
    }

    .cd-gallery-card.cd-gallery-card-wide { grid-column: span 8; }
    .cd-gallery-card.cd-gallery-card-tall { grid-row: span 6; }

    .cd-gallery-card::before {
      content: "";
      position: absolute;
      z-index: 2;
      inset: 0;
      background: linear-gradient(to top, rgba(31,14,8,.78), transparent 48%);
      opacity: .7;
      transition: opacity .4s ease;
    }

    .cd-gallery-card::after {
      content: "";
      position: absolute;
      z-index: 3;
      top: 50%;
      left: 50%;
      width: 72px;
      height: 72px;
      background: rgba(255,255,255,.9);
      border-radius: 50%;
      box-shadow: 0 15px 35px rgba(43,27,21,.2);
      opacity: 0;
      transform: translate(-50%, -40%) scale(.72);
      transition: opacity .35s ease, transform .45s var(--cd-ease);
    }

    .cd-gallery-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 1s var(--cd-ease), filter .45s ease;
    }

    .cd-gallery-card:hover {
      z-index: 5;
      box-shadow: var(--cd-shadow-lg);
      transform: translateY(-9px);
    }

    .cd-gallery-card:hover img { transform: scale(1.09); }
    .cd-gallery-card:hover::before { opacity: .92; }
    .cd-gallery-card:hover::after { opacity: 1; transform: translate(-50%, -50%) scale(1); }

    .cd-gallery-card:focus-visible {
      outline: 5px solid rgba(224,27,116,.25);
      outline-offset: 4px;
    }

    .cd-gallery-zoom-icon {
      position: absolute;
      z-index: 4;
      top: 50%;
      left: 50%;
      width: 29px;
      height: 29px;
      fill: none;
      stroke: var(--cd-pink);
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      opacity: 0;
      transform: translate(-50%, -40%) scale(.72);
      transition: opacity .35s ease, transform .45s var(--cd-ease);
    }

    .cd-gallery-card:hover .cd-gallery-zoom-icon {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
    }

    .cd-gallery-card-caption {
      position: absolute;
      z-index: 4;
      right: 22px;
      bottom: 20px;
      left: 22px;
      text-align: right;
      transform: translateY(8px);
      transition: transform .4s var(--cd-ease);
    }

    .cd-gallery-card:hover .cd-gallery-card-caption { transform: translateY(0); }

    .cd-gallery-card-caption strong {
      display: block;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: 21px;
    }

    .cd-gallery-card-caption span {
      display: block;
      margin-top: 4px;
      color: rgba(255,255,255,.78);
      font-size: 14px;
    }

    .cd-gallery-placeholder {
      position: relative;
      display: grid;
      place-items: center;
      min-height: 300px;
      padding: 36px;
      overflow: hidden;
      text-align: center;
      background:
        radial-gradient(circle at 15% 18%, rgba(224,27,116,.13), transparent 26%),
        radial-gradient(circle at 85% 76%, rgba(242,105,38,.14), transparent 29%),
        var(--cd-white);
      border: 2px dashed rgba(43,27,21,.16);
      border-radius: var(--cd-radius-md);
    }

    .cd-gallery-placeholder[hidden] { display: none; }

    .cd-gallery-placeholder-content { max-width: 600px; }

    .cd-gallery-placeholder svg {
      width: 70px;
      height: 70px;
      margin: 0 auto 18px;
      fill: none;
      stroke: var(--cd-pink);
      stroke-width: 1.6;
      stroke-linecap: round;
      stroke-linejoin: round;
      animation: cd-float 4s ease-in-out infinite;
    }

    .cd-gallery-placeholder h3 {
      margin: 0;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: 26px;
    }

    .cd-gallery-placeholder p {
      margin: 10px 0 0;
      color: var(--cd-copy);
      line-height: 1.65;
    }

    .cd-events {
      color: var(--cd-white);
      background: var(--cd-chocolate);
    }

    .cd-events::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .18;
      background-image:
        radial-gradient(circle at 18px 18px, var(--cd-pink) 3px, transparent 3.5px),
        radial-gradient(circle at 58px 52px, var(--cd-orange) 4px, transparent 4.5px);
      background-size: 84px 84px;
      mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
    }

    .cd-events .cd-section-heading { position: relative; z-index: 2; }
    .cd-events .cd-kicker { color: var(--cd-yellow); }
    .cd-events .cd-section-copy { color: rgba(255,255,255,.72); }

    .cd-events-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }

    .cd-event-card {
      position: relative;
      min-height: 270px;
      padding: 34px;
      overflow: hidden;
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: var(--cd-radius-md);
      backdrop-filter: blur(8px);
      transition: transform .4s var(--cd-ease), background .4s ease, border-color .4s ease;
    }

    .cd-event-card::after {
      content: "";
      position: absolute;
      left: -45px;
      bottom: -45px;
      width: 130px;
      aspect-ratio: 1;
      border-radius: 50%;
      background: var(--event-accent, var(--cd-pink));
      opacity: .15;
      transition: transform .55s var(--cd-ease), opacity .35s ease;
    }

    .cd-event-card:hover {
      background: rgba(255,255,255,.10);
      border-color: rgba(255,255,255,.23);
      transform: translateY(-9px);
    }

    .cd-event-card:hover::after { opacity: .25; transform: scale(1.25); }

    .cd-event-icon {
      display: grid;
      place-items: center;
      width: 62px;
      height: 62px;
      margin-bottom: 25px;
      color: var(--event-accent, var(--cd-pink));
      background: rgba(255,255,255,.95);
      border-radius: 21px;
      transition: transform .45s var(--cd-ease), border-radius .45s var(--cd-ease);
    }

    .cd-event-card:hover .cd-event-icon { border-radius: 50%; transform: rotate(-7deg) scale(1.08); }

    .cd-event-icon svg {
      width: 34px;
      height: 34px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.9;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .cd-event-card h3 {
      margin: 0;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: 25px;
    }

    .cd-event-card p {
      margin: 12px 0 0;
      color: rgba(255,255,255,.72);
      font-size: 17px;
      line-height: 1.65;
    }

    .cd-event-card:nth-child(1) { --event-accent: var(--cd-pink); }
    .cd-event-card:nth-child(2) { --event-accent: var(--cd-yellow); }
    .cd-event-card:nth-child(3) { --event-accent: var(--cd-orange); }

    .cd-final {
      background: var(--cd-white);
    }

    .cd-final-panel {
      position: relative;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 38px;
      padding: clamp(42px, 6vw, 68px);
      overflow: hidden;
      background:
        radial-gradient(circle at 13% 22%, rgba(255,255,255,.75), transparent 30%),
        linear-gradient(135deg, #fff1de, #ffe3d1 52%, #ffe7f2);
      border: 1px solid rgba(242,105,38,.12);
      border-radius: var(--cd-radius-lg);
      box-shadow: var(--cd-shadow-md);
    }

    .cd-final-panel::after {
      content: "CandyDeal";
      position: absolute;
      left: -22px;
      bottom: -28px;
      color: rgba(224,27,116,.065);
      font-family: "Rubik", sans-serif;
      font-size: clamp(70px, 12vw, 160px);
      font-weight: 900;
      line-height: 1;
      letter-spacing: -.06em;
      white-space: nowrap;
      pointer-events: none;
    }

    .cd-final-copy { position: relative; z-index: 2; }

    .cd-final-copy h2 {
      margin: 0;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: clamp(38px, 5vw, 63px);
      font-weight: 900;
      line-height: 1.03;
      letter-spacing: -.04em;
    }

    .cd-final-copy p {
      margin: 16px 0 0;
      color: var(--cd-copy);
      font-size: 20px;
      line-height: 1.65;
    }

    .cd-final-actions {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      gap: 12px;
      min-width: 220px;
    }

    .cd-footer {
      padding: 40px 0 44px;
      background: var(--cd-white);
      border-top: 1px solid var(--cd-line);
    }

    .cd-footer-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 25px;
    }

    .cd-footer-logo { width: 122px; height: auto; }

    .cd-footer-copy {
      margin: 0;
      color: var(--cd-muted);
      font-size: 14px;
      text-align: left;
    }

    .cd-back-to-top {
      display: inline-grid;
      place-items: center;
      width: 46px;
      height: 46px;
      color: var(--cd-white);
      background: var(--cd-chocolate);
      border: 0;
      border-radius: 50%;
      cursor: pointer;
      box-shadow: var(--cd-shadow-sm);
      transition: transform .3s var(--cd-ease), background .3s ease;
    }

    .cd-back-to-top:hover { background: var(--cd-pink); transform: translateY(-4px); }
    .cd-back-to-top:focus-visible { outline: 4px solid rgba(224,27,116,.22); outline-offset: 3px; }

    .cd-back-to-top svg {
      width: 22px;
      height: 22px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .cd-reveal {
      opacity: 0;
      transform: translate3d(0, 34px, 0);
      transition: opacity .85s var(--cd-ease), transform .85s var(--cd-ease);
    }

    .cd-reveal.cd-reveal-left { transform: translate3d(-34px, 18px, 0); }
    .cd-reveal.cd-reveal-right { transform: translate3d(34px, 18px, 0); }
    .cd-reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }

    .cd-stagger > * {
      opacity: 0;
      transform: translateY(26px);
      transition: opacity .7s var(--cd-ease), transform .7s var(--cd-ease);
    }

    .cd-stagger.is-visible > * { opacity: 1; transform: translateY(0); }
    .cd-stagger.is-visible > *:nth-child(1) { transition-delay: .03s; }
    .cd-stagger.is-visible > *:nth-child(2) { transition-delay: .10s; }
    .cd-stagger.is-visible > *:nth-child(3) { transition-delay: .17s; }
    .cd-stagger.is-visible > *:nth-child(4) { transition-delay: .24s; }
    .cd-stagger.is-visible > *:nth-child(5) { transition-delay: .31s; }
    .cd-stagger.is-visible > *:nth-child(6) { transition-delay: .38s; }
    .cd-stagger.is-visible > *:nth-child(7) { transition-delay: .45s; }
    .cd-stagger.is-visible > *:nth-child(8) { transition-delay: .52s; }
    .cd-stagger.is-visible > *:nth-child(9) { transition-delay: .59s; }
    .cd-stagger.is-visible > *:nth-child(10) { transition-delay: .66s; }

    .cd-lightbox {
      position: fixed;
      z-index: 9998;
      inset: 0;
      display: grid;
      place-items: center;
      padding: 24px;
      visibility: hidden;
      opacity: 0;
      background: rgba(24,11,7,.90);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      transition: opacity .35s ease, visibility .35s ease;
    }

    .cd-lightbox.is-open { visibility: visible; opacity: 1; }

    .cd-lightbox-dialog {
      position: relative;
      width: min(100%, 1040px);
      max-height: calc(100svh - 48px);
      display: grid;
      grid-template-rows: minmax(0, 1fr) auto;
      overflow: hidden;
      background: var(--cd-white);
      border-radius: 30px;
      box-shadow: 0 30px 100px rgba(0,0,0,.45);
      transform: translateY(20px) scale(.96);
      transition: transform .4s var(--cd-ease);
    }

    .cd-lightbox.is-open .cd-lightbox-dialog { transform: translateY(0) scale(1); }

    .cd-lightbox-media {
      position: relative;
      min-height: min(70svh, 720px);
      background: #140b08;
    }

    .cd-lightbox-media img {
      width: 100%;
      height: 100%;
      max-height: min(70svh, 720px);
      object-fit: contain;
    }

    .cd-lightbox-info {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 18px 22px;
    }

    .cd-lightbox-title {
      margin: 0;
      font-family: "Rubik", "Heebo", sans-serif;
      font-size: 20px;
    }

    .cd-lightbox-counter {
      color: var(--cd-muted);
      font-size: 14px;
      font-weight: 700;
    }

    .cd-lightbox-close,
    .cd-lightbox-nav {
      position: absolute;
      z-index: 4;
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      padding: 0;
      color: var(--cd-chocolate);
      background: rgba(255,255,255,.92);
      border: 0;
      border-radius: 50%;
      box-shadow: 0 10px 30px rgba(0,0,0,.22);
      cursor: pointer;
      transition: transform .25s var(--cd-ease), background .25s ease, color .25s ease;
    }

    .cd-lightbox-close:hover,
    .cd-lightbox-nav:hover { color: var(--cd-white); background: var(--cd-pink); transform: scale(1.07); }
    .cd-lightbox-close:focus-visible,
    .cd-lightbox-nav:focus-visible { outline: 4px solid rgba(255,255,255,.4); outline-offset: 3px; }

    .cd-lightbox-close { top: 18px; left: 18px; }
    .cd-lightbox-prev { top: 50%; right: 18px; transform: translateY(-50%); }
    .cd-lightbox-next { top: 50%; left: 18px; transform: translateY(-50%); }
    .cd-lightbox-prev:hover,
    .cd-lightbox-next:hover { transform: translateY(-50%) scale(1.07); }

    .cd-lightbox-close svg,
    .cd-lightbox-nav svg {
      width: 24px;
      height: 24px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

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

    @media (max-width: 1080px) {
      .cd-nav { display: none; }
      .cd-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr); gap: 42px; }
      .cd-assortment-grid { grid-template-columns: repeat(3, 1fr); }
      .cd-assortment-card:nth-child(4),
      .cd-assortment-card:nth-child(5) { grid-column: span 1; }
      .cd-gallery-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
      .cd-gallery-card { grid-column: span 4; }
      .cd-gallery-card.cd-gallery-card-wide { grid-column: span 8; }
    }

    @media (max-width: 860px) {
      :root { --cd-header-height: 72px; }
      .cd-section { padding: 82px 0; }
      .cd-header { height: var(--cd-header-height); }
      .cd-header.is-scrolled { height: 64px; }
      .cd-logo { width: 126px; }
      .cd-header.is-scrolled .cd-logo { width: 116px; }
      .cd-hero { min-height: auto; padding: 42px 0 84px; }
      .cd-hero-grid { grid-template-columns: 1fr; }
      .cd-hero-copy { text-align: center; }
      .cd-open-badge,
      .cd-hero-actions,
      .cd-hero-facts { justify-content: center; margin-inline: auto; }
      .cd-hero-lead { margin-inline: auto; }
      .cd-hero-gallery-wrap { width: min(100%, 590px); margin-inline: auto; }
      .cd-floating-label-one { right: -24px; }
      .cd-floating-label-two { left: -24px; }
      .cd-intro-strip-inner { grid-template-columns: 1fr; }
      .cd-intro-item { min-height: 64px; }
      .cd-assortment-grid { grid-template-columns: repeat(2, 1fr); }
      .cd-assortment-card:last-child { grid-column: 1 / -1; }
      .cd-gift-panel { grid-template-columns: 1fr; text-align: center; }
      .cd-gift-copy .cd-kicker,
      .cd-gift-list { justify-content: center; margin-inline: auto; }
      .cd-gift-copy p { margin-inline: auto; }
      .cd-gift-visual { min-height: 260px; }
      .cd-events-grid { grid-template-columns: 1fr; }
      .cd-event-card { min-height: auto; }
      .cd-final-panel { grid-template-columns: 1fr; text-align: center; }
      .cd-final-actions { flex-direction: row; justify-content: center; min-width: 0; }
      .cd-footer-inner { flex-wrap: wrap; }
    }

    @media (max-width: 620px) {
      .cd-container { width: min(calc(100% - 28px), var(--cd-max)); }
      .cd-section { padding: 68px 0; }
      .cd-marquee-track { gap: 20px; font-size: 13px; }
      .cd-header .cd-button { display: none; }
      .cd-header-inner { justify-content: center; }
      .cd-logo { width: 126px; }
      .cd-hero { padding-top: 32px; }
      .cd-hero h1 { font-size: clamp(43px, 14vw, 62px); line-height: 1.02; }
      .cd-hero h1 span { white-space: normal; }
      .cd-hero-lead { font-size: 18px; }
      .cd-hero-actions { flex-direction: column; align-items: stretch; }
      .cd-hero-actions .cd-button { width: 100%; }
      .cd-hero-facts { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
      .cd-hero-facts li { justify-content: center; font-size: 14px; }
      .cd-hero-gallery { padding: 8px; border-radius: 29px; }
      .cd-gallery-stage { border-radius: 23px; }
      .cd-gallery-arrow { width: 43px; height: 43px; }
      .cd-gallery-prev { right: 15px; }
      .cd-gallery-next { left: 15px; }
      .cd-gallery-caption { right: 17px; bottom: 17px; left: 17px; }
      .cd-floating-label { display: none; }
      .cd-decor-candy-one { left: 2px; }
      .cd-decor-candy-two { right: 3px; }
      .cd-section-heading { margin-bottom: 36px; }
      .cd-assortment-grid { grid-template-columns: 1fr; }
      .cd-assortment-card,
      .cd-assortment-card:last-child { grid-column: auto; min-height: 0; }
      .cd-assortment-card { display: grid; grid-template-columns: 68px 1fr; align-items: center; gap: 16px; padding: 20px; }
      .cd-assortment-icon { grid-row: span 2; width: 64px; height: 64px; margin: 0; border-radius: 21px; }
      .cd-assortment-icon svg { width: 36px; height: 36px; }
      .cd-assortment-card h3 { align-self: end; }
      .cd-assortment-card p { align-self: start; margin-top: 4px; }
      .cd-gift-panel { padding: 40px 24px; border-radius: 32px; }
      .cd-gift-copy h2 { font-size: 42px; }
      .cd-gift-copy p { font-size: 18px; }
      .cd-gift-box { transform: scale(.86); }
      .cd-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: auto; gap: 14px; }
      .cd-gallery-card,
      .cd-gallery-card.cd-gallery-card-wide,
      .cd-gallery-card.cd-gallery-card-tall { grid-column: auto; grid-row: auto; min-height: 320px; aspect-ratio: 4 / 5; }
      .cd-gallery-card:nth-child(3n + 1) { aspect-ratio: 1 / 1; }
      .cd-event-card { padding: 28px; }
      .cd-final-panel { padding: 39px 23px; border-radius: 32px; }
      .cd-final-copy p { font-size: 18px; }
      .cd-final-actions { flex-direction: column; }
      .cd-footer-inner { justify-content: center; text-align: center; }
      .cd-footer-copy { width: 100%; text-align: center; }
      .cd-lightbox { padding: 10px; }
      .cd-lightbox-dialog { max-height: calc(100svh - 20px); border-radius: 21px; }
      .cd-lightbox-media { min-height: 68svh; }
      .cd-lightbox-close,
      .cd-lightbox-nav { width: 43px; height: 43px; }
      .cd-lightbox-prev { right: 10px; }
      .cd-lightbox-next { left: 10px; }
      .cd-lightbox-close { top: 10px; left: 10px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
      }
      .cd-reveal,
      .cd-stagger > * { opacity: 1; transform: none; }
      .cd-gallery-slide.is-active img { transform: none; }
    }


.cookies-allow {
	 position: fixed;
	 display: -webkit-flex;
	 display: -moz-flex;
	 display: -ms-flex;
	 display: -o-flex;
	 display: flex;
	 -ms-align-items: center;
	 align-items: center;
	 gap: 45px;
	 bottom: 30px;
	 right: 30px;
	 z-index: 10000000;
	 background: #fff;
	 padding: 45px;
	 box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
	 border-radius: 16px;
	 visibility: hidden;
	 opacity: 0;
	 transition: 0.3s ease all;
}
 .cookies-allow.show {
	 opacity: 1;
	 visibility: visible;
}
 .cookies-allow .icon {
	 position: relative;
	 width: 45px;
	 min-width: 45px;
}
 .cookies-allow .icon svg, .cookies-allow .icon img {
	 display: block;
	 width: 100%;
	 aspect-ratio: 1;
}
 .cookies-allow .site-text {
	 max-width: 400px;
	 line-height: 1.4;
}
 .cookies-allow .site-text a {
	 text-decoration: underline;
}
 @media (hover: hover) {
	 .cookies-allow .site-text a:hover {
		 color: var(--cd-pink);
		 text-decoration: none;
	}
}
 .cookies-allow .buttons {
	 display: -webkit-flex;
	 display: -moz-flex;
	 display: -ms-flex;
	 display: -o-flex;
	 display: flex;
	 -webkit-flex-direction: column;
	 -moz-flex-direction: column;
	 -ms-flex-direction: column;
	 -o-flex-direction: column;
	 flex-direction: column;
	 justify-content: center;
	 gap: 20px;
}
 .cookies-allow .buttons .site-btn.decline {
	 border: none;
	 font-weight: 400;
}
 @media (hover: hover) {
	 .cookies-allow .buttons .site-btn.decline:hover {
		 color: var(--cd-pink);
		 background-color: transparent;
	}
}
 @media only screen and (min-width: 1241px) and (max-width: 1599px) {
	 .cookies-allow {
		 gap: 40px;
		 bottom: 25px;
		 right: 25px;
		 padding: 40px;
	}
	 .cookies-allow .icon {
		 width: 40px;
	}
	 .cookies-allow .site-text {
		 max-width: 350px;
	}
	 .cookies-allow .buttons {
		 gap: 15px;
	}
}
 @media only screen and (min-width: 1024px) and (max-width: 1240px) {
	 .cookies-allow {
		 gap: 30px;
		 bottom: 20px;
		 right: 20px;
		 padding: 30px;
	}
	 .cookies-allow .icon {
		 width: 35px;
		 min-width: 35px;
	}
	 .cookies-allow .site-text {
		 max-width: 300px;
	}
	 .cookies-allow .buttons {
		 gap: 15px;
	}
}
 @media only screen and (min-width: 768px) and (max-width: 1023px) {
	 .cookies-allow {
		 gap: 25px;
		 bottom: 15px;
		 right: 15px;
		 padding: 25px;
	}
	 .cookies-allow .icon {
		 width: 35px;
		 min-width: 35px;
	}
	 .cookies-allow .site-text {
		 max-width: 300px;
	}
	 .cookies-allow .buttons {
		 gap: 10px;
	}
}
 @media only screen and (min-width: 0px) and (max-width: 767px) {
	 .cookies-allow {
		 -webkit-flex-direction: column;
		 -moz-flex-direction: column;
		 -ms-flex-direction: column;
		 -o-flex-direction: column;
		 flex-direction: column;
		 -ms-align-items: center;
		 align-items: center;
		 gap: 15px;
		 bottom: 15px;
		 right: 15px;
		 padding: 15px;
	}
	 .cookies-allow .site-text {
		 text-align: center;
		 max-width: calc(100vw - 60px);
	}
	 .cookies-allow .buttons {
		 -webkit-flex-direction: row;
		 -moz-flex-direction: row;
		 -ms-flex-direction: row;
		 -o-flex-direction: row;
		 flex-direction: row;
		 justify-content: center;
	}
}

#accessibilityButton {
	 position: fixed;
	 display: -webkit-flex;
	 display: -moz-flex;
	 display: -ms-flex;
	 display: -o-flex;
	 display: flex;
	 -ms-align-items: center;
	 align-items: center;
	 justify-content: center;
	 background: var(--cd-chocolate);
	 left: 20px;
	 bottom: 20px;
	 width: 45px;
	 height: 45px;
	 cursor: pointer;
	 z-index: 28;
	 border-radius: 6px;
	 transition: all 0.15s ease;
	 border: 1px solid #fff;
	 color: #fff;
	 padding: 0;
}
 #accessibilityButton svg {
	 display: block;
	 width: 22px;
	 height: 22px;
}
 @media (hover: hover) {
	 #accessibilityButton:hover {
		 transform: scale(1.1);
	}
}
 #accessibilityMenu {
	 display: none;
	 position: fixed;
	 background-color: #fff;
	 left: 0;
	 bottom: 0;
	 box-shadow: 0 0 6px rgba(0, 0, 0, 0.05), 0 4px 16px rgba(0, 0, 0, 0.1);
	 width: 550px;
	 max-width: calc(100% - 35px);
	 height: calc(100% - 0px);
	/* border-radius: 20px;
	 */
	 overflow: hidden;
	 max-height: calc(100% - 0px);
	 z-index: 214748364;
}
 .accessibilityMenu {
	 position: relative;
	 width: 100%;
	 height: 100%;
	 overflow: auto;
}
 .accessibilityMenu input {
	 -webkit-appearance: auto;
}
 .accessibilityMenu::-webkit-scrollbar {
	 width: 10px;
}
 .accessibilityMenu::-webkit-scrollbar-track {
	 background: transparent;
}
 .accessibilityMenu::-webkit-scrollbar-thumb {
	 background: var(--cd-chocolate);
	 border-radius: 0px;
	 margin: 10px 0;
}
 .accessibilityMenu::-webkit-scrollbar-button {
	 display: none;
}
 .accessibilityMenu .site-title {
         text-align: center;
	 padding-top: 50px;
	 padding-bottom: 135px;
	 background: #fff;
	 color: var(--cd-chocolate);
}
 .accessibilityMenu .inner {
	 position: relative;
	 display: -webkit-flex;
	 display: -moz-flex;
	 display: -ms-flex;
	 display: -o-flex;
	 display: flex;
	 -webkit-flex-wrap: wrap;
	 -moz-flex-wrap: wrap;
	 -ms-flex-wrap: wrap;
	 -o-flex-wrap: wrap;
	 flex-wrap: wrap;
	 gap: 15px;
	 z-index: 2;
	 margin: 15px;
	 margin-top: -110px;
	 width: calc(100% - 30px);
	 border-radius: 10px;
	 background: #fff;
	 padding: 15px;
}
 .accessibilityMenu .bl {
	 position: relative;
	 display: -webkit-flex;
	 display: -moz-flex;
	 display: -ms-flex;
	 display: -o-flex;
	 display: flex;
	 -webkit-flex-direction: column;
	 -moz-flex-direction: column;
	 -ms-flex-direction: column;
	 -o-flex-direction: column;
	 flex-direction: column;
	 -ms-align-items: center;
	 align-items: center;
	 justify-content: center;
	 background-color: #e0e0e0;
	 width: calc((100% - 30px) / 3);
	 height: 120px;
	 padding: 15px;
	 border-radius: 10px;
	 border: solid 2px transparent;
	 color: #000;
}
 .accessibilityMenu .bl.double {
	 width: calc((100% - 30px) / 3 * 2 + 15px);
}
 .accessibilityMenu .bl i {
	 display: block;
	 font-size: 22px;
	 margin-bottom: 20px;
}
 .accessibilityMenu .bl span {
	 display: block;
	 text-align: center;
	 font-size: 14px;
	 line-height: 1;
}
 @media (hover: hover) {
	 .accessibilityMenu .bl:hover:not(.double) {
		 background: var(--cd-chocolate);
		 color: #fff;
	}
}
 .accessibilityMenu .bl.active {
	 background: var(--cd-chocolate);
	 color: #fff;
}
 .accessibilityMenu .bl .color-options {
	 display: -webkit-flex;
	 display: -moz-flex;
	 display: -ms-flex;
	 display: -o-flex;
	 display: flex;
	 justify-content: center;
	 gap: 4px;
	 margin-top: 20px;
}
 .accessibilityMenu .bl .color-options div {
	 position: relative;
	 border-radius: 50%;
	 width: 20px;
	 height: 20px;
	 cursor: pointer;
	 transition: 0.3s;
}
 @media (hover: hover) {
	 .accessibilityMenu .bl .color-options div:hover {
		 transform: scale(1.1);
	}
}
 .accessibilityMenu .bl .color-options div.active:before {
	 content: '';
	 display: block;
	 position: absolute;
	 top: 5px;
	 left: 5px;
	 width: 10px;
	 height: 10px;
	 background: #fff;
	 border-radius: 50%;
}
 .accessibilityMenu .bl .color-options div.white.active:before {
	 background: #000;
}
 .accessibilityMenu .bl .plus-minus {
	 position: relative;
	 display: -webkit-flex;
	 display: -moz-flex;
	 display: -ms-flex;
	 display: -o-flex;
	 display: flex;
	 -ms-align-items: center;
	 align-items: center;
	 gap: 10px;
	 margin-top: 20px;
}
 .accessibilityMenu .bl .plus-minus button {
	 display: -webkit-flex;
	 display: -moz-flex;
	 display: -ms-flex;
	 display: -o-flex;
	 display: flex;
	 -ms-align-items: center;
	 align-items: center;
	 justify-content: center;
	 width: 24px;
	 height: 24px;
	 color: #fff;
	 background: var(--cd-chocolate);
	 border-radius: 50%;
	 padding: 0;
	 color: #fff;
	 padding: 0;
	 min-width: 24px;
}
 .accessibilityMenu .bl .plus-minus button svg {
	 display: block;
	 width: 9px;
	 height: auto;
}
 @media (hover: hover) {
	 .accessibilityMenu .bl .plus-minus button:hover {
		 background: var(--cd-pink);
	}
}
 .accessibilityMenuClose {
	 position: absolute;
	 cursor: pointer;
	 top: 15px;
	 left: 15px;
	 z-index: 2;
}
 .accessibilityMenuClose svg {
	 display: block;
	 width: 12px;
	 height: auto;
	 transition: all 0.15s ease;
}
 @media (hover: hover) {
	 .accessibilityMenuClose:hover svg {
		 transform: scale(1.1);
	}
}
 .showMenu #accessibilityMenu {
	 display: block;
}
 .high-contrast {
	 background-color: black;
	 color: white;
	 --color: #fff;
}
 .high-contrast .text {
	 color: white;
	 --color: #fff;
}
 .night-mode {
	 background-color: #222;
	 color: #ddd;
}
 .night-mode .text {
	 color: #ddd;
	 --color: #ddd;
}
 .img-description {
	 background-color: rgba(255, 255, 255, 0.8);
	 border: 1px solid #ccc;
	 padding: 5px;
	 margin: 5px 0;
	 font-size: 14px;
	 max-width: 90%;
	 word-wrap: break-word;
}
 body.reading-view {
	 background-color: #f4f4f4;
	 color: #333;
	 font-size: 18px;
	 line-height: 1.6;
}
 body.reading-view * {
	 display: none;
}
 body.reading-view p, body.reading-view h1, body.reading-view h2, body.reading-view h3, body.reading-view h4, body.reading-view h5, body.reading-view h6, body.reading-view li, body.reading-view blockquote {
	 display: block;
	 margin: 20px;
	 padding: 10px;
	 max-width: 800px;
	 margin-right: auto;
	 margin-left: auto;
}
 .high-contrast-dark {
	 background-color: black;
	 color: white;
	 --color: #fff;
}
 .high-contrast-dark .text {
	 color: white;
	 --color: #fff;
}
 .high-contrast-light {
	 background-color: #fff;
	 color: #000;
}
 .monochrome-mode {
	 filter: grayscale(100%);
}
 .font-adjust-block {
	 display: flex;
	 align-items: center;
	 gap: 10px;
}
 #fontSizeSlider {
	 flex-grow: 1;
	 height: auto;
	 padding: 0;
}
 .line-spacing-block {
	 display: flex;
	 align-items: center;
	 gap: 10px;
}
 #lineSpacingSlider {
	 flex-grow: 1;
	 height: auto;
	 padding: 0;
}
 .word-spacing-block {
	 display: flex;
	 align-items: center;
	 gap: 10px;
}
 #wordSpacingSlider {
	 flex-grow: 1;
	 height: auto;
	 padding: 0;
}
 .he {
	/* #accessibilityButton {
		 right: 20px;
		 left: auto;
	}
	 */
}
 .he #accessibilityMenu {
	 direction: rtl;
	/* right:20px;
	 left: auto;
	 */
}
 .he .accessibilityMenuClose {
	 right: 15px;
	 left: auto;
}
 .he .accessibilityMenu .bl span {
	 font-size: calc(14px * 1.2);
}
 @media only screen and (min-width: 0px) and (max-width: 1023px) {
	 #accessibilityButton {
		 left: 0px;
		 bottom: 135px;
		 width: 40px;
		 height: 40px;
		 border-radius: 0 5px 5px 0;
		 border: 0;
	}
	 #accessibilityButton svg {
		 width: 20px;
	}
	 #accessibilityMenu {
		 left: 15px;
		 bottom: 15px;
		 max-width: calc(100% - 30px);
		 height: calc(100% - 30px);
		 border-radius: 15px;
		 max-height: calc(100% - 30px);
	}
	 .accessibilityMenu::-webkit-scrollbar {
		 width: 5px;
	}
	 .accessibilityMenu .site-title {
		 padding-top: 30px;
	}
	 .accessibilityMenu .bl {
		 width: calc((100% - 15px) / 2);
		 -webkit-order: -1;
		 -moz-order: -1;
		 -ms-order: -1;
		 -o-order: -1;
		 order: -1;
	}
	 .accessibilityMenu .bl.double {
		 width: 100%;
		 -webkit-order: 1;
		 -moz-order: 1;
		 -ms-order: 1;
		 -o-order: 1;
		 order: 1;
	}
	 .lang-he #accessibilityButton {
		 left: 0px;
	}
	 .lang-he #accessibilityMenu {
		 left: 0px;
		 max-width: 100%;
		 width: 100%;
	}
}
 @media only screen and (min-width: 0px) and (max-width: 1023px) and (hover: hover) {
	 #accessibilityButton:hover {
		 transform: scale(1);
	}
}
 
 