/* _index.css — concatenated foundation + per-BEM-block files.
 * Foundation first (tokens/themes/reset/baselines), then every block
 * in alphabetical order. Source of truth for each block is its own file
 * under static/css/blocks/. Regenerate via build_v2_index.py. */

/* =================== foundation (_misc.css) =================== */
/* _misc.css — rules that did not classify under any BEM block.
 * Review and fold into appropriate blocks over time. */

:root {--hc-paper: #ffffff; --hc-paper-2: #fafaf8; --hc-paper-3: #f2efe9; --hc-bg: #f5f2ec; --hc-bg-warm: #f0ebe1; --hc-ink: #1a1714; --hc-ink-2: #3a3128; --hc-ink-soft: rgba(26, 23, 20, .70); --hc-ink-mid: rgba(26, 23, 20, .55); --hc-ink-muted: rgba(26, 23, 20, .30); --hc-accent: #8b7355; --hc-accent-dark: #5d4d3a; --hc-accent-soft: rgba(139, 115, 85, .08); --hc-gold: #d4b896; --hc-gold-soft: rgba(212, 184, 150, .15); --hc-gold-border: rgba(212, 184, 150, .38); --hc-success: #3d6b4f; --hc-success-soft: rgba(61, 107, 79, .10); --hc-warning: #a67426; --hc-warning-soft: rgba(166, 116, 38, .10); --hc-danger: #c9433a; --hc-danger-soft: rgba(201, 67, 58, .08); --hc-info: #3a6a8a; --hc-line: rgba(26, 23, 20, .08); --hc-line-2: rgba(26, 23, 20, .15); --hc-line-strong: rgba(26, 23, 20, .22); --hc-sh-1: 0 1px 2px rgba(26, 23, 20, .04); --hc-sh-2: 0 2px 8px rgba(26, 23, 20, .06); --hc-sh-3: 0 8px 28px rgba(26, 23, 20, .08); --hc-sh-4: 0 18px 50px -30px rgba(26, 23, 20, .28); --hc-sh-card: 0 18px 50px -44px rgba(26, 23, 20, .55), 0 1px 0 rgba(255, 255, 255, .9); --hc-sh-lift: 0 30px 72px -46px rgba(26, 23, 20, .58); --hc-r-xs: 4px; --hc-r-sm: 8px; --hc-r-md: 12px; --hc-r-lg: 16px; --hc-r-xl: 20px; --hc-r-2xl: 24px; --hc-r-3xl: 32px; --hc-r-pill: 9999px; --hc-sp-1: 4px; --hc-sp-2: 8px; --hc-sp-3: 12px; --hc-sp-4: 16px; --hc-sp-5: 24px; --hc-sp-6: 32px; --hc-sp-7: 48px; --hc-sp-8: 64px; --hc-sp-9: 96px; --hc-serif: 'Playfair Display', Georgia, 'Times New Roman', serif; --hc-sans: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --hc-mono: 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace; --hc-fs-xxs: 10px; --hc-fs-xs: 11px; --hc-fs-sm: 12px; --hc-fs-md: 14px; --hc-fs-lg: 16px; --hc-fs-xl: 18px; --hc-fs-2xl: 22px; --hc-fs-3xl: 28px; --hc-fs-4xl: 36px; --hc-fs-5xl: 48px; --hc-fs-6xl: 64px; --hc-lh-tight: 1.1; --hc-lh-snug: 1.25; --hc-lh-base: 1.5; --hc-lh-loose: 1.7; --hc-ls-tight: -0.02em; --hc-ls-normal: 0; --hc-ls-wide: 0.06em; --hc-ls-ultra: 0.14em; --hc-wrap: 1280px; --hc-wrap-wide: 1440px; --hc-hdr-h: 68px; --hc-dur-fast: 140ms; --hc-dur-base: 220ms; --hc-dur-slow: 360ms; --hc-ease: cubic-bezier(0.4, 0, 0.2, 1); --hc-ease-out: cubic-bezier(0.16, 1, 0.3, 1); --hc-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); --hc-z-header: 50; --hc-z-drawer: 80; --hc-z-modal: 100; --hc-z-toast: 120; --hc-z-tooltip: 140}
:root[data-theme="dark"] {--hc-paper: #1a1714; --hc-paper-2: #221d18; --hc-paper-3: #2a231e; --hc-bg: #14110e; --hc-bg-warm: #1f1a16; --hc-ink: #f5f2ec; --hc-ink-2: #e0d9cc; --hc-ink-soft: rgba(245, 242, 236, 0.70); --hc-ink-mid: rgba(245, 242, 236, 0.55); --hc-ink-muted: rgba(245, 242, 236, 0.30); --hc-line: rgba(245, 242, 236, 0.08); --hc-line-2: rgba(245, 242, 236, 0.14); --hc-line-strong: rgba(245, 242, 236, 0.24); --hc-accent-soft: rgba(212, 184, 150, 0.14); --hc-gold-soft: rgba(212, 184, 150, 0.10); --hc-gold-border: rgba(212, 184, 150, 0.30)}
[data-theme="warm-sand"], :root {--hc-bg: #f8f6f3; --hc-bg-warm: #f0ebe1; --hc-paper: #ffffff; --hc-paper-2: #fafaf8; --hc-paper-3: #f2efe9; --hc-ink: #1a1714; --hc-ink-2: #3a3128; --hc-ink-soft: rgba(26, 23, 20, 0.70); --hc-ink-mid: rgba(26, 23, 20, 0.55); --hc-ink-muted: rgba(26, 23, 20, 0.30); --hc-accent: #8b7355; --hc-accent-dark: #5d4d3a; --hc-accent-soft: rgba(139, 115, 85, 0.08); --hc-gold: #d4b896; --hc-gold-soft: rgba(212, 184, 150, 0.15); --hc-gold-border: rgba(212, 184, 150, 0.38); --hc-success: #3d6b4f; --hc-success-soft: rgba(61, 107, 79, 0.10); --hc-line: rgba(26, 23, 20, 0.08); --hc-line-2: rgba(26, 23, 20, 0.15); --hc-line-strong: rgba(26, 23, 20, 0.22); --hc-hero-grad: linear-gradient(160deg, #f3e9d6 0%, #e8dfd0 100%); --hc-cat-feat-grad: linear-gradient(160deg, #f3e9d6 0%, #e8dfd0 100%); --hc-cat-feat-hover-grad: linear-gradient(160deg, #ede2c9 0%, #d4b896 100%); --hc-b2b-grad: linear-gradient(135deg, #2c2820 0%, #4a3f30 100%); --hc-glow-color: rgba(212, 184, 150, 0.28); --hc-shadow-warm: 0 30px 80px -20px rgba(139, 115, 85, 0.30)}
[data-theme="midnight-brass"] {--hc-bg: #14110e; --hc-bg-warm: #1f1a16; --hc-paper: #221d18; --hc-paper-2: #2a2520; --hc-paper-3: #322b25; --hc-ink: #f5f0e8; --hc-ink-2: #e0d9cc; --hc-ink-soft: rgba(245, 240, 232, 0.72); --hc-ink-mid: rgba(245, 240, 232, 0.55); --hc-ink-muted: rgba(245, 240, 232, 0.30); --hc-accent: #d4b896; --hc-accent-dark: #b8966a; --hc-accent-soft: rgba(212, 184, 150, 0.10); --hc-gold: #d4b896; --hc-gold-soft: rgba(212, 184, 150, 0.10); --hc-gold-border: rgba(212, 184, 150, 0.30); --hc-success: #6ba480; --hc-success-soft: rgba(107, 164, 128, 0.15); --hc-line: rgba(245, 240, 232, 0.08); --hc-line-2: rgba(245, 240, 232, 0.14); --hc-line-strong: rgba(245, 240, 232, 0.24); --hc-hero-grad: linear-gradient(160deg, #2a2520 0%, #3d3329 100%); --hc-cat-feat-grad: linear-gradient(160deg, #2a2520 0%, #3d3329 100%); --hc-cat-feat-hover-grad: linear-gradient(160deg, #3d3329 0%, #5a4a3a 100%); --hc-b2b-grad: linear-gradient(135deg, #d4b896 0%, #b8966a 100%); --hc-glow-color: rgba(212, 184, 150, 0.35); --hc-shadow-warm: 0 30px 80px -20px rgba(0, 0, 0, 0.55)}
[data-theme="champagne-gold"] {--hc-bg: #fafaf7; --hc-bg-warm: #f5f1e8; --hc-paper: #ffffff; --hc-paper-2: #fbf9f3; --hc-paper-3: #f3eee0; --hc-ink: #2a2520; --hc-ink-2: #3d3329; --hc-ink-soft: rgba(42, 37, 32, 0.72); --hc-ink-mid: rgba(42, 37, 32, 0.55); --hc-ink-muted: rgba(42, 37, 32, 0.28); --hc-accent: #c9a961; --hc-accent-dark: #a8893f; --hc-accent-soft: rgba(201, 169, 97, 0.10); --hc-gold: #d4b061; --hc-gold-soft: rgba(212, 176, 97, 0.16); --hc-gold-border: rgba(212, 176, 97, 0.42); --hc-success: #4a7858; --hc-success-soft: rgba(74, 120, 88, 0.10); --hc-line: rgba(42, 37, 32, 0.07); --hc-line-2: rgba(42, 37, 32, 0.14); --hc-line-strong: rgba(42, 37, 32, 0.22); --hc-hero-grad: linear-gradient(160deg, #f7f0d9 0%, #e8d8a8 100%); --hc-cat-feat-grad: linear-gradient(160deg, #f7f0d9 0%, #e8d8a8 100%); --hc-cat-feat-hover-grad: linear-gradient(160deg, #f0e3b0 0%, #c9a961 100%); --hc-b2b-grad: linear-gradient(135deg, #2a2520 0%, #3d3329 100%); --hc-glow-color: rgba(212, 176, 97, 0.32); --hc-shadow-warm: 0 30px 80px -20px rgba(168, 137, 63, 0.28)}
[data-theme="forest-premium"] {--hc-bg: #f4f3ec; --hc-bg-warm: #e8e8d8; --hc-paper: #ffffff; --hc-paper-2: #fafaf2; --hc-paper-3: #ededdc; --hc-ink: #1d2418; --hc-ink-2: #2c3826; --hc-ink-soft: rgba(29, 36, 24, 0.72); --hc-ink-mid: rgba(29, 36, 24, 0.55); --hc-ink-muted: rgba(29, 36, 24, 0.30); --hc-accent: #5a7a5a; --hc-accent-dark: #3d5a3d; --hc-accent-soft: rgba(90, 122, 90, 0.10); --hc-gold: #c9a961; --hc-gold-soft: rgba(201, 169, 97, 0.14); --hc-gold-border: rgba(201, 169, 97, 0.38); --hc-success: #5a7a5a; --hc-success-soft: rgba(90, 122, 90, 0.12); --hc-line: rgba(29, 36, 24, 0.08); --hc-line-2: rgba(29, 36, 24, 0.15); --hc-line-strong: rgba(29, 36, 24, 0.24); --hc-hero-grad: linear-gradient(160deg, #d8e0c8 0%, #b8c8a0 100%); --hc-cat-feat-grad: linear-gradient(160deg, #d8e0c8 0%, #b8c8a0 100%); --hc-cat-feat-hover-grad: linear-gradient(160deg, #b8c8a0 0%, #5a7a5a 100%); --hc-b2b-grad: linear-gradient(135deg, #1d2418 0%, #2c3826 100%); --hc-glow-color: rgba(201, 169, 97, 0.30); --hc-shadow-warm: 0 30px 80px -20px rgba(61, 90, 61, 0.30)}
[data-theme="bordeaux-lux"] {--hc-bg: #f5f0ea; --hc-bg-warm: #ede2d4; --hc-paper: #ffffff; --hc-paper-2: #faf3eb; --hc-paper-3: #f0e3d2; --hc-ink: #2a1818; --hc-ink-2: #3d2828; --hc-ink-soft: rgba(42, 24, 24, 0.72); --hc-ink-mid: rgba(42, 24, 24, 0.55); --hc-ink-muted: rgba(42, 24, 24, 0.30); --hc-accent: #8b3a3a; --hc-accent-dark: #6b2828; --hc-accent-soft: rgba(139, 58, 58, 0.08); --hc-gold: #c9a961; --hc-gold-soft: rgba(201, 169, 97, 0.14); --hc-gold-border: rgba(201, 169, 97, 0.38); --hc-success: #4a7858; --hc-success-soft: rgba(74, 120, 88, 0.10); --hc-line: rgba(42, 24, 24, 0.08); --hc-line-2: rgba(42, 24, 24, 0.15); --hc-line-strong: rgba(42, 24, 24, 0.24); --hc-hero-grad: linear-gradient(160deg, #f0d8c0 0%, #d8a890 100%); --hc-cat-feat-grad: linear-gradient(160deg, #f0d8c0 0%, #c89888 100%); --hc-cat-feat-hover-grad: linear-gradient(160deg, #c89888 0%, #8b3a3a 100%); --hc-b2b-grad: linear-gradient(135deg, #2a1818 0%, #3d2828 100%); --hc-glow-color: rgba(139, 58, 58, 0.28); --hc-shadow-warm: 0 30px 80px -20px rgba(107, 40, 40, 0.30)}
[data-theme="onyx-pearl"] {--hc-bg: #fbfaf8; --hc-bg-warm: #f4f1ea; --hc-paper: #ffffff; --hc-paper-2: #faf8f3; --hc-paper-3: #f0ede5; --hc-ink: #0a0a0a; --hc-ink-2: #1a1a1a; --hc-ink-soft: rgba(10, 10, 10, 0.72); --hc-ink-mid: rgba(10, 10, 10, 0.55); --hc-ink-muted: rgba(10, 10, 10, 0.30); --hc-accent: #1a1a1a; --hc-accent-dark: #000000; --hc-accent-soft: rgba(10, 10, 10, 0.06); --hc-gold: #b8a48f; --hc-gold-soft: rgba(184, 164, 143, 0.14); --hc-gold-border: rgba(184, 164, 143, 0.38); --hc-success: #2c5a3a; --hc-success-soft: rgba(44, 90, 58, 0.08); --hc-line: rgba(10, 10, 10, 0.07); --hc-line-2: rgba(10, 10, 10, 0.14); --hc-line-strong: rgba(10, 10, 10, 0.24); --hc-hero-grad: linear-gradient(160deg, #ede9e0 0%, #d4cfc4 100%); --hc-cat-feat-grad: linear-gradient(160deg, #ede9e0 0%, #c8c4b8 100%); --hc-cat-feat-hover-grad: linear-gradient(160deg, #c8c4b8 0%, #1a1a1a 100%); --hc-b2b-grad: linear-gradient(135deg, #0a0a0a 0%, #2a2520 100%); --hc-glow-color: rgba(184, 164, 143, 0.30); --hc-shadow-warm: 0 30px 80px -20px rgba(0, 0, 0, 0.40)}
:root {
  --cookie-banner-h: 96px;
  --gx: 50%;
  --gy: 50%;
  --parallaxY: 0px;
  --hc-bg-2: var(--hc-paper-3);
  --hc-font: var(--hc-sans);
  --hc-gold-1: #d4b896;
  --hc-gold-2: #b8966a;
  --hc-green: #3d6b4f;
  --hc-muted: rgba(26, 23, 20, 0.66);
  --hc-red: #8b3a2e;
  --sf-gold: #b8966a;
  --sf-red: #8b3a2e;
}
*, *::before, *::after {box-sizing: border-box}
* {margin: 0; padding: 0}
html {-webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; scroll-behavior: smooth; overflow-x: hidden}
html, body {margin: 0; padding: 0; background: #f5f2ec; color: #1a1714; font-family: 'Outfit',-apple-system,BlinkMacSystemFont,sans-serif}
html {min-height: 100%}
body {min-height: 100vh; display: flex; flex-direction: column; font-family: var(--hc-sans); font-size: var(--hc-fs-md); line-height: var(--hc-lh-base); color: var(--hc-ink); background: var(--hc-bg); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: hidden; overflow-y: visible}
body > main {flex: 1 0 auto}
body > .hc-ftr, body > footer {flex-shrink: 0; margin-top: auto}
h1, h2, h3, h4, h5, h6 {font-family: var(--hc-serif); font-weight: 500; line-height: var(--hc-lh-tight); letter-spacing: var(--hc-ls-tight); color: var(--hc-ink); font-feature-settings: "kern" 1, "liga" 1, "clig" 1, "calt" 1, "ss01" 1; font-optical-sizing: auto; font-variant-ligatures: common-ligatures contextual; text-rendering: geometricPrecision}
h1 {font-size: var(--hc-fs-4xl); letter-spacing: -0.024em}
h2 {font-size: var(--hc-fs-3xl); letter-spacing: -0.018em}
h3 {font-size: var(--hc-fs-2xl); letter-spacing: -0.012em}
h4 {font-size: var(--hc-fs-xl)}
h5 {font-size: var(--hc-fs-lg)}
h6 {font-size: var(--hc-fs-md); font-family: var(--hc-sans); text-transform: uppercase; letter-spacing: var(--hc-ls-wide)}
p {line-height: var(--hc-lh-base)}
small {font-size: var(--hc-fs-xs)}
code, kbd, samp, pre {font-family: var(--hc-mono); font-size: 0.94em}
strong, b {font-weight: 600}
em, i {font-style: italic}
a {color: inherit; text-decoration: none; transition: color var(--hc-dur-fast) var(--hc-ease)}
a:hover {color: var(--hc-accent)}
img, video, svg {display: block; max-width: 100%; height: auto}
svg {fill: currentColor}
button, input, select, textarea {font: inherit; color: inherit}
button {background: transparent; border: 0; cursor: pointer}
input, textarea, select {background: transparent; border: 0}
textarea {resize: vertical}
:focus {outline: none}
:focus-visible {outline: 2px solid var(--hc-accent); outline-offset: 2px; border-radius: var(--hc-r-sm)}
::selection {background: var(--hc-gold-soft); color: var(--hc-ink)}
::-webkit-scrollbar {width: 10px; height: 10px}
::-webkit-scrollbar-track {background: transparent}
::-webkit-scrollbar-thumb {background: var(--hc-line-2); border-radius: var(--hc-r-pill); border: 2px solid transparent; background-clip: padding-box}
::-webkit-scrollbar-thumb:hover {background: var(--hc-line-strong); background-clip: padding-box; border: 2px solid transparent}
[x-cloak] {display: none}
[data-fx-glow] {position: relative; isolation: isolate}
[data-fx-glow]::before {content: ""; position: absolute; inset: 0; background: radial-gradient(
    420px circle at var(--gx, 50%) var(--gy, 50%),
    rgba(199, 155, 96, 0.14),
    transparent 55%
  ); opacity: 0; transition: opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1); pointer-events: none; z-index: 0; border-radius: inherit}
[data-fx-glow]:hover::before {opacity: 1}
[data-fx-glow] > * {position: relative; z-index: 1}
[data-fx-img-lift] img {transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
              filter 0.4s ease}
[data-fx-img-lift]:hover img {transform: scale(1.04); filter: brightness(1.02) saturate(1.05)}
[hx-trigger="load"]:empty, [hx-get]:empty {min-height: 80px; background: linear-gradient(
    90deg,
    rgba(248, 244, 237, 0.3),
    rgba(248, 244, 237, 0.7),
    rgba(248, 244, 237, 0.3)
  ); background-size: 200% 100%; animation: hz-skeleton-shimmer 1.4s ease-in-out infinite; border-radius: 8px}
[data-fav-stat-num] {margin-right: 4px}
input[type="hidden"] {display: none}
[class*="stat"] strong, [class*="kpi"] strong, [class*="facts"] strong, .premium-surface > div > strong + span, .premium-surface > div > b + small {display: block}
[data-fx-parallax] {transform: translate3d(0, var(--parallaxY, 0px), 0); will-change: transform; transition: none}
[data-phone-reveal] {cursor: pointer; display: inline-flex; align-items: center; gap: 8px; position: relative}
[data-fx-draw] path, [data-fx-draw] circle, [data-fx-draw] line {stroke-dasharray: 100%; stroke-dashoffset: 100%}
@media(max-width:1024px) { section + section, .hc-sec + .hc-sec {position: relative} }
@keyframes hcToastIn { from  { transform: translateY(20px); opacity: 0; } }
@keyframes hcToastIn { to  { transform: translateY(0); opacity: 1; } }
@keyframes hcSpin { to  { transform: rotate(360deg); } }
@keyframes hcSkel { 0%  { background-position: 200% 0; } }
@keyframes hcSkel { 100%  { background-position: -200% 0; } }
@keyframes hcShimmer { 0%  { background-position: 100% 0; } }
@keyframes hcShimmer { 100%  { background-position: -100% 0; } }
@keyframes hcFadeIn { from  { opacity: 0; } }
@keyframes hcFadeIn { to  { opacity: 1; } }
@keyframes hcSlideUp { from  { opacity: 0; transform: translateY(20px) scale(.98); } }
@keyframes hcSlideUp { to  { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes hcPulse { 0%,100% {opacity:1} }
@keyframes hcPulse { 50% {opacity:.4} }
@keyframes hc-empty-float { 0%, 100%  {
    transform: translateY(0);
    box-shadow: 0 10px 24px rgba(27, 20, 13, 0.10);
  } }
@keyframes hc-empty-float { 50%  {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(27, 20, 13, 0.16);
  } }
@keyframes hcFloat { 0%,100% {transform:translateY(0)} }
@keyframes hcFloat { 50% {transform:translateY(-10px)} }
@keyframes hzTileFloat { 0%, 100%  { transform: translateY(0); } }
@keyframes hzTileFloat { 50%       { transform: translateY(-2.5px); } }
@keyframes hz-orb-float { 0%, 100%  { transform: translate(0, 0); } }
@keyframes hz-orb-float { 50%       { transform: translate(3%, -4%); } }
@keyframes hcPhSpin { from  { transform: rotate(0); } }
@keyframes hcPhSpinR { from  { transform: rotate(360deg); } }
@keyframes hcPhSpinR { to  { transform: rotate(0); } }
@keyframes hcPhDot { 0%,100%  { r: 2; opacity: 0.85; } }
@keyframes hcPhDot { 50%  { r: 2.8; opacity: 1; } }
@keyframes hcPhSchema { 0%,100%  { opacity: 0.7; } }
@keyframes hcPhSchema { 50%  { opacity: 1; } }
@keyframes hc-svg-draw { from  { stroke-dashoffset: 100%; } }
@keyframes hc-svg-draw { to    { stroke-dashoffset: 0; } }
@keyframes hc-float-y { 50%       { transform: translateY(-6px); } }
@keyframes hc-pulse-glow { 0%, 100%  { opacity: 0.55; transform: scale(1); } }
@keyframes hc-pulse-glow { 50%       { opacity: 1;    transform: scale(1.04); } }
@keyframes hc-orbit { from  { transform: rotate(0deg)   translateX(var(--orbit-r, 40px)) rotate(0deg); } }
@keyframes hc-orbit { to    { transform: rotate(360deg) translateX(var(--orbit-r, 40px)) rotate(-360deg); } }
@keyframes hc-isearch-pop { from  { transform: translateY(-12px) scale(0.98); opacity: 0; } }
@keyframes hc-isearch-pop { to    { transform: none; opacity: 1; } }
@keyframes hc-livechat-pop { from  { transform: scale(0.92) translateY(10px); opacity: 0; } }
@keyframes hcHingeSwing { 0%, 15%   { transform: rotate(0deg); } }
@keyframes hcHingeSwing { 45%, 60%  { transform: rotate(-108deg); } }
@keyframes hcHingeSwing { 92%, 100%  { transform: rotate(0deg); } }
@keyframes hcDrawerSlide { 0%, 10%   { transform: translateX(0); } }
@keyframes hcDrawerSlide { 45%, 55%  { transform: translateX(140px); } }
@keyframes hcDrawerSlide { 90%, 100%  { transform: translateX(0); } }
@keyframes hcMotionFade { 0%, 10%  { opacity: 0.5; } }
@keyframes hcMotionFade { 45%, 55%  { opacity: 0; } }
@keyframes hcMotionFade { 90%, 100%  { opacity: 0.5; } }
@keyframes hcLiftRaise { 0%, 12%   { transform: rotate(0deg); } }
@keyframes hcLiftRaise { 42%, 58%  { transform: rotate(-85deg); } }
@keyframes hcLiftRaise { 88%, 100%  { transform: rotate(0deg); } }
@keyframes hcRailSlide { 45%, 55%  { transform: translateX(110px); } }
@keyframes hcTipOnPush { 0%, 25%  { transform: translate(0, 0); opacity: 0; } }
@keyframes hcTipOnPush { 30%, 40%  { transform: translate(0, -12px); opacity: 1; } }
@keyframes hcTipOnPush { 45%, 50%  { transform: translate(0, 0); opacity: 0.7; } }
@keyframes hcTipOnPush { 55%, 100%  { transform: translate(0, 0); opacity: 0; } }
@keyframes hcTipOnSpring { 0%, 48%  { transform: translateX(0); } }
@keyframes hcTipOnSpring { 52%, 75%  { transform: translateX(30px); } }
@keyframes hcTipOnSpring { 85%, 100%  { transform: translateX(0); } }
@keyframes hcCatGlow { 0%, 100%  { opacity: 0.3; transform: scale(1); } }
@keyframes hcCatGlow { 50%       { opacity: 0.7; transform: scale(1.05); } }
@keyframes hcCatPulse { 0%, 100%  { opacity: 1; transform: scale(1); } }
@keyframes hcCatPulse { 50%       { opacity: 0.8; transform: scale(1.08); } }
@keyframes hcCatArm { 0%, 85%   { transform: rotate(0deg); } }
@keyframes hcCatArm { 92%, 100%  { transform: rotate(-4deg); } }
@keyframes hcCatAvntos { 0%, 18%   { transform: rotate(0deg); } }
@keyframes hcCatAvntos { 48%, 62%  { transform: rotate(-70deg); } }
@keyframes hcCatTipOnDrawer { 0%, 45%  { transform: translateX(0); } }
@keyframes hcCatTipOnDrawer { 55%, 70%  { transform: translateX(32px); } }
@keyframes hcCatPush { 0%, 30%   { opacity: 0; transform: translate(0, 0); } }
@keyframes hcCatPush { 40%, 50%  { opacity: 1; transform: translate(0, -8px); } }
@keyframes hcCatPush { 58%, 100%  { opacity: 0; transform: translate(0, 0); } }
@keyframes hcCatBearings { 0%, 100%  { opacity: 1; } }
@keyframes hcCatBearings { 50%       { opacity: 0.65; } }
@keyframes hcCatShimmer { 0%, 100%  { opacity: 0.5; } }
@keyframes hcCatShimmer { 50%       { opacity: 0.85; } }
@keyframes hcCatArrow { 0%, 30%  { opacity: 0.5; transform: translateX(0); } }
@keyframes hcCatArrow { 50%      { opacity: 1; transform: translateX(8px); } }
@keyframes hcCatArrow { 70%, 100%  { opacity: 0.5; transform: translateX(0); } }
@keyframes hcCatLed { 0%, 100%  { fill: #3d6b4f; } }
@keyframes hcCatLed { 50%       { fill: #7dbf96; } }
@keyframes hcCatCable { 0%, 100%  { stroke-dashoffset: 0; } }
@keyframes hcCatCable { 50%       { stroke-dashoffset: 8; } }
@keyframes hcCatSpin { 0%    { transform: rotate(0deg); } }
@keyframes hcCatSpin { 100%  { transform: rotate(360deg); } }
:root {--sf-ink: #1a1714;
  --sf-muted: rgba(26, 23, 20, 0.66);
  --sf-line: rgba(139, 115, 85, 0.24);
  --sf-line-strong: rgba(139, 115, 85, 0.36);
  --sf-paper: #ffffff;
  --sf-soft: #f8f3e8;
  --sf-radius-xl: 24px;
  --sf-radius-lg: 18px;
  --sf-radius-md: 14px;
  --sf-shadow: 0 24px 56px -36px rgba(27, 20, 13, 0.34);}
@keyframes hc-hero-pulse { 0%, 100%  { opacity: 1; transform: scale(1); } }
@keyframes hc-hero-pulse { 50%  { opacity: 0.5; transform: scale(1.3); } }
@keyframes hc-pcard-stock-pulse { 0%, 100%  { opacity: 1; transform: scale(1); } }
@keyframes hc-pcard-stock-pulse { 50%       { opacity: 0.55; transform: scale(1.4); } }
@keyframes hc-fx-auto-reveal { to  { opacity: 1; transform: none; } }
@keyframes hcCheckDraw { to { stroke-dashoffset:0; } }
@keyframes hcTimelinePulse { 0%    { transform:scale(0.6); opacity:0.7; } }
@keyframes hcTimelinePulse { 100%  { transform:scale(1.6); opacity:0; } }
:root {
  --sp-4: 4px;
  --sp-6: 6px;
  --sp-8: 8px;
  --sp-10: 10px;
  --sp-12: 12px;
  --sp-16: 16px;
  --sp-20: 20px;
  --sp-24: 24px;
  --sp-32: 32px;
  --sp-48: 48px;
  --sp-64: 64px;

  --fs-11: 11px;
  --fs-12: 12px;
  --fs-13: 13px;
  --fs-14: 14px;
  --fs-15: 15px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-20: 20px;
  --fs-24: 24px;
  --fs-32: 32px;
  --fs-40: 40px;
  --fs-48: 48px;
  --fs-52: 52px;

  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;

  --lh-1: 1;
  --lh-1-1: 1.1;
  --lh-1-2: 1.2;
  --lh-1-4: 1.4;
  --lh-1-5: 1.5;
  --lh-1-6: 1.6;

  --c-primary: #1a1716;
  --c-primary-dark: #0f0d0b;
  --c-primary-light: #2d2420;

  --c-white: #fffcf7;
  --c-bg: #f3f1ef;
  --c-bg-light: #fafaf8;
  --c-border: #e8e4e0;

  --c-text: #1a1716;
  --c-text-secondary: #6b6258;
  --c-text-muted: #a6a29c;

  --c-success: #3d6b4f;
  --c-warning: #b8731c;
  --c-error: #d63031;
  --c-error-light: #ff7675;

  --c-accent: #d4af37;
  --c-accent-warm: #8b7355;

  --sh-sm: 0 2px 8px rgba(27, 20, 13, 0.06);
  --sh-md: 0 4px 16px rgba(27, 20, 13, 0.10);
  --sh-lg: 0 8px 24px rgba(27, 20, 13, 0.12);
  --sh-xl: 0 12px 32px rgba(27, 20, 13, 0.15);
  --sh-2xl: 0 16px 48px rgba(27, 20, 13, 0.18);

  --tr-fast: 0.15s ease-out;
  --tr-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --tr-slow: 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);

  --br-4: 4px;
  --br-6: 6px;
  --br-8: 8px;
  --br-12: 12px;
  --br-16: 16px;
  --br-full: 9999px;

  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal: 1000;
}
@keyframes badgePulse  { 0%, 100%  {
    box-shadow: 0 2px 8px rgba(214, 48, 49, 0.3);
  } }
@keyframes badgePulse  { 50%  {
    box-shadow: 0 4px 12px rgba(214, 48, 49, 0.5);
  } }
@keyframes salePulse  { 0%, 100%  { background: linear-gradient(90deg, transparent 0%, rgba(214, 48, 49, 0.05) 100%); } }
@keyframes salePulse  { 50%  { background: linear-gradient(90deg, transparent 0%, rgba(214, 48, 49, 0.10) 100%); } }
@keyframes pulse  { 0%, 100%  { opacity: 1; } }
@keyframes pulse  { 50%  { opacity: 0.5; } }
input[type="text"],
input[type="email"],
input[type="number"],
input[type="search"],
textarea,
select {
  width: 100%;
  padding: var(--sp-12) var(--sp-16);
  border: 1px solid var(--c-border);
  border-radius: var(--br-8);
  font-size: var(--fs-16);
  line-height: var(--lh-1-5);
  font-family: inherit;
  color: var(--c-text);
  background: var(--c-white);
  transition: all var(--tr-fast);
  will-change: border-color, box-shadow;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(26, 23, 20, 0.06);
  background: var(--c-white);
}
input::placeholder {
  color: var(--c-text-muted);
}
@keyframes slideIn  { from  { width: 0; } }
@keyframes slideIn  { to  { width: 100%; } }
@keyframes hcFloat  { 0%, 100%  {
    transform: translateY(0) translateZ(0);
  } }
@keyframes hcFloat  { 50%  {
    transform: translateY(-12px) translateZ(20px);
  } }
@keyframes hcModalFadeIn  { from  {
    opacity: 0;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
  } }
@keyframes hcModalFadeIn  { to  {
    opacity: 1;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  } }
@keyframes hcModalSlideUp  { from  {
    transform: translateY(40px) scale(0.95);
    opacity: 0;
  } }
@keyframes hcModalSlideUp  { to  {
    transform: translateY(0) scale(1);
    opacity: 1;
  } }
@keyframes hcTabSlide  { from  {
    width: 0;
    left: 50%;
    right: 50%;
  } }
@keyframes hcTabSlide  { to  {
    width: 100%;
    left: 0;
    right: 0;
  } }
@keyframes hcGlowPulse  { 0%, 100%  {
    text-shadow: 0 0 20px rgba(139, 115, 85, 0.3);
  } }
@keyframes hcGlowPulse  { 50%  {
    text-shadow: 0 0 30px rgba(139, 115, 85, 0.6);
  } }
@keyframes hcShimmer  { 0%  {
    background-position: -200% 0;
  } }
@keyframes hcShimmer  { 100%  {
    background-position: 200% 0;
  } }
@keyframes hcPulseDot  { 0%  {
    box-shadow: 0 0 0 0 rgba(61, 107, 79, 0.7);
  } }
@keyframes hcPulseDot  { 70%  {
    box-shadow: 0 0 0 10px rgba(61, 107, 79, 0);
  } }
@keyframes hcPulseDot  { 100%  {
    box-shadow: 0 0 0 0 rgba(61, 107, 79, 0);
  } }
*:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce)  { *  {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  } }
@keyframes hcModalFade  { from  { opacity: 0; } }
@keyframes hcModalFade  { to  { opacity: 1; } }
@keyframes hcModalRise  { from  { transform: translateY(20px) scale(0.98); opacity: 0; } }
@keyframes hcModalRise  { to  { transform: translateY(0) scale(1); opacity: 1; } }
@keyframes hcBlogRotate  { from  { transform: rotate(0deg); } }
@keyframes hcBlogRotate  { to    { transform: rotate(360deg); } }
@keyframes hcOrbitFloat  { 0%, 100%  { transform: scale(1); opacity: 0.7; } }
@keyframes hcOrbitFloat  { 50%  { transform: scale(1.4); opacity: 1; } }
@keyframes hcHaloPulse  { 0%, 100%  { transform: scale(1); opacity: 0.6; } }
@keyframes hcHaloPulse  { 50%  { transform: scale(1.08); opacity: 1; } }
@keyframes hc-acc-fade  { from  { opacity: 0; transform: translateY(-4px); } }
@keyframes hc-acc-fade  { to    { opacity: 1; transform: translateY(0); } }
[x-cloak] { display: none !important; }
@keyframes hc-pcard-stock-pulse  { 0%, 100%  { opacity: 1; } }
@keyframes hc-pcard-stock-pulse  { 50%       { opacity: 0.35; } }
@keyframes hc-isearch-shimmer  { 0%  { background-position: -220px 0; } }
@keyframes hc-isearch-shimmer  { 100%  { background-position: calc(100% + 220px) 0; } }


/* ---- folded from 084-hc-countup.css ---- */
/* =================== hc-countup.css =================== */
.hc-countup {font-variant-numeric: tabular-nums}

/* ---- folded from 112-hc-muted.css ---- */
.hc-muted {color: var(--hc-ink-mid)}
@media(max-width:1024px) {
  .page-favorites .hc-muted {font-size: 15px; line-height: 1.55; max-width: 64ch; margin: 0 0 32px}
}

/* ---- folded from 153-hc-spinner.css ---- */
.hc-spinner {width: 18px; height: 18px; border: 2px solid var(--hc-line-2); border-top-color: var(--hc-accent); border-radius: 50%; animation: hcSpin 700ms linear infinite}
