@font-face {
    font-family: "Nunito";
    font-style: normal;
    font-weight: 200 1000;
    font-display: swap;
    src: url("../fonts/homepage/nunito-latin-c23Eawv.woff2") format("woff2");
}

@font-face {
    font-family: "Bricolage Grotesque";
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url("../fonts/homepage/bricolage-grotesque-latin-ath3kzO.woff2") format("woff2");
}

@font-face {
    font-family: "Archivo";
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 62% 125%;
    font-display: swap;
    src: url("../fonts/homepage/archivo-latin-Wa7z_Iw.woff2") format("woff2");
}

:root {
    --moveka-bg: #fefefe;
    --moveka-ink: #212b36;
    --moveka-primary: #006653;
    --moveka-primary-strong: #006653;
    --moveka-primary-hover: #004f41;
    --moveka-primary-soft: rgba(0, 102, 83, 0.1);
    --moveka-sameday-soft: #fcfaf4;
    --moveka-express-soft: #f0f8f6;
    --moveka-delivery-border: rgba(0, 102, 83, 0.18);
    --moveka-focus-dark: #092c4c;
    --moveka-artwork-primary: #00b894;
    --moveka-artwork-primary-strong: #007f69;
    --moveka-artwork-primary-soft: rgba(0, 184, 148, 0.1);
    --moveka-border: #e6eaed;
    --moveka-muted: #646b72;
    --moveka-purple: #7136d8;
    --moveka-orange: #ff8a18;
    --moveka-radius: 8px;
    --moveka-shadow: 0 5px 14px rgba(33, 43, 54, 0.06);
    --font-system: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-body: "Nunito", var(--font-system);
    --font-display: "Bricolage Grotesque", "Nunito", var(--font-system);
    --font-hero-statement: "Archivo", "Nunito", var(--font-system);
    --text-micro: 0.75rem;
    --text-compact: 0.875rem;
    --text-body: 1rem;
    --text-label: 1rem;
    --text-nested-heading: 1.125rem;
    --text-section-heading: 1.25rem;
    --leading-compact: 1.25;
    --leading-body: 1.5;
    --leading-nested-heading: 1.3;
    --leading-section-heading: 1.2;
}

html {
    scroll-behavior: smooth;
}

body.homepage-public {
    margin: 0;
    overflow-x: hidden;
    color: var(--moveka-ink);
    background: var(--moveka-bg);
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-body);
    font-optical-sizing: auto;
}

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

.homepage-public h1,
.homepage-public h2,
.homepage-public h3,
.homepage-public h4,
.homepage-public p,
.homepage-public dl,
.homepage-public dd,
.homepage-public figure {
    margin: 0;
}

.homepage-public button,
.homepage-public input,
.homepage-public select {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.homepage-public a {
    color: inherit;
    text-decoration: none;
}

.homepage-container {
    width: min(91.5%, 1180px);
    margin-inline: auto;
}

.skip-link {
    position: fixed;
    z-index: 1100;
    top: 10px;
    left: 10px;
    padding: 10px 16px;
    color: #fff !important;
    background: var(--moveka-ink);
    border-radius: 4px;
    transform: translateY(-150%);
}

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

.homepage-header {
    height: 68px;
    border-bottom: 1px solid var(--moveka-border);
    background: rgba(254, 254, 254, 0.98);
}

.homepage-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.homepage-brand {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--moveka-ink) !important;
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.homepage-nav {
    align-items: center;
    gap: 24px;
}

.homepage-header__inner { gap: 24px; }
.homepage-header__actions { display: flex; align-items: center; gap: 12px; }
.homepage-header__actions .btn { white-space: nowrap; min-height: 44px; }
.homepage-nav a,
.homepage-nav__toggle,
.mobile-navigation a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-weight: 700;
}
.homepage-nav__toggle { padding: 0; border: 0; background: none; color: inherit; }
.homepage-nav .dropdown-menu { padding: 8px; border-color: var(--moveka-border); border-radius: var(--moveka-radius); }
.homepage-nav .dropdown-item { width: 100%; border-radius: 4px; }
.homepage-nav a:hover,
.homepage-nav__toggle:hover,
.mobile-navigation a:not(.btn):hover { color: var(--moveka-primary-hover); }
.homepage-nav .dropdown-item:hover,
.homepage-nav .dropdown-item:focus { background: var(--moveka-primary-soft); color: var(--moveka-primary-hover); }
.homepage-public :is(a, button):focus-visible { outline: 3px solid var(--moveka-focus-dark); outline-offset: 4px; }

.offcanvas {
    --bs-offcanvas-width: min(84vw, 340px);
    color: var(--moveka-ink);
}

.offcanvas-title {
    color: var(--moveka-ink);
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 800;
}

.mobile-navigation { display: grid; gap: 12px; }
.mobile-navigation a { display: flex; padding: 10px; }
.mobile-navigation > .btn { justify-content: space-between; }
.mobile-navigation__group { padding-top: 12px; border-top: 1px solid var(--moveka-border); }
.mobile-navigation__group h3 { margin: 0 10px 4px; font-family: var(--font-body); font-size: var(--text-body); color: var(--moveka-muted); }

.homepage-footer {
    padding: 40px 0 20px;
    border-top: 1px solid var(--moveka-border);
    background: #fbfcfe;
}
.homepage-footer__grid { display: grid; grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr)); gap: 32px; }
.homepage-footer__brand p { margin-top: 8px; color: var(--moveka-muted); }
.homepage-footer__links { display: grid; align-content: start; gap: 4px; }
.homepage-footer__links h2 { margin: 0 0 8px; font-family: var(--font-body); font-size: var(--text-body); font-weight: 800; letter-spacing: normal; }
.homepage-footer__links a { display: flex; align-items: center; min-height: 36px; color: var(--moveka-muted); overflow-wrap: anywhere; }
.homepage-footer a:hover { color: var(--moveka-primary-hover); text-decoration: underline; text-underline-offset: 4px; }
.homepage-footer__bottom { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--moveka-border); padding-top: 20px; color: var(--moveka-muted); }
.homepage-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.homepage-footer__legal a { display: inline-flex; align-items: center; min-height: 36px; }

@media (max-width: 991.98px) {
    .homepage-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
    .homepage-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
    .homepage-container { width: calc(100% - 32px); }
    .homepage-header { height: 72px; }
    .homepage-header__inner, .homepage-header__actions { gap: 8px; }
    .homepage-brand { font-size: 1.5625rem; }
    .homepage-header__actions .btn { padding-inline: 12px; }
    .homepage-footer { padding: 32px 0 20px; }
    .homepage-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; }
    .homepage-footer__links a { min-height: 44px; }
    .homepage-footer__bottom { align-items: start; flex-direction: column; }
}
@media (max-width: 374.98px) {
    .homepage-container { width: calc(100% - 24px); }
    .homepage-header__actions .btn { padding-inline: 8px; }
    .homepage-header .homepage-brand { font-size: 1.25rem; }
}
