    /* ---------- DESIGN TOKENS ---------- */
    :root {
      --forest: #0E3D2E;
      --forest-deep: #072620;
      --cream: #F8F5EC;
      --cream-warm: #F1EBD8;
      --paprika: #D9531E;
      --paprika-soft: #F0B097;
      --saffron: #E8B84A;
      --ink: #17191A;
      --stone: #6B6B65;
      --line: #E5DFCF;
      --white: #FFFFFF;
      --radius-sm: 6px;
      --radius: 14px;
      --radius-lg: 24px;
      --shadow-sm: 0 1px 2px rgba(14,61,46,.06);
      --shadow: 0 12px 40px -12px rgba(14,61,46,.18);
      --shadow-lg: 0 30px 60px -20px rgba(14,61,46,.22);
      --container: 1240px;
      --font-display: 'Fraunces', Georgia, serif;
      --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    }

    /* ---------- RESET ---------- */
    *, *::before, *::after { box-sizing: border-box; }
    * { margin: 0; padding: 0; }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
    body {
      font-family: var(--font-body);
      color: var(--ink);
      background: var(--cream);
      line-height: 1.6;
      font-size: 16px;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      overflow-x: hidden;
    }
    img { max-width: 100%; height: auto; display: block; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
    input, textarea, select { font: inherit; }
    ul { list-style: none; }

    /* ---------- LAYOUT PRIMITIVES ---------- */
    .om-container {
      width: 100%;
      max-width: var(--container);
      margin-inline: auto;
      padding-inline: 24px;
    }
    .om-section { padding-block: 96px; }
    .om-eyebrow {
      font-family: var(--font-body);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--paprika);
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
    .om-eyebrow::before {
      content: "";
      width: 24px; height: 1px;
      background: var(--paprika);
    }
    .om-h1, .om-h2, .om-h3 {
      font-family: var(--font-display);
      font-weight: 500;
      color: var(--forest);
      letter-spacing: -0.02em;
      line-height: 1.05;
    }
    .om-h1 { font-size: clamp(2.4rem, 5.6vw, 4.8rem); }
    .om-h2 { font-size: clamp(1.9rem, 3.4vw, 3.1rem); line-height: 1.1; }
    .om-h3 { font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.2; }
    .om-h1 em, .om-h2 em, .om-h3 em {
      font-style: italic;
      color: var(--paprika);
      font-weight: 400;
    }
    .om-lead {
      font-size: clamp(1rem, 1.3vw, 1.15rem);
      color: var(--stone);
      max-width: 60ch;
      line-height: 1.65;
    }

    /* ---------- BUTTONS ---------- */
    .om-btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 26px;
      border-radius: 999px;
      font-weight: 600;
      font-size: 15px;
      transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
      white-space: nowrap;
      cursor: pointer;
    }
    .om-btn-primary {
      background: var(--forest);
      color: var(--cream);
    }
    .om-btn-primary:hover {
      background: var(--paprika);
      transform: translateY(-2px);
      box-shadow: var(--shadow);
    }
    .om-btn-primary:focus-visible {
      outline: 3px solid var(--saffron);
      outline-offset: 3px;
    }
    .om-btn-ghost {
      background: transparent;
      color: var(--forest);
      border: 1.5px solid var(--forest);
    }
    .om-btn-ghost:hover {
      background: var(--forest);
      color: var(--cream);
    }
    .om-btn-cream {
      background: var(--cream);
      color: var(--forest);
    }
    .om-btn-cream:hover {
      background: var(--paprika);
      color: var(--cream);
    }

    /* ============================================================
       HEADER
       ============================================================ */
    .om-header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(248, 245, 236, 0.92);
      backdrop-filter: saturate(1.4) blur(10px);
      -webkit-backdrop-filter: saturate(1.4) blur(10px);
      border-bottom: 1px solid var(--line);
    }
    .om-header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding-block: 18px;
    }
    .om-logo {
      display: flex;
      align-items: center;
      gap: 10px;
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 22px;
      color: var(--forest);
      letter-spacing: -0.01em;
    }
    .om-logo-mark {
      width: 38px; height: 38px;
      background: var(--forest);
      color: var(--cream);
      border-radius: 12px;
      display: grid;
      place-items: center;
      font-family: var(--font-display);
      font-style: italic;
      font-size: 20px;
      font-weight: 600;
    }
    .om-logo-mark span { transform: translateY(-1px); }
    .om-nav {
      display: flex;
      align-items: center;
      gap: 34px;
    }
    .om-nav a {
      font-size: 15px;
      font-weight: 500;
      color: var(--ink);
      position: relative;
      padding: 6px 0;
      transition: color .2s ease;
    }
    .om-nav a::after {
      content: "";
      position: absolute;
      left: 0; right: 100%;
      bottom: 0;
      height: 2px;
      background: var(--paprika);
      transition: right .25s ease;
    }
    .om-nav a:hover, .om-nav a.active { color: var(--forest); }
    .om-nav a:hover::after, .om-nav a.active::after { right: 0; }

    .om-header-actions {
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .om-icon-btn {
      width: 40px; height: 40px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: var(--ink);
      transition: background .2s ease, color .2s ease;
      position: relative;
    }
    .om-icon-btn:hover { background: var(--cream-warm); color: var(--forest); }
    .om-icon-btn svg { width: 20px; height: 20px; }
    .om-cart-count {
      position: absolute;
      top: 2px; right: 2px;
      background: var(--paprika);
      color: var(--cream);
      font-size: 10px;
      font-weight: 700;
      min-width: 16px;
      height: 16px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      padding: 0 4px;
    }

    /* Location display in header */
    .om-location-btn {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 14px;
      border-radius: 999px;
      background: var(--cream-warm);
      color: var(--forest);
      font-size: 13px;
      font-weight: 500;
      transition: background .2s ease;
      max-width: 220px;
    }
    .om-location-btn:hover { background: var(--saffron); }
    .om-location-btn svg { width: 15px; height: 15px; flex-shrink: 0; }
    .om-location-btn span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    /* Dropdowns (search, location, account) */
    .om-dropdown {
      position: absolute;
      top: calc(100% + 12px);
      right: 0;
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 22px;
      min-width: 320px;
      opacity: 0;
      pointer-events: none;
      transform: translateY(-8px);
      transition: opacity .2s ease, transform .2s ease;
      z-index: 200;
    }
    .om-dropdown.open {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0);
    }
    .om-dropdown h4 {
      font-family: var(--font-display);
      color: var(--forest);
      font-size: 18px;
      margin-bottom: 4px;
      font-weight: 600;
    }
    .om-dropdown p.hint {
      font-size: 13px;
      color: var(--stone);
      margin-bottom: 14px;
    }
    .om-field {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-bottom: 12px;
    }
    .om-field label {
      font-size: 12px;
      font-weight: 600;
      color: var(--forest);
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .om-field input, .om-field select, .om-field textarea {
      width: 100%;
      padding: 11px 14px;
      border: 1px solid var(--line);
      background: var(--cream);
      border-radius: 10px;
      color: var(--ink);
      transition: border-color .2s ease, background .2s ease;
    }
    .om-field input:focus, .om-field select:focus, .om-field textarea:focus {
      outline: none;
      border-color: var(--forest);
      background: var(--white);
    }
    .om-search-input {
      display: flex;
      align-items: center;
      gap: 10px;
      background: var(--cream);
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 10px 16px;
    }
    .om-search-input input {
      border: none;
      background: none;
      flex: 1;
      outline: none;
      font-size: 14px;
    }
    .om-quick-suggestions {
      margin-top: 14px;
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .om-quick-suggestions button {
      font-size: 12px;
      color: var(--stone);
      padding: 6px 12px;
      background: var(--cream);
      border-radius: 999px;
      transition: background .2s ease, color .2s ease;
    }
    .om-quick-suggestions button:hover { background: var(--forest); color: var(--cream); }

    /* Mobile menu button */
    .om-menu-toggle {
      display: none;
      width: 40px; height: 40px;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 5px;
      border-radius: 8px;
    }
    .om-menu-toggle span {
      display: block;
      width: 20px; height: 2px;
      background: var(--ink);
      transition: transform .3s ease, opacity .2s ease;
    }
    .om-menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .om-menu-toggle.open span:nth-child(2) { opacity: 0; }
    .om-menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* Mobile drawer */
    .om-mobile-drawer {
      position: fixed;
      inset: 0;
      background: var(--cream);
      z-index: 90;
      padding: 96px 24px 40px;
      transform: translateX(100%);
      transition: transform .35s ease;
      overflow-y: auto;
    }
    .om-mobile-drawer.open { transform: translateX(0); }
    .om-mobile-drawer nav ul { display: flex; flex-direction: column; gap: 4px; }
    .om-mobile-drawer nav a {
      display: block;
      font-family: var(--font-display);
      font-size: 32px;
      font-weight: 500;
      color: var(--forest);
      padding: 14px 0;
      border-bottom: 1px solid var(--line);
    }
    .om-mobile-drawer nav a.active { color: var(--paprika); font-style: italic; }
    .om-mobile-utility {
      margin-top: 32px;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .om-mobile-utility .om-btn { justify-content: center; }

    /* ============================================================
       HERO (HOME)
       ============================================================ */
    .om-hero {
      padding-block: clamp(48px, 6vw, 80px) clamp(48px, 6vw, 96px);
      position: relative;
      overflow: hidden;
    }
    .om-hero-grid {
      display: grid;
      grid-template-columns: 1.05fr 1fr;
      gap: 60px;
      align-items: center;
    }
    .om-hero-copy .om-eyebrow { margin-bottom: 22px; }
    .om-hero-copy h1 { margin-bottom: 24px; }
    .om-hero-copy .om-lead { margin-bottom: 32px; }
    .om-hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 40px; }
    .om-hero-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      max-width: 480px;
      border-top: 1px solid var(--line);
      padding-top: 28px;
    }
    .om-stat-num {
      font-family: var(--font-display);
      font-size: clamp(1.7rem, 2.4vw, 2.1rem);
      color: var(--forest);
      font-weight: 600;
      line-height: 1;
    }
    .om-stat-label {
      font-size: 12px;
      color: var(--stone);
      margin-top: 6px;
      letter-spacing: .04em;
    }

    /* Hero visual: layered images */
    .om-hero-visual {
      position: relative;
      aspect-ratio: 4 / 5;
      max-width: 560px;
      margin-left: auto;
    }
    .om-hero-visual .main-img {
      position: absolute;
      inset: 0;
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow-lg);
    }
    .om-hero-visual .main-img img {
      width: 100%; height: 100%;
      object-fit: cover;
    }
    .om-hero-visual .badge-card {
      position: absolute;
      background: var(--white);
      padding: 16px 20px;
      border-radius: 14px;
      box-shadow: var(--shadow);
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .om-hero-visual .badge-top {
      top: 24px;
      left: -24px;
    }
    .om-hero-visual .badge-bottom {
      bottom: 32px;
      right: -24px;
    }
    .badge-icon {
      width: 40px; height: 40px;
      background: var(--cream-warm);
      color: var(--forest);
      border-radius: 10px;
      display: grid;
      place-items: center;
    }
    .badge-icon svg { width: 20px; height: 20px; }
    .badge-title { font-weight: 600; color: var(--forest); font-size: 14px; }
    .badge-sub { font-size: 12px; color: var(--stone); }

    /* ---------- TRUST STRIP ---------- */
    .om-trust {
      background: var(--forest);
      color: var(--cream);
      padding-block: 28px;
    }
    .om-trust-inner {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 40px;
      align-items: center;
    }
    .om-trust-item {
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .om-trust-item svg { width: 26px; height: 26px; flex-shrink: 0; color: var(--saffron); }
    .om-trust-item div strong {
      display: block;
      font-family: var(--font-display);
      font-size: 15px;
      font-weight: 600;
      color: var(--cream);
    }
    .om-trust-item div span {
      font-size: 12px;
      color: var(--paprika-soft);
    }

    /* ---------- BENEFITS ---------- */
    .om-benefits { background: var(--cream); }
    .om-section-head {
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: 48px;
      align-items: end;
      margin-bottom: 60px;
    }
    .om-section-head h2 { margin-top: 20px; }
    .om-benefits-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
    .om-benefit-card {
      background: var(--white);
      padding: 36px 30px;
      border-radius: var(--radius);
      border: 1px solid var(--line);
      transition: transform .3s ease, box-shadow .3s ease;
      position: relative;
      overflow: hidden;
    }
    .om-benefit-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow);
    }
    .om-benefit-num {
      font-family: var(--font-display);
      font-style: italic;
      font-size: 40px;
      color: var(--paprika-soft);
      font-weight: 500;
      line-height: 1;
      margin-bottom: 18px;
    }
    .om-benefit-card h3 {
      font-family: var(--font-display);
      font-size: 22px;
      color: var(--forest);
      font-weight: 600;
      margin-bottom: 12px;
    }
    .om-benefit-card p {
      color: var(--stone);
      font-size: 14.5px;
      line-height: 1.65;
    }

    /* ---------- CATEGORIES (services preview) ---------- */
    .om-categories { background: var(--cream-warm); }
    .om-cat-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }
    .om-cat-card {
      background: var(--white);
      border-radius: var(--radius);
      overflow: hidden;
      transition: transform .3s ease, box-shadow .3s ease;
      display: block;
    }
    .om-cat-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow);
    }
    .om-cat-image {
      aspect-ratio: 4 / 3;
      overflow: hidden;
      position: relative;
    }
    .om-cat-image img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform .5s ease;
    }
    .om-cat-card:hover .om-cat-image img { transform: scale(1.05); }
    .om-cat-body { padding: 22px 22px 26px; }
    .om-cat-tag {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--paprika);
      margin-bottom: 6px;
      display: block;
    }
    .om-cat-body h3 {
      font-family: var(--font-display);
      font-size: 22px;
      color: var(--forest);
      font-weight: 600;
      margin-bottom: 8px;
    }
    .om-cat-body p {
      color: var(--stone);
      font-size: 14px;
      margin-bottom: 14px;
    }
    .om-cat-link {
      color: var(--forest);
      font-weight: 600;
      font-size: 13px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .om-cat-link::after { content: "→"; transition: transform .2s ease; }
    .om-cat-card:hover .om-cat-link::after { transform: translateX(4px); }

    /* ---------- TESTIMONIALS ---------- */
    .om-testimonials { background: var(--forest); color: var(--cream); position: relative; overflow: hidden; }
    .om-testimonials .om-eyebrow { color: var(--saffron); }
    .om-testimonials .om-eyebrow::before { background: var(--saffron); }
    .om-testimonials .om-h2 { color: var(--cream); }
    .om-testimonials .om-h2 em { color: var(--saffron); }
    .om-testi-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 56px;
    }
    .om-testi-card {
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.1);
      padding: 32px 28px;
      border-radius: var(--radius);
      backdrop-filter: blur(4px);
    }
    .om-quote-mark {
      font-family: var(--font-display);
      font-style: italic;
      font-size: 60px;
      line-height: 1;
      color: var(--saffron);
      margin-bottom: -8px;
    }
    .om-testi-card blockquote {
      font-family: var(--font-display);
      font-size: 18px;
      line-height: 1.5;
      color: var(--cream);
      margin-bottom: 22px;
      font-weight: 400;
    }
    .om-testi-author {
      display: flex;
      align-items: center;
      gap: 12px;
      padding-top: 20px;
      border-top: 1px solid rgba(255,255,255,.15);
    }
    .om-testi-avatar {
      width: 44px; height: 44px;
      border-radius: 50%;
      background: var(--paprika);
      color: var(--cream);
      display: grid;
      place-items: center;
      font-weight: 600;
      font-family: var(--font-display);
    }
    .om-testi-name { font-weight: 600; font-size: 14px; }
    .om-testi-loc { font-size: 12px; color: var(--paprika-soft); }

    /* ---------- ABOUT PREVIEW ---------- */
    .om-about-preview { background: var(--cream); }
    .om-about-grid {
      display: grid;
      grid-template-columns: 1fr 1.1fr;
      gap: 60px;
      align-items: center;
    }
    .om-about-image {
      aspect-ratio: 5 / 4;
      border-radius: var(--radius-lg);
      overflow: hidden;
      position: relative;
    }
    .om-about-image img { width: 100%; height: 100%; object-fit: cover; }
    .om-about-badge {
      position: absolute;
      bottom: 24px; left: 24px;
      background: var(--cream);
      padding: 14px 20px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      gap: 12px;
      box-shadow: var(--shadow);
    }
    .om-about-badge svg { width: 22px; height: 22px; color: var(--paprika); }
    .om-about-badge strong { font-family: var(--font-display); color: var(--forest); font-size: 15px; display: block; }
    .om-about-badge span { font-size: 12px; color: var(--stone); }
    .om-about-copy .om-eyebrow { margin-bottom: 20px; }
    .om-about-copy h2 { margin-bottom: 22px; }
    .om-about-copy p { color: var(--stone); font-size: 15.5px; line-height: 1.7; margin-bottom: 18px; }
    .om-about-values {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin: 28px 0;
    }
    .om-value-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }
    .om-value-item svg {
      width: 20px; height: 20px;
      color: var(--paprika);
      flex-shrink: 0;
      margin-top: 3px;
    }
    .om-value-item strong { display: block; color: var(--forest); font-size: 14.5px; font-weight: 600; }
    .om-value-item span { font-size: 13px; color: var(--stone); }

    /* ---------- FINAL CTA ---------- */
    .om-final-cta {
      padding: 100px 0;
      background: var(--paprika);
      color: var(--cream);
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .om-final-cta::before,
    .om-final-cta::after {
      content: "";
      position: absolute;
      background: rgba(255,255,255,.08);
      border-radius: 50%;
    }
    .om-final-cta::before { width: 300px; height: 300px; top: -100px; left: -80px; }
    .om-final-cta::after { width: 220px; height: 220px; bottom: -80px; right: -60px; }
    .om-final-cta .om-container { position: relative; z-index: 1; }
    .om-final-cta h2 { color: var(--cream); font-size: clamp(2rem, 4vw, 3.4rem); }
    .om-final-cta h2 em { color: var(--forest); font-style: italic; }
    .om-final-cta p { max-width: 560px; margin: 20px auto 36px; color: rgba(255,255,255,.9); font-size: 17px; }
    .om-final-cta .om-btn-cream { background: var(--forest); color: var(--cream); }
    .om-final-cta .om-btn-cream:hover { background: var(--cream); color: var(--forest); }

    /* ============================================================
       ABOUT PAGE
       ============================================================ */
    .om-page-hero {
      padding: 80px 0 64px;
      background: var(--cream-warm);
      position: relative;
    }
    .om-page-hero .om-container {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 40px;
      align-items: end;
    }
    .om-page-hero .om-eyebrow { margin-bottom: 18px; }
    .om-page-hero h1 { margin-bottom: 8px; }
    .om-page-hero p { color: var(--stone); font-size: 17px; max-width: 52ch; }
    .om-breadcrumb {
      display: flex;
      gap: 8px;
      align-items: center;
      font-size: 13px;
      color: var(--stone);
      margin-bottom: 20px;
    }
    .om-breadcrumb a { color: var(--forest); }
    .om-breadcrumb span { color: var(--stone); }

    .om-story-section {
      padding: 96px 0;
      background: var(--cream);
    }
    .om-story-grid {
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 60px;
      align-items: start;
    }
    .om-story-image {
      aspect-ratio: 4/5;
      border-radius: var(--radius-lg);
      overflow: hidden;
      position: sticky;
      top: 100px;
    }
    .om-story-image img { width: 100%; height: 100%; object-fit: cover; }
    .om-story-blocks h3 {
      font-family: var(--font-display);
      color: var(--forest);
      font-size: clamp(1.6rem, 2.4vw, 2rem);
      font-weight: 500;
      margin-bottom: 16px;
      letter-spacing: -0.01em;
    }
    .om-story-blocks h3 em { color: var(--paprika); font-style: italic; }
    .om-story-blocks p {
      color: var(--stone);
      font-size: 16px;
      line-height: 1.75;
      margin-bottom: 18px;
    }
    .om-story-blocks .story-block {
      padding-bottom: 44px;
      margin-bottom: 44px;
      border-bottom: 1px solid var(--line);
    }
    .om-story-blocks .story-block:last-child {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0;
    }

    /* Difference grid */
    .om-diff-section {
      padding: 96px 0;
      background: var(--cream-warm);
    }
    .om-diff-head {
      text-align: center;
      max-width: 720px;
      margin: 0 auto 60px;
    }
    .om-diff-head .om-eyebrow { justify-content: center; margin-bottom: 20px; }
    .om-diff-head .om-eyebrow::before { display: none; }
    .om-diff-head p { color: var(--stone); font-size: 16px; margin-top: 16px; }
    .om-diff-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }
    .om-diff-card {
      background: var(--white);
      padding: 32px 28px;
      border-radius: var(--radius);
      border: 1px solid var(--line);
    }
    .om-diff-icon {
      width: 52px; height: 52px;
      background: var(--forest);
      color: var(--cream);
      border-radius: 14px;
      display: grid;
      place-items: center;
      margin-bottom: 20px;
    }
    .om-diff-icon svg { width: 24px; height: 24px; }
    .om-diff-card h4 {
      font-family: var(--font-display);
      color: var(--forest);
      font-size: 20px;
      font-weight: 600;
      margin-bottom: 10px;
    }
    .om-diff-card p { color: var(--stone); font-size: 14.5px; line-height: 1.65; }

    /* ============================================================
       SHOP PAGE
       ============================================================ */
    .om-shop-section { padding: 60px 0 96px; background: var(--cream); }
    .om-filter-bar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      flex-wrap: wrap;
      padding: 20px;
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      margin-bottom: 40px;
    }
    .om-filters {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .om-filter {
      padding: 10px 18px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 500;
      color: var(--stone);
      background: var(--cream);
      border: 1px solid transparent;
      transition: all .2s ease;
    }
    .om-filter:hover { color: var(--forest); }
    .om-filter.active {
      background: var(--forest);
      color: var(--cream);
    }
    .om-sort {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 14px;
      color: var(--stone);
    }
    .om-sort select {
      background: var(--cream);
      border: 1px solid var(--line);
      padding: 9px 14px;
      border-radius: 999px;
      color: var(--ink);
      font-weight: 500;
      cursor: pointer;
    }
    .om-product-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }
    .om-product-card {
      background: var(--white);
      border-radius: var(--radius);
      overflow: hidden;
      border: 1px solid var(--line);
      transition: transform .3s ease, box-shadow .3s ease;
      display: flex;
      flex-direction: column;
    }
    .om-product-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow);
    }
    .om-product-image {
      aspect-ratio: 1;
      background: var(--cream-warm);
      overflow: hidden;
      position: relative;
    }
    .om-product-image img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform .5s ease;
    }
    .om-product-card:hover .om-product-image img { transform: scale(1.05); }
    .om-product-badge {
      position: absolute;
      top: 14px; left: 14px;
      background: var(--forest);
      color: var(--cream);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .1em;
      padding: 6px 10px;
      border-radius: 6px;
      text-transform: uppercase;
    }
    .om-product-badge.new { background: var(--paprika); }
    .om-product-badge.hot { background: var(--saffron); color: var(--forest); }
    .om-product-body {
      padding: 20px 20px 22px;
      display: flex;
      flex-direction: column;
      flex: 1;
    }
    .om-product-cat {
      font-size: 11px;
      font-weight: 600;
      color: var(--paprika);
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: 6px;
    }
    .om-product-card h4 {
      font-family: var(--font-display);
      color: var(--forest);
      font-size: 18px;
      font-weight: 600;
      margin-bottom: 4px;
      line-height: 1.2;
    }
    .om-product-weight {
      font-size: 13px;
      color: var(--stone);
      margin-bottom: 16px;
    }
    .om-product-footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: auto;
    }
    .om-product-price {
      font-family: var(--font-display);
      color: var(--forest);
      font-weight: 600;
      font-size: 20px;
    }
    .om-product-price span {
      font-size: 12px;
      color: var(--stone);
      font-weight: 400;
      font-family: var(--font-body);
    }
    .om-add-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--forest);
      color: var(--cream);
      padding: 8px 14px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      transition: background .2s ease, transform .2s ease;
    }
    .om-add-btn:hover { background: var(--paprika); transform: scale(1.03); }
    .om-add-btn svg { width: 14px; height: 14px; }

    .om-empty-state {
      text-align: center;
      padding: 60px 20px;
      grid-column: 1 / -1;
      color: var(--stone);
    }

    /* ============================================================
       CONTACT PAGE
       ============================================================ */
    .om-contact-section { padding: 80px 0; background: var(--cream); }
    .om-contact-grid {
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 60px;
      align-items: start;
    }
    .om-contact-info h2 { margin-bottom: 20px; }
    .om-contact-info p.lead { color: var(--stone); font-size: 16px; margin-bottom: 32px; }
    .om-contact-list { display: flex; flex-direction: column; gap: 20px; margin-bottom: 32px; }
    .om-contact-item {
      display: flex;
      gap: 16px;
      padding: 20px;
      background: var(--white);
      border-radius: var(--radius);
      border: 1px solid var(--line);
    }
    .om-contact-item-icon {
      width: 44px; height: 44px;
      background: var(--cream-warm);
      color: var(--forest);
      border-radius: 12px;
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }
    .om-contact-item-icon svg { width: 20px; height: 20px; }
    .om-contact-item strong {
      display: block;
      color: var(--forest);
      font-weight: 600;
      font-size: 14.5px;
      margin-bottom: 2px;
    }
    .om-contact-item span { color: var(--stone); font-size: 14px; line-height: 1.5; }
    .om-contact-item a { color: var(--stone); }
    .om-contact-item a:hover { color: var(--paprika); }

    .om-social-row { display: flex; gap: 10px; }
    .om-social-row a {
      width: 42px; height: 42px;
      border-radius: 50%;
      background: var(--white);
      border: 1px solid var(--line);
      display: grid;
      place-items: center;
      color: var(--forest);
      transition: background .2s ease, color .2s ease, transform .2s ease;
    }
    .om-social-row a:hover {
      background: var(--forest);
      color: var(--cream);
      transform: translateY(-3px);
    }
    .om-social-row a svg { width: 18px; height: 18px; }

    /* Contact form */
    .om-contact-form-wrap {
      background: var(--white);
      padding: 40px;
      border-radius: var(--radius-lg);
      border: 1px solid var(--line);
      box-shadow: var(--shadow-sm);
    }
    .om-contact-form-wrap h3 {
      font-family: var(--font-display);
      color: var(--forest);
      font-size: 26px;
      font-weight: 600;
      margin-bottom: 6px;
    }
    .om-contact-form-wrap > p {
      color: var(--stone);
      font-size: 14px;
      margin-bottom: 28px;
    }
    .om-form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .om-form-msg {
      padding: 14px;
      border-radius: 10px;
      font-size: 14px;
      margin-top: 14px;
      display: none;
    }
    .om-form-msg.success {
      display: block;
      background: rgba(14,61,46,.08);
      color: var(--forest);
      border: 1px solid rgba(14,61,46,.15);
    }

    /* Map */
    .om-map-section { padding-bottom: 96px; background: var(--cream); }
    .om-map-wrap {
      aspect-ratio: 21/9;
      border-radius: var(--radius-lg);
      overflow: hidden;
      border: 1px solid var(--line);
    }
    .om-map-wrap iframe { width: 100%; height: 100%; border: 0; display: block; }

    /* ============================================================
       TERMS PAGE
       ============================================================ */
    .om-terms-section {
      padding: 80px 0 96px;
      background: var(--cream);
    }
    .om-terms-grid {
      display: grid;
      grid-template-columns: 260px 1fr;
      gap: 60px;
      align-items: start;
    }
    .om-terms-nav {
      position: sticky;
      top: 100px;
      padding: 22px;
      background: var(--white);
      border-radius: var(--radius);
      border: 1px solid var(--line);
    }
    .om-terms-nav h4 {
      font-family: var(--font-display);
      color: var(--forest);
      font-size: 15px;
      font-weight: 600;
      margin-bottom: 14px;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .om-terms-nav ul { display: flex; flex-direction: column; gap: 4px; }
    .om-terms-nav a {
      display: block;
      padding: 9px 12px;
      border-radius: 8px;
      font-size: 14px;
      color: var(--stone);
      transition: background .2s ease, color .2s ease;
    }
    .om-terms-nav a:hover { background: var(--cream); color: var(--forest); }
    .om-terms-nav a.active { background: var(--forest); color: var(--cream); font-weight: 500; }

    .om-terms-content article {
      padding: 40px;
      background: var(--white);
      border-radius: var(--radius);
      border: 1px solid var(--line);
      margin-bottom: 24px;
    }
    .om-terms-content article h2 {
      font-family: var(--font-display);
      color: var(--forest);
      font-size: 28px;
      font-weight: 600;
      margin-bottom: 8px;
    }
    .om-terms-content article > p.intro {
      color: var(--stone);
      font-size: 14.5px;
      margin-bottom: 22px;
      padding-bottom: 22px;
      border-bottom: 1px solid var(--line);
    }
    .om-terms-content h3 {
      font-family: var(--font-display);
      color: var(--forest);
      font-size: 18px;
      font-weight: 600;
      margin: 20px 0 10px;
    }
    .om-terms-content p, .om-terms-content li {
      color: var(--stone);
      font-size: 15px;
      line-height: 1.7;
      margin-bottom: 10px;
    }
    .om-terms-content ul { padding-left: 20px; margin-bottom: 14px; }
    .om-terms-content li { list-style: disc; padding-left: 4px; }

    .om-callout {
      display: flex;
      gap: 16px;
      padding: 22px;
      background: var(--cream-warm);
      border-radius: 12px;
      border-left: 4px solid var(--paprika);
      margin: 20px 0;
    }
    .om-callout svg {
      width: 22px; height: 22px;
      color: var(--paprika);
      flex-shrink: 0;
      margin-top: 2px;
    }
    .om-callout strong { color: var(--forest); font-weight: 600; display: block; margin-bottom: 6px; }
    .om-callout p { margin-bottom: 0; color: var(--forest); font-size: 14.5px; }

    /* ============================================================
       FOOTER
       ============================================================ */
    .om-footer {
      background: var(--forest-deep);
      color: var(--cream);
      padding: 80px 0 30px;
    }
    .om-footer-grid {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
      gap: 60px;
      margin-bottom: 60px;
    }
    .om-footer .om-logo { color: var(--cream); margin-bottom: 18px; }
    .om-footer .om-logo-mark { background: var(--paprika); }
    .om-footer .footer-about {
      color: rgba(248, 245, 236, 0.65);
      font-size: 14.5px;
      line-height: 1.65;
      margin-bottom: 24px;
      max-width: 360px;
    }
    .om-footer h5 {
      font-family: var(--font-display);
      color: var(--cream);
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 18px;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .om-footer-links ul, .om-footer-contact ul { display: flex; flex-direction: column; gap: 10px; }
    .om-footer-links a, .om-footer-contact a {
      color: rgba(248, 245, 236, 0.7);
      font-size: 14.5px;
      transition: color .2s ease;
    }
    .om-footer-links a:hover, .om-footer-contact a:hover { color: var(--paprika-soft); }
    .om-footer-contact li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      color: rgba(248, 245, 236, 0.7);
      font-size: 14.5px;
    }
    .om-footer-contact svg {
      width: 16px; height: 16px;
      color: var(--saffron);
      flex-shrink: 0;
      margin-top: 3px;
    }
    .om-footer .om-social-row a {
      background: rgba(255,255,255,.08);
      color: var(--cream);
      border-color: transparent;
    }
    .om-footer .om-social-row a:hover { background: var(--paprika); }
    .om-newsletter {
      display: flex;
      gap: 6px;
      background: rgba(255,255,255,.08);
      padding: 6px;
      border-radius: 999px;
      margin-top: 16px;
    }
    .om-newsletter input {
      flex: 1;
      background: none;
      border: none;
      padding: 10px 16px;
      color: var(--cream);
      outline: none;
      font-size: 14px;
    }
    .om-newsletter input::placeholder { color: rgba(248, 245, 236, 0.5); }
    .om-newsletter button {
      background: var(--paprika);
      color: var(--cream);
      padding: 10px 20px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      transition: background .2s ease;
    }
    .om-newsletter button:hover { background: var(--saffron); color: var(--forest); }

    .om-footer-bottom {
      padding-top: 30px;
      border-top: 1px solid rgba(255,255,255,.1);
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 14px;
      font-size: 13.5px;
      color: rgba(248, 245, 236, 0.5);
    }
    .om-footer-bottom a { color: rgba(248, 245, 236, 0.7); }
    .om-footer-bottom a:hover { color: var(--paprika-soft); }
    .om-footer-legal { display: flex; gap: 20px; flex-wrap: wrap; }

    /* ============================================================
       PAGE SWITCHER
       ============================================================ */
    .om-page { display: none; }
    .om-page.active { display: block; }

    /* Toast */
    .om-toast {
      position: fixed;
      bottom: 24px;
      right: 24px;
      background: var(--forest);
      color: var(--cream);
      padding: 14px 20px;
      border-radius: 12px;
      font-size: 14px;
      font-weight: 500;
      box-shadow: var(--shadow-lg);
      z-index: 300;
      opacity: 0;
      transform: translateY(20px);
      pointer-events: none;
      transition: opacity .3s ease, transform .3s ease;
    }
    .om-toast.show { opacity: 1; transform: translateY(0); }

    /* ============================================================
       RESPONSIVE — TABLET & BELOW
       ============================================================ */
    @media (max-width: 1100px) {
      .om-nav { gap: 24px; }
      .om-location-btn { display: none; }
      .om-hero-grid { grid-template-columns: 1fr; gap: 48px; }
      .om-hero-visual { max-width: 480px; margin: 0 auto; }
      .om-section-head { grid-template-columns: 1fr; gap: 20px; margin-bottom: 44px; }
      .om-benefits-grid { grid-template-columns: repeat(3, 1fr); }
      .om-cat-grid { grid-template-columns: repeat(2, 1fr); }
      .om-testi-grid { grid-template-columns: 1fr; max-width: 640px; margin-inline: auto; }
      .om-about-grid { grid-template-columns: 1fr; gap: 40px; }
      .om-about-image { max-width: 560px; margin-inline: auto; }
      .om-trust-inner { grid-template-columns: repeat(2, 1fr); gap: 24px; }
      .om-product-grid { grid-template-columns: repeat(3, 1fr); }
      .om-page-hero .om-container { grid-template-columns: 1fr; }
      .om-story-grid { grid-template-columns: 1fr; }
      .om-story-image { position: relative; top: 0; max-width: 520px; }
      .om-diff-grid { grid-template-columns: repeat(2, 1fr); }
      .om-contact-grid { grid-template-columns: 1fr; }
      .om-terms-grid { grid-template-columns: 1fr; }
      .om-terms-nav { position: relative; top: 0; }
      .om-footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    }

    @media (max-width: 780px) {
      .om-section { padding-block: 64px; }
      .om-nav { display: none; }
      .om-menu-toggle { display: flex; }
      .om-benefits-grid { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; }
      .om-cat-grid { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
      .om-product-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
      .om-trust-inner { grid-template-columns: 1fr 1fr; }
      .om-hero-visual .badge-top { left: 12px; top: 12px; }
      .om-hero-visual .badge-bottom { right: 12px; bottom: 16px; }
      .om-hero-stats { grid-template-columns: 1fr; gap: 16px; text-align: left; }
      .om-form-row { grid-template-columns: 1fr; }
      .om-contact-form-wrap { padding: 26px; }
      .om-terms-content article { padding: 26px; }
      .om-footer-grid { grid-template-columns: 1fr; gap: 40px; }
      .om-footer { padding-top: 60px; }
      .om-footer-bottom { justify-content: center; text-align: center; }
      .om-filter-bar { padding: 14px; gap: 14px; }
      .om-sort { width: 100%; justify-content: space-between; }
      .om-page-hero { padding: 60px 0 44px; }
      .om-page-hero h1 { font-size: clamp(2rem, 8vw, 2.8rem); }
      .om-story-blocks .story-block { padding-bottom: 32px; margin-bottom: 32px; }
      .om-final-cta { padding: 72px 0; }
      .om-dropdown { min-width: min(90vw, 320px); right: -10px; }
    }

    @media (max-width: 500px) {
      .om-container { padding-inline: 18px; }
      .om-header-inner { padding-block: 14px; gap: 12px; }
      .om-logo { font-size: 18px; gap: 8px; }
      .om-logo-mark { width: 34px; height: 34px; font-size: 18px; border-radius: 10px; }
      .om-header-actions { gap: 0; }
      .om-icon-btn { width: 38px; height: 38px; }
      .om-header-actions #accountBtn { display: none; }
      .om-hero { padding-block: 32px 48px; }
      .om-h1 { font-size: 2.2rem; }
      .om-h2 { font-size: 1.75rem; }
      .om-hero-copy .om-lead { font-size: 15px; }
      .om-hero-ctas { flex-direction: column; align-items: stretch; }
      .om-hero-ctas .om-btn { justify-content: center; }
      .om-benefit-card, .om-diff-card { padding: 26px 22px; }
      .om-trust-inner { grid-template-columns: 1fr; }
      .om-testi-card { padding: 24px 22px; }
      .om-product-grid { grid-template-columns: 1fr; max-width: 340px; margin-inline: auto; }
      .om-contact-form-wrap { padding: 22px; }
      .om-map-wrap { aspect-ratio: 4/3; }
      .om-terms-content article { padding: 22px; }
      .om-final-cta { padding: 56px 0; }
      .om-mobile-drawer nav a { font-size: 26px; }
      .om-newsletter { flex-direction: column; padding: 10px; border-radius: 14px; }
      .om-newsletter input { text-align: center; }
      .om-newsletter button { width: 100%; }
    }

    @media (max-width: 360px) {
      .om-hero-visual .badge-card { padding: 10px 12px; }
      .om-hero-visual .badge-title { font-size: 12px; }
      .om-hero-visual .badge-sub { font-size: 10px; }
      .badge-icon { width: 32px; height: 32px; }
      .badge-icon svg { width: 16px; height: 16px; }
    }

    /* Reduced motion */
    @media (prefers-reduced-motion: reduce) {
      * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
      html { scroll-behavior: auto; }
    }

    /* Focus visible */
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
      outline: 3px solid var(--saffron);
      outline-offset: 2px;
      border-radius: 4px;
    }
