.df-site {
  --df-cream: var(--cream);
  --df-green: var(--green);
  --df-deep: var(--ink);
  --df-glass: rgb(244 237 229 / 12%);
  --df-glass-hover: rgb(244 237 229 / 22%);
  --df-soft: rgb(42 91 85 / 12%);
  --df-soft-hover: rgb(42 91 85 / 20%);
  --df-soft-pressed: rgb(42 91 85 / 28%);
  --df-font: Onest, sans-serif;
  --df-shadow-glass: inset 0 1px 1px rgb(255 255 255 / 16%), 0 8px 24px rgb(10 8 8 / 16%);
  --df-motion: 160ms ease;
}
body.df-site { margin: 0; }
.df-site a { color: inherit; }
.df-site .df-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; }
.df-site .df-icon img { display: block; flex-shrink: 0; }
.df-site .df-mobile-only { display: block; }
.df-site .df-desktop-only { display: none !important; }
.df-site .df-skip-link { position: absolute; left: 16px; top: -100px; z-index: 10000; padding: 12px; background: var(--df-cream); }
.df-site .df-skip-link:focus { top: 8px; }
.df-site .df-site-footer { padding: 40px 24px 32px; background: var(--df-deep); color: var(--df-cream); }
.df-site .df-footer-main { display: flex; flex-direction: column; gap: 24px; max-width: 1216px; margin: auto; }
.df-site .df-footer-brand { display: flex; flex-direction: column; gap: 24px; }
.df-site .df-footer-brand > a { display: flex; align-items: center; min-height: 24px; }
.df-site .df-footer-promise { font: 400 28px/36px var(--df-font); }
.df-site .df-footer-promise .df-mobile-only { display: inline; }
.df-site .df-footer-description { display: none; }
.df-site .df-footer-mobile-contacts { display: grid; gap: 0; }
.df-site .df-footer-mobile-contacts a, .df-site .df-footer-mobile-contacts p { display: flex; align-items: center; min-height: 44px; text-decoration: none; }
.df-site .df-footer-socials { display: flex; align-items: center; gap: 12px; }
.df-site .df-footer-socials a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 30px; border: 1px solid rgb(244 237 229 / 28%); background: var(--df-glass); }
.df-site .df-footer-nav { display: flex; flex-direction: column; }
.df-site .df-footer-buyers { display: contents; }
.df-site .df-footer-journal { order: 2; }
.df-site .df-footer-services { order: 1; }
.df-site .df-footer-contact-col { display: none; }
.df-site .df-footer-group { border-bottom: 1px solid rgb(244 237 229 / 18%); }
.df-site .df-footer-group > summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; cursor: pointer; list-style: none; font-weight: 500; }
.df-site .df-footer-group > summary::-webkit-details-marker { display: none; }
.df-site .df-footer-group > summary::after { content: "+"; font-size: 24px; font-weight: 400; }
.df-site .df-footer-group[open] > summary::after { content: "−"; }
.df-site .df-footer-group > div { display: grid; gap: 4px; padding-bottom: 16px; }
.df-site .df-footer-group a { display: flex; align-items: center; min-height: 44px; color: rgb(244 237 229 / 70%); text-decoration: none; }
.df-site .df-footer-legal { max-width: 1216px; margin: 24px auto 0; display: grid; gap: 24px; color: rgb(244 237 229 / 70%); font: 400 12px/16px var(--df-font); }
.df-site .df-footer-legal > div { display: grid; gap: 8px; }
.df-site .df-footer-legal a { display: flex; align-items: center; min-height: 28px; text-decoration: none; }
@media (min-width: 768px) and (max-width: 1199px) {
  .df-site .df-site-footer { padding-inline: 32px; }
}
@media (min-width: 1200px) {
  .df-site .df-mobile-only { display: none !important; }
  .df-site .df-desktop-only { display: block !important; }
  .df-site .df-site-footer { padding: 64px max(48px,calc((100vw - 1216px) / 2)) 40px; }
  .df-site .df-footer-main { display: grid; grid-template-columns: 440px minmax(0,1fr); gap: 48px; }
  .df-site .df-footer-brand { gap: 24px; }
  .df-site .df-footer-promise { font-size: 32px; line-height: 40px; }
  .df-site .df-footer-description { display: block; color: rgb(244 237 229 / 70%); }
  .df-site .df-footer-mobile-contacts { display: none; }
  .df-site .df-footer-socials a { width: 60px; height: 60px; }
  .df-site .df-footer-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
  .df-site .df-footer-buyers { display: flex; flex-direction: column; gap: 40px; }
  .df-site .df-footer-journal, .df-site .df-footer-services { order: initial; }
  .df-site .df-footer-group { border: 0; }
  .df-site .df-footer-group > summary { min-height: 20px; margin-bottom: 16px; cursor: default; }
  .df-site .df-footer-group > summary::after { display: none; }
  .df-site .df-footer-group > div { gap: 16px; padding-bottom: 0; }
  .df-site .df-footer-group a { min-height: 24px; }
  .df-site .df-footer-contact-col { display: grid; align-content: start; gap: 16px; }
  .df-site .df-footer-contact-col a, .df-site .df-footer-contact-col p:not(:first-child) { color: rgb(244 237 229 / 70%); text-decoration: none; }
  .df-site .df-footer-legal { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-top: 48px; padding-top: 32px; border-top: 1px solid rgb(244 237 229 / 18%); }
  .df-site .df-footer-legal > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 24px; }
  .df-site .df-footer-legal a { min-height: 16px; }
}

/* Figma DF / Expanding menu / Light (136:277): one surface morphs between states. */
.df-site .df-site-header { --df-menu-duration: 460ms; --df-menu-ease: cubic-bezier(.22,1,.36,1); position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; height: 84px; max-width: 1440px; margin: auto; padding: 16px; }
.df-site .df-mobile-brand { display: flex; align-items: center; min-width: 44px; min-height: 44px; }
.df-site .df-header-actions { display: flex; align-items: center; gap: 8px; margin-right: 52px; }
.df-site .df-header-account, .df-site .df-header-cart, .df-site .df-menu-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 1px solid rgb(42 91 85 / 20%); border-radius: 26px; background: var(--df-soft); color: var(--df-deep); text-decoration: none; cursor: pointer; transition: background var(--df-motion), border-color var(--df-motion), box-shadow var(--df-motion); }
.df-site .df-header-account > span:not(.df-icon) { display: none; }
.df-site .df-header-cart { position: relative; }
.df-site .df-cart-count { position: absolute; top: -5px; right: -3px; display: flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 4px; border-radius: 26px; background: var(--df-green); color: var(--df-cream); font: 400 12px/16px var(--df-font); }
.df-site .df-header-center { position: absolute; top: 16px; right: 16px; z-index: 30; isolation: isolate; width: 44px; height: 44px; padding: 0; overflow: hidden; border: 0 solid rgb(7 37 33 / 16%); border-radius: 26px; background: transparent; transition: width var(--df-menu-duration) var(--df-menu-ease), height var(--df-menu-duration) var(--df-menu-ease), padding var(--df-menu-duration) var(--df-menu-ease), border-radius var(--df-menu-duration) var(--df-menu-ease), box-shadow var(--df-menu-duration) var(--df-menu-ease); }
.df-site .df-header-center::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: transparent; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); transition: background var(--df-motion); }
.df-site .df-menu-bar { display: flex; align-items: center; justify-content: flex-end; gap: 12px; height: 44px; }
.df-site .df-desktop-brand { display: none; flex: 0 0 16px; align-items: center; min-height: 44px; }
.df-site .df-desktop-brand .df-icon { width: 16px; flex-basis: 16px; height: 38px; }
.df-site .df-header-quick-links { display: none; }
.df-site .df-menu-toggle { gap: 0; border-color: rgb(7 37 33 / 18%); transition: width var(--df-menu-duration) var(--df-menu-ease), gap var(--df-menu-duration) var(--df-menu-ease), background var(--df-motion), border-color var(--df-motion), box-shadow var(--df-motion); }
.df-site .df-menu-toggle [data-df-menu-label] { display: inline; max-width: 0; opacity: 0; overflow: hidden; transition: max-width var(--df-menu-duration) var(--df-menu-ease), opacity var(--df-motion); font: 400 13px/18px var(--df-font); white-space: nowrap; }
.df-site .df-toggle-icons { position: relative; flex: 0 0 20px; width: 20px; height: 20px; }
.df-site .df-toggle-icons > span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; transition: opacity 200ms ease, transform 320ms var(--df-menu-ease); }
.df-site .df-toggle-icons .df-icon { width: 20px; height: 20px; flex-basis: 20px; }
.df-site .df-toggle-menu { opacity: 1; transform: rotate(0deg); }
.df-site .df-toggle-close { opacity: 0; transform: rotate(-90deg); }
.df-site .df-site-menu { position: absolute; top: 74px; right: 8px; bottom: 24px; left: 18px; display: flex; flex-direction: column; gap: 24px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; opacity: 0; transform: translateY(-8px); transition: opacity 140ms ease, transform 180ms ease; }
.df-site .df-menu-group { display: flex; flex: 0 0 auto; flex-direction: column; gap: 4px; }
.df-site .df-menu-group > p { font: 400 12px/16px var(--df-font); color: rgb(7 37 33 / 60%); }
.df-site .df-site-menu a { display: flex; align-items: center; flex: 0 0 auto; min-height: 44px; padding: 0 16px; border: 1px solid transparent; border-radius: 16px; font: 400 16px/24px var(--df-font); text-decoration: none; transition: background var(--df-motion), border-color var(--df-motion); }
.df-site .df-site-menu .df-menu-primary { min-height: 56px; font: 500 24px/32px var(--df-font); }
.df-site .df-menu-divider { flex: 0 0 1px; background: rgb(7 37 33 / 18%); }
.df-site .df-menu-contact > div { display: flex; flex-wrap: wrap; gap: 12px; }
.df-site .df-menu-contact a { gap: 8px; min-height: 24px; padding: 0; border-radius: 8px; font: 400 13px/18px var(--df-font); }
.df-site .df-menu-contact .df-icon { width: 24px; flex-basis: 24px; }
.df-site .df-site-header[data-menu-open="true"] .df-header-center { width: min(353px,calc(100vw - 32px)); height: min(741px,calc(100dvh - 32px)); padding: 6px 8px 24px 18px; border-width: 1px; border-color: rgb(7 37 33 / 28%); border-radius: 34px; box-shadow: var(--df-shadow-glass); }
.df-site .df-site-header[data-menu-open="true"] .df-header-center::before { background: var(--df-glass); }
.df-site .df-site-header[data-menu-open="true"] .df-mobile-brand { visibility: hidden; }
.df-site .df-site-header[data-menu-open="true"] .df-desktop-brand { display: flex; }
.df-site .df-site-header[data-menu-open="true"] .df-menu-toggle { width: 107px; gap: 4px; background: var(--df-glass); }
.df-site .df-site-header[data-menu-open="true"] [data-df-menu-label] { max-width: 80px; opacity: 1; }
.df-site .df-site-header[data-menu-open="true"] .df-menu-bar { justify-content: space-between; }
.df-site .df-site-header[data-menu-open="true"] .df-toggle-menu { opacity: 0; transform: rotate(90deg); }
.df-site .df-site-header[data-menu-open="true"] .df-toggle-close { opacity: 1; transform: rotate(0deg); }
.df-site .df-site-header[data-menu-open="true"] .df-site-menu { opacity: 1; transform: translateY(0); }
.df-site .df-site-header[data-menu-open="true"] .df-site-menu > * { animation: df-menu-reveal 320ms var(--df-menu-ease) both; }
.df-site .df-site-header[data-menu-open="true"] .df-site-menu > :nth-child(1) { animation-delay: 90ms; }
.df-site .df-site-header[data-menu-open="true"] .df-site-menu > :nth-child(2) { animation-delay: 120ms; }
.df-site .df-site-header[data-menu-open="true"] .df-site-menu > :nth-child(3) { animation-delay: 150ms; }
.df-site .df-site-header[data-menu-open="true"] .df-site-menu > :nth-child(4) { animation-delay: 180ms; }
@keyframes df-menu-reveal { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
/* State colours are shared with the Figma variants; focus never changes geometry. */
@media (hover: hover) {
  .df-site .df-menu-toggle:not(:disabled):hover, .df-site .df-site-header[data-menu-open="true"] .df-menu-toggle:not(:disabled):hover, .df-site .df-site-menu a:not([aria-disabled="true"]):hover { background: rgb(7 37 33 / 12%); }
  .df-site .df-header-quick:not([aria-disabled="true"]):hover { background: rgb(7 37 33 / 22%); }
  .df-site .df-header-account:not([aria-disabled="true"]):hover, .df-site .df-header-cart:not([aria-disabled="true"]):hover { background: var(--df-soft-hover); }
  .df-site .df-footer-socials a:hover { background: var(--df-glass-hover); }
  .df-site .df-footer-group a:hover, .df-site .df-footer-legal a:hover { color: var(--df-cream); text-decoration: underline; text-underline-offset: 4px; }
}
.df-site .df-menu-toggle:not(:disabled):active, .df-site .df-site-header[data-menu-open="true"] .df-menu-toggle:not(:disabled):active { background: rgb(7 37 33 / 22%); }
.df-site .df-site-menu a:not([aria-disabled="true"]):active { background: rgb(7 37 33 / 18%); }
.df-site .df-header-quick:not([aria-disabled="true"]):active { background: rgb(7 37 33 / 30%); }
.df-site .df-header-account:not([aria-disabled="true"]):active, .df-site .df-header-cart:not([aria-disabled="true"]):active { background: var(--df-soft-pressed); }
.df-site :is(.df-menu-toggle,.df-header-quick,.df-header-account,.df-header-cart,.df-site-menu a):focus-visible { outline: none; border-color: var(--df-deep); }
.df-site .df-menu-toggle:focus-visible { box-shadow: inset 0 0 0 1px var(--df-deep); }
.df-site :is(.df-menu-toggle,.df-header-quick,.df-header-account,.df-header-cart,.df-site-menu a):is(:disabled,[aria-disabled="true"]) { opacity: .4; cursor: not-allowed; }
@media (min-width: 768px) and (max-width: 1199px) {
  .df-site .df-site-header { padding-inline: 32px; }
  .df-site .df-header-center { right: 32px; }
}
@media (min-width: 1200px) {
  .df-site .df-site-header { height: 100px; justify-content: center; padding: 32px 48px 12px; }
  .df-site .df-mobile-brand { display: none; }
  .df-site .df-header-center { top: 32px; right: auto; left: 50%; transform: translateX(-50%); width: 411px; height: 56px; padding: 5px 8px 5px 18px; border-width: 1px; border-radius: 34px; }
  .df-site .df-header-center::before { background: rgb(244 237 229 / 23%); }
  .df-site .df-desktop-brand { display: flex; }
  .df-site .df-header-quick-links { display: flex; align-items: center; gap: 12px; flex: 1 1 auto; min-width: 0; overflow: hidden; opacity: 1; transition: opacity 140ms ease, max-width var(--df-menu-duration) var(--df-menu-ease); max-width: 236px; }
  .df-site .df-header-quick { min-width: 0; width: 112px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 112px; height: 44px; padding: 0 16px; white-space: nowrap; border: 1px solid rgb(7 37 33 / 18%); border-radius: 30px; background: rgb(7 37 33 / 12%); font: 400 13px/18px var(--df-font); text-decoration: none; transition: background var(--df-motion), border-color var(--df-motion); }
  .df-site .df-menu-bar { width: 100%; justify-content: space-between; }
  .df-site .df-menu-toggle { width: 107px; gap: 4px; border-radius: 30px; background: var(--df-glass); }
  .df-site .df-menu-toggle [data-df-menu-label] { max-width: 80px; opacity: 1; }
  .df-site .df-header-actions { position: absolute; right: 48px; top: 32px; height: 56px; gap: 12px; margin: 0; flex-direction: row-reverse; }
  .df-site .df-header-account:not(.df-header-account--member) { width: 112px; }
  .df-site .df-header-account--member { width: 48px; height: 48px; }
  .df-site .df-header-account:not(.df-header-account--member) > .df-icon { display: none; }
  .df-site .df-header-account > span:not(.df-icon) { display: inline; font: 500 16px/20px var(--df-font); }
  .df-site .df-header-cart { width: 48px; height: 48px; }
  .df-site .df-site-header[data-menu-open="true"] .df-header-center { height: min(741px,calc(100dvh - 48px)); }
  .df-site .df-site-header[data-menu-open="true"] .df-header-quick-links { max-width: 0; opacity: 0; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
  .df-site .df-site-header *, .df-site .df-site-header *::before { transition: none !important; animation: none !important; }
}

/* Mobile menu 335:8498: a modal sheet, using the shared disclosure animation. */
.df-site .df-menu-backdrop { position: fixed; inset: 0; z-index: 25; background: rgb(7 37 33 / 12%); backdrop-filter: blur(2.15px); -webkit-backdrop-filter: blur(2.15px); opacity: 0; pointer-events: none; transition: opacity 180ms ease; }
.df-site .df-mobile-menu-title, .df-site .df-menu-mobile-content, .df-site .df-toggle-icons > .df-toggle-close-mobile { display: none; }
@media (max-width: 1199px) {
 html.df-menu-mobile-open, html.df-menu-mobile-open body { overflow: hidden; }
 .df-site .df-site-header[data-menu-open="true"] .df-menu-backdrop { opacity: 1; pointer-events: auto; }
 .df-site .df-site-header[data-menu-open="true"] .df-header-center { position: fixed; top: 16px; right: 16px; width: calc(100% - 32px); height: min(706px,calc(100dvh - 32px)); padding: 24px; border-color: rgb(244 237 229 / 28%); border-radius: 34px; box-shadow: none; }
 .df-site .df-site-header[data-menu-open="true"] .df-header-center::before { background: rgb(247 248 245 / 94%); backdrop-filter: none; -webkit-backdrop-filter: none; }
 .df-site .df-site-header[data-menu-open="true"] .df-desktop-brand { display: none; }
 .df-site .df-site-header[data-menu-open="true"] .df-mobile-menu-title { display: block; font: 400 16px/24px var(--df-font); }
 .df-site .df-site-header[data-menu-open="true"] .df-menu-bar { height: 60px; width: 100%; }
 .df-site .df-site-header[data-menu-open="true"] .df-menu-toggle { width: 60px; height: 60px; border-color: var(--df-cream); gap: 0; }
 .df-site .df-site-header[data-menu-open="true"] [data-df-menu-label] { display: none; }
 .df-site .df-site-header[data-menu-open="true"] .df-toggle-icons { flex-basis: 24px; width: 24px; height: 24px; }
 .df-site .df-site-header[data-menu-open="true"] .df-toggle-icons > .df-toggle-close { display: none; }
 .df-site .df-toggle-icons > .df-toggle-close-mobile { display: flex; opacity: 0; transform: rotate(-90deg); }
 .df-site .df-toggle-close-mobile .df-icon { flex-basis: 24px; width: 24px; height: 24px; }
 .df-site .df-site-header[data-menu-open="true"] .df-toggle-close-mobile { opacity: 1; transform: rotate(0); }
 .df-site .df-site-menu { top: 100px; right: 12px; bottom: 24px; left: 12px; gap: 0; }
 .df-site .df-site-menu .df-menu-desktop { display: none; }
 .df-site .df-menu-mobile-content { display: flex; flex-direction: column; gap: 16px; flex: 0 0 auto; padding-inline: 12px; }
 .df-site .df-mobile-menu-primary, .df-site .df-mobile-menu-secondary { display: flex; flex-direction: column; gap: 0; }
 .df-site .df-mobile-menu-primary { gap: 16px; }
 .df-site .df-menu-mobile-content a { min-height: 44px; padding: 0; border: 0; border-radius: 0; font: 400 16px/24px var(--df-font); }
 .df-site :is(.df-mobile-menu-primary, .df-mobile-menu-secondary) > a {
   margin-inline: -12px;
   padding-inline: 12px;
   border-radius: 16px;
 }
 .df-site .df-menu-mobile-content a:focus-visible { box-shadow: inset 0 0 0 1px var(--df-deep); }
 .df-site .df-mobile-menu-primary a { font: 500 20px/28px var(--df-font); }
 .df-site .df-mobile-menu-contact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
 .df-site .df-mobile-menu-contact a { font: 400 13px/18px var(--df-font); }
}

.df-site .df-footer-group[data-df-animating] { overflow: hidden; will-change: height; }
.df-site .df-footer-group[data-df-expanded="false"] > summary::after { content: "+"; }

.df-site .df-footer-brand > a img { max-width: 100%; height: auto; }
