  @import url('https://fonts.googleapis.com/css2?family=Bitter:wght@400;600;700&family=Barlow+Condensed:wght@500;600&family=Cinzel:wght@600;700&display=swap');

  :root {
    --radius: 3px;
    --bg: #16110f;
    --bg-soft: #1f1815;
    --card: #f5f0e6;
    --card-2: #e8dcc8;
    --border: #3a2c24;
    --text: #f5f0e6;
    --text-dark: #1a1210;
    --muted: #9a8a78;
    --accent: #7a1f1f;
    --accent-2: #5ec4c4;
    --brass: #b8863b;
    --danger: #a62f1f;
    --ok: #5d7a33;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  body {
    background: var(--bg);
    color: var(--text);
    font-family: 'Bitter', serif;
    line-height: 1.55;
  }

  h1, h2, h3, .brand, nav a, .btn, .tag {
    font-family: 'Barlow Condensed', sans-serif;
  }

  a { color: inherit; text-decoration: none; }

  /* ---------- Header ---------- */
  header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 48px;
    border-bottom: 2px solid var(--accent-2);
    background: var(--bg);
    position: sticky;
    top: 0;
    z-index: 10;
  }

  .brand {
    display: flex;
    align-items: center;
    gap: 16px;
  }

  a.brand { color: inherit; }

  .brand:hover .brand-orca { color: var(--accent-2); }
  .brand-orca { transition: color 0.15s ease; }

  .mark {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--accent);
    border: 2px solid var(--border);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cinzel', serif;
    font-size: 0.55rem;
    color: var(--muted);
    overflow: hidden;
  }

  .mark img { width: 100%; height: 100%; object-fit: cover; }

  .mark-flip { transform: scaleX(-1); }

  .brand-text { display: flex; flex-direction: column; }

  .brand-orca {
    font-family: 'Cinzel', serif;
    font-weight: 700;
    font-size: 1.7rem;
    letter-spacing: 0.12em;
    line-height: 1;
    color: var(--text);
  }

  .brand-full {
    font-family: 'Bitter', serif;
    font-weight: 400;
    font-size: 0.78rem;
    color: var(--muted);
    letter-spacing: 0.02em;
    margin-top: 3px;
  }

  .brand small {
    display: block;
    font-family: 'Bitter', serif;
    font-size: 0.68rem;
    color: var(--muted);
    letter-spacing: normal;
    font-weight: 400;
    margin-top: 2px;
  }

  nav ul {
    display: flex;
    gap: 34px;
    list-style: none;
    font-size: 1.05rem;
    font-weight: 500;
  }

  nav a {
    padding-bottom: 4px;
    border-bottom: 2px solid transparent;
    transition: border-color 0.15s ease, color 0.15s ease;
  }

  nav a:hover, nav a:focus-visible, nav a.active {
    color: var(--accent-2);
    border-color: var(--accent-2);
  }

  .header-cta {
    background: transparent;
    border: 1px solid var(--brass);
    color: var(--brass);
    padding: 8px 18px;
    border-radius: var(--radius);
    font-size: 1rem;
    font-weight: 500;
    transition: background 0.15s ease, color 0.15s ease;
  }

  .header-cta:hover { background: var(--brass); color: var(--text-dark); }

  /* ---------- Hero ---------- */
  .hero {
    position: relative;
    min-height: 78vh;
    display: flex;
    align-items: flex-end;
    padding: 0 48px 64px;
    background-image:
      linear-gradient(180deg, rgba(22,17,15,0.35) 0%, rgba(22,17,15,0.65) 55%, rgba(22,17,15,0.96) 100%),
      url("img/columbia-river-valley-landscape-in-oregon.jpg");
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
    background-size: cover, cover;
    border-bottom: 1px solid var(--border);
    overflow: hidden;
  }

  .hero-content { max-width: 640px; position: relative; z-index: 1; }

  .tag {
    display: inline-block;
    background: var(--accent-2);
    color: var(--text-dark);
    font-size: 0.95rem;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: var(--radius);
    margin-bottom: 18px;
    letter-spacing: 0.03em;
  }

  .hero h1 {
    font-size: 3.1rem;
    font-weight: 700;
    line-height: 1.08;
    margin-bottom: 18px;
    color: var(--text);
  }

  .hero p {
    font-size: 1.15rem;
    color: var(--card-2);
    max-width: 52ch;
    margin-bottom: 30px;
  }

  .hero-actions { display: flex; gap: 16px; }

  .btn {
    display: inline-block;
    padding: 13px 28px;
    border-radius: var(--radius);
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: transform 0.12s ease, background 0.15s ease;
  }

  .btn-primary { background: var(--accent-2); color: var(--text-dark); }
  .btn-primary:hover { background: #7dd4d4; }

  .btn-outline { background: transparent; border: 1px solid var(--muted); color: var(--text); }
  .btn-outline:hover { border-color: var(--text); }

  /* ---------- Section shared ---------- */
  section { padding: 84px 48px; }
  .section-inner { max-width: 1120px; margin: 0 auto; }

  .eyebrow-free-heading {
    font-size: 2.1rem;
    font-weight: 700;
    margin-bottom: 14px;
    max-width: 20ch;
    border-left: 4px solid var(--accent-2);
    padding-left: 20px;
  }

  .section-lede {
    color: var(--muted);
    font-size: 1.08rem;
    max-width: 62ch;
    margin-bottom: 44px;
    padding-left: 20px;
  }

  /* ---------- Formline divider ---------- */
  .formline-divider {
    width: 100%;
    height: 40px;
    background: var(--bg-soft);
    color: var(--accent-2);
    opacity: 0.6;
  }
  .formline-divider svg { display: block; width: 100%; height: 100%; }

  /* ---------- Origin / heritage band ---------- */
  .origin {
    background: var(--bg-soft);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }

  .origin .section-inner {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 48px;
    align-items: center;
  }

  .origin-mark {
    width: 200px;
    aspect-ratio: 1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(245,240,230,0.4);
    font-size: 0.8rem;
    text-align: center;
    padding: 16px;
  }

  .origin-text p { margin-bottom: 18px; color: var(--card-2); font-size: 1.05rem; }
  .origin-text p:last-child { margin-bottom: 0; }

  /* Interior pages that reuse the soft .origin band but stack normal content */
  .origin.stack .section-inner { display: block; }

  /* ---------- Product tiers ---------- */
  .tiers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }

  .tier-card { border-left: 3px solid var(--accent-2); padding-left: 22px; }
  .tier-card.tier-duty { border-left-color: var(--brass); }
  .tier-card.tier-military { border-left-color: var(--accent); }
  .tier-card h3 { font-size: 1.3rem; font-weight: 600; margin-bottom: 10px; }
  .tier-card p { color: var(--muted); font-size: 0.98rem; }

  /* ---------- Product / catalog cards ---------- */
  .catalog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    background: var(--border);
    border: 1px solid var(--border);
  }

  .catalog-card {
    background: var(--card);
    color: var(--text-dark);
    padding: 30px 28px;
    display: flex;
    flex-direction: column;
  }

  .catalog-card .swatch {
    width: 100%;
    height: 120px;
    border-radius: var(--radius);
    margin-bottom: 20px;
    background: linear-gradient(135deg, var(--card-2), var(--border));
  }

  .catalog-card .card-tag {
    display: inline-block;
    align-self: flex-start;
    font-size: 0.85rem;
    font-weight: 500;
    padding: 3px 12px;
    background: var(--border);
    color: var(--accent-2);
    border-radius: var(--radius);
    margin-bottom: 14px;
  }

  .catalog-card h3 { font-size: 1.4rem; font-weight: 600; margin-bottom: 8px; }
  .catalog-card .spec { color: var(--muted); font-size: 0.95rem; margin-bottom: 14px; }

  .catalog-card .status {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 18px;
  }
  .catalog-card .status.in-stock { color: var(--accent-2); }
  .catalog-card .status.upcoming { color: var(--brass); }

  .catalog-card .price { font-size: 1.15rem; font-weight: 600; color: var(--accent); margin-top: auto; }

  .catalog-card a.card-link {
    display: block;
    margin-top: 16px;
    font-size: 0.98rem;
    font-weight: 500;
    color: var(--accent);
    border-bottom: 1px solid transparent;
  }
  .catalog-card a.card-link:hover { border-color: var(--accent); }

  /* ---------- Research / info strip ---------- */
  .info-strip .section-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .info-item {
    border-left: 3px solid var(--accent-2);
    padding-left: 22px;
  }

  .info-item h3 { font-size: 1.3rem; font-weight: 600; margin-bottom: 10px; }
  .info-item p { color: var(--muted); font-size: 0.98rem; margin-bottom: 14px; }
  .info-item a { color: var(--accent-2); font-weight: 500; font-size: 0.98rem; }
  .info-item a:hover { text-decoration: underline; }

  /* ---------- Compliance / trust band ---------- */
  .trust {
    background: var(--card);
    color: var(--text-dark);
  }

  .trust .section-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
  }

  .trust h2 { font-size: 1.7rem; max-width: 26ch; margin-bottom: 6px; }
  .trust p { color: #5a4a3c; max-width: 46ch; }

  .trust-badges { display: flex; gap: 14px; flex-wrap: wrap; }

  .badge {
    border: 1px solid var(--brass);
    color: #7a5a24;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 8px 16px;
    border-radius: var(--radius);
    white-space: nowrap;
  }

  /* ---------- Footer ---------- */
  footer {
    background: var(--bg-soft);
    border-top: 1px solid var(--border);
    padding: 56px 48px 32px;
  }

  .footer-grid {
    max-width: 1120px;
    margin: 0 auto 40px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
  }

  .footer-brand p { color: var(--muted); font-size: 0.95rem; max-width: 34ch; margin-top: 12px; }

  .footer-col h4 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 14px;
    color: var(--card-2);
  }

  .footer-col ul { list-style: none; }
  .footer-col li { margin-bottom: 10px; }
  .footer-col a { color: var(--muted); font-size: 0.95rem; }
  .footer-col a:hover { color: var(--accent-2); }

  .footer-bottom {
    max-width: 1120px;
    margin: 0 auto;
    padding-top: 24px;
    border-top: 1px solid var(--border);
    color: var(--muted);
    font-size: 0.85rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
  }

  @media (max-width: 860px) {
    header { padding: 16px 20px; }
    nav ul { display: none; }
    .hero { padding: 0 20px 48px; min-height: 66vh; }
    .hero h1 { font-size: 2.2rem; }
    section { padding: 56px 20px; }
    .origin .section-inner, .catalog-grid, .tiers-grid, .info-strip .section-inner, .footer-grid {
      grid-template-columns: 1fr;
    }
    .origin-mark { justify-self: center; }
    .trust .section-inner { flex-direction: column; align-items: flex-start; }
  }

  /* ============================================================
     Shared additions for the multi-page site
     ============================================================ */

  /* Plain inline links that read like links (teal, per the palette) */
  .text-link { color: var(--accent-2); font-weight: 500; }
  .text-link:hover { text-decoration: underline; }

  /* Inside the light trust band, links should read maroon, like the light cards */
  .trust .text-link { color: var(--accent); }

  /* ---------- Interior page header band ---------- */
  .page-hero {
    --hero-photo: url("img/columbia-river-valley-landscape-in-oregon.jpg");
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 320px;
    padding: 0 48px 42px;
    background-image:
      linear-gradient(180deg, rgba(22,17,15,0.55) 0%, rgba(22,17,15,0.82) 65%, rgba(22,17,15,0.97) 100%),
      var(--hero-photo);
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
    background-size: cover, cover;
    border-bottom: 1px solid var(--border);
  }

  .page-hero.subdir { --hero-photo: url("../img/columbia-river-valley-landscape-in-oregon.jpg"); }

  .page-hero-content { max-width: 780px; position: relative; z-index: 1; }

  .crumbs {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 500;
    font-size: 0.98rem;
    color: var(--muted);
    margin-bottom: 12px;
  }
  .crumbs a:hover { color: var(--accent-2); }

  .page-hero h1 {
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1.12;
    color: var(--text);
    margin-bottom: 12px;
  }

  .page-hero .lede {
    color: var(--card-2);
    font-size: 1.12rem;
    max-width: 62ch;
  }

  /* ---------- Narrative prose on interior pages ---------- */
  .prose p {
    color: var(--card-2);
    font-size: 1.05rem;
    line-height: 1.62;
    margin-bottom: 18px;
    max-width: 68ch;
  }
  .prose p:last-child { margin-bottom: 0; }

  .prose h3 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--text);
    margin: 34px 0 10px;
  }

  .prose ul {
    margin: 0 0 18px;
    padding-left: 22px;
    color: var(--card-2);
    font-size: 1.02rem;
    max-width: 64ch;
  }
  .prose li { margin-bottom: 8px; }

  .note {
    background: var(--bg-soft);
    border: 1px solid var(--border);
    border-left: 3px solid var(--accent-2);
    border-radius: var(--radius);
    padding: 20px 24px;
    margin: 30px 0;
    max-width: 74ch;
  }
  .note p { color: var(--card-2); font-size: 0.98rem; margin-bottom: 8px; max-width: 70ch; }
  .note p:last-child { margin-bottom: 0; }
  .note h3 { font-size: 1.15rem; font-weight: 600; margin-bottom: 8px; }

  /* Two-up layout used on a few interior pages */
  .split-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px;
    margin-top: 10px;
  }
  .split-grid > div > h3 {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 12px;
    border-left: 3px solid var(--accent-2);
    padding-left: 18px;
  }
  .split-grid p { color: var(--card-2); font-size: 1.02rem; margin-bottom: 14px; max-width: 56ch; }

  /* ---------- Contact page ---------- */
  .contact-layout {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 52px;
    align-items: start;
  }

  .method {
    background: var(--bg-soft);
    border: 1px solid var(--border);
    border-left: 3px solid var(--accent-2);
    border-radius: var(--radius);
    padding: 20px 24px;
    margin-bottom: 16px;
  }
  .method h3 { font-size: 1.15rem; font-weight: 600; margin-bottom: 6px; }
  .method p { color: var(--muted); font-size: 0.96rem; margin-bottom: 10px; max-width: 60ch; }
  .method .text-link { font-size: 0.98rem; }

  .email-panel {
    background: var(--bg-soft);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 30px 28px;
    position: sticky;
    top: 110px;
  }
  .email-panel h3 { font-size: 1.35rem; font-weight: 600; margin-bottom: 10px; }
  .email-panel p { color: var(--muted); font-size: 0.97rem; margin-bottom: 16px; }
  .email-big {
    display: block;
    font-size: 1.22rem;
    font-weight: 600;
    color: var(--accent-2);
    word-break: break-word;
    margin-bottom: 18px;
  }
  .email-big:hover { text-decoration: underline; }

  /* ---------- Storefront (mockup) ---------- */
  .store-note {
    background: var(--bg-soft);
    border: 1px solid var(--border);
    border-left: 3px solid var(--brass);
    border-radius: var(--radius);
    padding: 18px 22px;
    margin-bottom: 40px;
    max-width: 900px;
  }
  .store-note p { color: var(--card-2); font-size: 0.98rem; }

  .store-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 26px;
  }
  .store-toolbar .count { color: var(--muted); font-size: 0.98rem; }
  .filter-chips { display: flex; gap: 8px; flex-wrap: wrap; }
  .chip {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    padding: 6px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--muted);
    background: transparent;
    cursor: pointer;
  }
  .chip:hover { color: var(--text); border-color: var(--muted); }
  .chip.on { background: var(--accent-2); color: var(--text-dark); border-color: var(--accent-2); }

  /* Image area placeholders inside store cards */
  .catalog-card .swatch {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 8px 10px;
  }
  .catalog-card .swatch span {
    font-size: 0.72rem;
    color: rgba(26,18,16,0.55);
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 500;
    letter-spacing: 0.02em;
  }
  .swatch-handguard { background: linear-gradient(135deg, #4b3827, #1f1815); }
  .swatch-ak { background: linear-gradient(135deg, #6a4a2a, #241a10); }
  .swatch-pattern { background:
    repeating-linear-gradient(45deg, rgba(245,240,230,0.10) 0 10px, rgba(245,240,230,0.02) 10px 20px),
    linear-gradient(135deg, #3c2a1c, #141009); }

  /* ---------- Product (mock) pages ---------- */
  .pdp { padding-top: 56px; }
  .pdp .crumbs { margin-bottom: 22px; }

  .pdp-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 56px;
    align-items: start;
  }

  .pdp-gallery .gallery-main {
    aspect-ratio: 4 / 3;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(245,240,230,0.35);
    font-size: 0.85rem;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-align: center;
    padding: 20px;
  }
  .gallery-handguard { background: linear-gradient(150deg, #4b3827 0%, #241a12 60%, #16110f 100%); }
  .gallery-ak { background: linear-gradient(150deg, #6a4a2a 0%, #2e2011 55%, #16110f 100%); }
  .gallery-pattern { background:
    repeating-linear-gradient(45deg, rgba(245,240,230,0.08) 0 14px, rgba(245,240,230,0.02) 14px 28px),
    linear-gradient(150deg, #3c2a1c 0%, #1a130b 60%, #141009 100%); }

  .pdp-gallery .gallery-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 10px;
  }
  .pdp-gallery .thumb {
    width: 76px;
    height: 76px;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    background: linear-gradient(135deg, var(--card-2), var(--border));
  }
  .pdp-gallery .caption {
    margin-top: 12px;
    color: var(--muted);
    font-size: 0.85rem;
  }

  .pdp-summary .card-tag {
    display: inline-block;
    font-size: 0.85rem;
    font-weight: 500;
    padding: 3px 12px;
    background: var(--border);
    color: var(--accent-2);
    border-radius: var(--radius);
    margin-bottom: 14px;
  }
  .pdp-summary h1 {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 8px;
  }
  .pdp-summary .pdp-spec { color: var(--muted); font-size: 1rem; margin-bottom: 12px; }
  .pdp-summary .status { font-size: 0.95rem; font-weight: 600; margin-bottom: 20px; }
  .pdp-summary .status.in-stock { color: var(--accent-2); }
  .pdp-summary .status.upcoming { color: var(--brass); }

  .pdp-price {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--accent);
    margin-bottom: 4px;
  }
  .pdp-price-note { color: var(--muted); font-size: 0.85rem; margin-bottom: 22px; }

  .mock-note { color: var(--muted); font-size: 0.85rem; margin-top: 18px; max-width: 46ch; }

  .pdp-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 26px; }
  .pdp-actions .btn { font-size: 1.02rem; padding: 12px 22px; }

  .option-block { margin-bottom: 20px; }
  .option-block h4 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--muted);
    margin-bottom: 10px;
  }
  .option-chips { display: flex; gap: 8px; flex-wrap: wrap; }
  .opt {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.92rem;
    font-weight: 500;
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 6px 13px;
    background: var(--bg-soft);
  }
  .opt .dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-right: 7px;
    vertical-align: -1px;
    border: 1px solid rgba(255,255,255,0.25);
  }
  .opt:hover { border-color: var(--muted); }

  .pdp-spec-list { margin: 8px 0 0; padding: 0; list-style: none; }
  .pdp-spec-list li {
    display: flex;
    gap: 24px;
    padding: 11px 0;
    border-top: 1px solid var(--border);
    font-size: 0.98rem;
  }
  .pdp-spec-list li:last-child { border-bottom: 1px solid var(--border); }
  .pdp-spec-list span { color: var(--muted); min-width: 190px; }
  .pdp-spec-list strong { font-weight: 600; color: var(--card-2); font-weight: 600; }

  .mini-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 22px; }
  .mini-strip a {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px 18px;
    font-weight: 500;
    font-size: 0.98rem;
    color: var(--card-2);
    transition: border-color 0.15s ease, color 0.15s ease;
  }
  .mini-strip a:hover { border-color: var(--accent-2); color: var(--accent-2); }

  /* Two-column half-and-half inside product detail prose */
  .detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }

  @media (max-width: 860px) {
    .page-hero { padding: 0 20px 36px; min-height: 240px; }
    .page-hero h1 { font-size: 2rem; }
    .split-grid, .contact-layout, .pdp-grid, .detail-grid, .mini-strip { grid-template-columns: 1fr; }
    .email-panel { position: static; }
    .pdp { padding-top: 36px; }
    .pdp-gallery .gallery-main { aspect-ratio: 1 / 1; }
  }

  /* ---------- Contact message form ---------- */
  .contact-form {
    background: var(--bg-soft);
    border: 1px solid var(--border);
    border-left: 3px solid var(--accent-2);
    border-radius: var(--radius);
    padding: 30px 28px;
  }
  .contact-form h3 { font-size: 1.35rem; font-weight: 600; margin-bottom: 8px; }
  .contact-form > p { color: var(--muted); font-size: 0.95rem; margin-bottom: 20px; }

  .field { margin-bottom: 16px; }
  .field label {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--card-2);
    margin-bottom: 6px;
  }
  .field input, .field textarea {
    width: 100%;
    background: var(--bg);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 11px 13px;
    font-family: 'Bitter', serif;
    font-size: 0.98rem;
    line-height: 1.5;
  }
  .field textarea { resize: vertical; min-height: 130px; }
  .field input:focus, .field textarea:focus { outline: none; border-color: var(--accent-2); }

  .contact-form button.btn { width: 100%; border: 0; cursor: pointer; text-align: center; }
  .form-foot { margin-top: 14px; color: var(--muted); font-size: 0.82rem; }

  /* ---------- Modal ---------- */
  .modal {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(10, 7, 5, 0.78);
    padding: 22px;
  }
  .modal.open { display: flex; }

  .modal-card {
    background: var(--card);
    color: var(--text-dark);
    width: 100%;
    max-width: 480px;
    border-radius: var(--radius);
    border-top: 4px solid var(--accent-2);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
    padding: 34px 32px 28px;
  }
  .modal-card h3 {
    font-size: 1.45rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 10px;
  }
  .modal-card p { color: #5a4a3c; font-size: 0.98rem; margin-bottom: 8px; }
  .modal-card p:last-of-type { margin-bottom: 22px; }
  .modal-actions { text-align: right; }
  .modal-actions button {
    background: var(--accent);
    color: var(--card);
    border: 0;
    border-radius: var(--radius);
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    padding: 10px 24px;
    cursor: pointer;
  }
  .modal-actions button:hover { background: #8f2727; }

  /* ---------- Research: testing by tier ---------- */
  .test-tier {
    --tier-accent: var(--accent-2);
    border-left: 4px solid var(--tier-accent);
    padding: 4px 0 4px 26px;
    margin-bottom: 46px;
    max-width: 900px;
  }
  .test-tier.test-duty { --tier-accent: var(--brass); }
  .test-tier.test-military { --tier-accent: var(--accent); }

  .test-tier h3 { font-size: 1.45rem; font-weight: 600; margin-bottom: 12px; }
  .test-tier p { color: var(--card-2); font-size: 1.03rem; margin-bottom: 16px; max-width: 66ch; }
  .test-tier ul { list-style: none; padding: 0; margin: 0; }
  .test-tier li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 9px;
    color: var(--card-2);
    font-size: 1rem;
    max-width: 62ch;
  }
  .test-tier li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.56em;
    width: 7px;
    height: 7px;
    background: var(--tier-accent);
    border-radius: 1px;
  }
  .test-tier li:last-child { margin-bottom: 0; }

  /* ---------- Materials roster tags ---------- */
  .mat-tag {
    display: inline-block;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--muted);
    border: 1px solid var(--border);
    border-left: 3px solid var(--accent-2);
    border-radius: var(--radius);
    padding: 3px 11px;
    margin-right: 12px;
    vertical-align: 0.15em;
  }
  .mat-tag.brass { border-left-color: var(--brass); }
  .mat-tag.mil { border-left-color: var(--accent); }
  .materials-list { margin-top: 26px; }
  .materials-list .entry { margin-bottom: 40px; }
  .materials-list .entry:last-child { margin-bottom: 0; }
  .materials-list .entry h3 {
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 12px;
  }
  .materials-list .entry p {
    color: var(--card-2);
    font-size: 1.03rem;
    margin-bottom: 12px;
    max-width: 68ch;
  }
  .materials-list .entry p:last-child { margin-bottom: 0; }
  .materials-list .entry ul {
    list-style: none;
    padding: 0;
    margin: 0 0 12px;
  }
  .materials-list .entry li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 7px;
    color: var(--card-2);
    font-size: 1rem;
    max-width: 62ch;
  }
  .materials-list .entry li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.56em;
    width: 6px;
    height: 6px;
    background: var(--muted);
    border-radius: 1px;
  }
  .materials-list .entry li:last-child { margin-bottom: 0; }

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

  .store-app { padding: 28px 48px 72px; max-width: 1280px; margin: 0 auto; }
  .store-app-head { margin-bottom: 20px; }
  .store-title { font-size: 2rem; font-weight: 700; margin-bottom: 6px; }
  .store-sub { color: var(--muted); font-size: 1rem; max-width: 64ch; }

  .store-toolbar {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px 18px;
    align-items: end;
    padding: 16px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    margin-bottom: 22px;
  }
  .store-search input {
    width: 100%;
    background: var(--bg-soft);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 12px 14px;
    font-size: 1.05rem;
    font-family: 'Bitter', serif;
  }
  .store-search input:focus { outline: none; border-color: var(--accent-2); }
  .store-filters { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; }
  .store-filters label { display: flex; flex-direction: column; gap: 4px; }
  .store-filters label span { font-family: 'Barlow Condensed', sans-serif; font-size: 0.82rem; color: var(--muted); }
  .store-filters select {
    background: var(--bg-soft);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 9px 10px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.95rem;
  }
  .store-clear {
    background: transparent;
    color: var(--muted);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 9px 14px;
    cursor: pointer;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.95rem;
  }
  .store-clear:hover { color: var(--text); border-color: var(--muted); }
  .store-count { color: var(--muted); font-size: 0.92rem; grid-column: 1 / -1; margin: 0; }

  .store-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 18px;
  }
  .store-card {
    display: flex;
    flex-direction: column;
    background: var(--card);
    color: var(--text-dark);
    border-radius: var(--radius);
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
  }
  .store-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,0.4); }
  .store-card-img { display: block; aspect-ratio: 4 / 3; background: var(--card-2); }
  .store-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .store-card-body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; }
  .store-card-tags { display: flex; gap: 6px; flex-wrap: wrap; }
  .tag-tier, .tag-cat {
    display: inline-block;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.76rem;
    font-weight: 600;
    padding: 2px 9px;
    border-radius: var(--radius);
  }
  .tag-cat { background: var(--border); color: var(--muted); }
  .tag-tier.tier-range { background: rgba(94,196,196,0.15); color: #1f6f6f; }
  .tag-tier.tier-duty { background: rgba(184,134,59,0.18); color: #7a5a24; }
  .tag-tier.tier-military { background: rgba(122,31,31,0.15); color: #7a1f1f; }
  .store-card-name { font-family: 'Barlow Condensed', sans-serif; font-size: 1.15rem; font-weight: 600; color: var(--text-dark); line-height: 1.15; }
  .store-card-spec { color: #6b5a4a; font-size: 0.88rem; line-height: 1.4; }
  .store-card-foot { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-top: auto; }
  .store-price { font-weight: 700; color: var(--accent); }
  .store-stock { font-family: 'Barlow Condensed', sans-serif; font-size: 0.82rem; font-weight: 600; }
  .store-stock.stock-in { color: #2c8f8f; }
  .store-stock.stock-upcoming { color: #a8782a; }
  .store-stock.stock-quote { color: var(--muted); }
  .store-empty { color: var(--muted); grid-column: 1 / -1; padding: 40px 0; }

  /* ---------- Cart / checkout ---------- */
  .cart-page { padding: 56px 48px; }
  .cart-lines { margin: 24px 0; }
  .cart-line {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 18px;
    align-items: center;
    padding: 16px 0;
    border-top: 1px solid var(--border);
  }
  .cart-line-name a { color: var(--text); font-family: 'Barlow Condensed', sans-serif; font-size: 1.15rem; font-weight: 600; }
  .cart-line-name a:hover { color: var(--accent-2); }
  .cart-line-note { display: block; color: var(--muted); font-size: 0.88rem; }
  .cart-line-qty { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
  .cart-line-qty input[type="number"] { width: 70px; }
  .cart-line-qty input[type="text"] { min-width: 160px; }
  .cart-line-qty input, .buy-form input[type="text"], .buy-form input[type="number"], .checkout-form input, .checkout-form textarea {
    background: var(--bg-soft);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 9px 11px;
    font-family: 'Bitter', serif;
    font-size: 0.95rem;
  }
  .cart-line-price { text-align: right; font-weight: 700; }
  .cart-remove { display: block; margin-top: 6px; background: none; border: 0; color: var(--danger); cursor: pointer; font-size: 0.82rem; }
  .cart-total { display: flex; justify-content: space-between; max-width: 420px; padding: 16px 0; border-top: 2px solid var(--accent-2); font-size: 1.2rem; }
  .cart-note { color: var(--muted); font-size: 0.88rem; margin: 8px 0 20px; max-width: 60ch; }
  .form-success { color: var(--accent-2); margin-bottom: 14px; }
  .form-error { color: #e0877b; margin-bottom: 14px; }

  .checkout-layout { display: grid; grid-template-columns: 1fr 360px; gap: 48px; align-items: start; }
  .checkout-form .field input, .checkout-form .field textarea { width: 100%; }
  .checkout-form .field textarea { min-height: 90px; }
  .checkout-summary { background: var(--bg-soft); border: 1px solid var(--border); border-left: 3px solid var(--accent-2); border-radius: var(--radius); padding: 22px; }
  .checkout-summary h3 { font-size: 1.2rem; margin-bottom: 12px; }
  .sum-line { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--border); color: var(--card-2); font-size: 0.95rem; }
  .sum-line.sum-total { border-top: 2px solid var(--accent-2); font-size: 1.05rem; }
  .buy-form input[type="text"] { width: 100%; max-width: 420px; }

  @media (max-width: 860px) {
    .store-app { padding: 20px 20px 56px; }
    .store-toolbar { grid-template-columns: 1fr; }
    .cart-page { padding: 40px 20px; }
    .cart-line { grid-template-columns: 1fr; }
    .checkout-layout { grid-template-columns: 1fr; }
  }

  /* ---------- Storefront app shell: flanked filters + cart ---------- */
  .store-body {
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .store-body header {
    position: static;
    flex: 0 0 auto;
  }

  .store-shell {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 16px 24px 20px;
    box-sizing: border-box;
  }

  .store-topbar {
    display: flex;
    gap: 12px;
    align-items: center;
    padding-bottom: 14px;
    flex: 0 0 auto;
  }
  .store-search { flex: 1 1 auto; min-width: 0; }
  .store-sort { flex: 0 0 auto; }
  .store-sort select {
    background: var(--bg-soft);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 12px 12px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1rem;
  }

  .store-layout {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr) 300px;
    gap: 18px;
  }

  .side-panel { min-height: 0; overflow-y: auto; padding-right: 6px; padding-left: 6px; }
  .panel-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
  }

  .filter-group { margin-bottom: 16px; }
  .filter-group label {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.9rem;
    color: var(--muted);
    margin-bottom: 5px;
  }
  .filter-group select {
    width: 100%;
    background: var(--bg-soft);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 9px 10px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.95rem;
  }
  .filter-group select:focus { outline: none; border-color: var(--accent-2); }
  .filter-clear {
    width: 100%;
    background: transparent;
    color: var(--muted);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 9px 12px;
    cursor: pointer;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.95rem;
    margin-bottom: 14px;
  }
  .filter-clear:hover { color: var(--text); border-color: var(--muted); }
  .panel-note { color: var(--muted); font-size: 0.82rem; line-height: 1.45; }

  .store-scroll { min-height: 0; overflow-y: auto; padding: 0 10px 24px 2px; }
  .store-count { color: var(--muted); font-size: 0.9rem; margin: 2px 0 12px; }

  /* Right-hand cart panel */
  .cart-empty { color: var(--muted); font-size: 0.9rem; line-height: 1.5; }
  .cart-item { padding: 10px 0; border-bottom: 1px solid var(--border); }
  .cart-item-name a {
    color: var(--text);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.02rem;
    font-weight: 600;
  }
  .cart-item-name a:hover { color: var(--accent-2); }
  .cart-item-notes { color: var(--muted); font-size: 0.8rem; }
  .cart-item-row { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
  .cart-stepper { display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
  .cart-qty-btn {
    background: var(--bg-soft);
    color: var(--text);
    border: 0;
    padding: 4px 10px;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
  }
  .cart-qty-btn:hover { color: var(--accent-2); }
  .cart-qty { min-width: 26px; text-align: center; font-size: 0.9rem; }
  .cart-item-price { margin-left: auto; font-weight: 600; color: var(--card-2); }
  .cart-item-remove { background: none; border: 0; color: var(--danger); cursor: pointer; font-size: 0.8rem; }
  .cart-subtotal {
    display: flex;
    justify-content: space-between;
    padding: 12px 0 4px;
    border-top: 2px solid var(--accent-2);
    margin-top: 12px;
    font-size: 1.02rem;
  }
  .cart-actions { display: flex; gap: 10px; margin-top: 12px; }
  .btn-sm { padding: 9px 14px; font-size: 0.9rem; }

  @media (max-width: 1280px) {
    .store-layout { grid-template-columns: 210px minmax(0, 1fr) 280px; gap: 14px; }
  }

  @media (max-width: 1020px) {
    .store-body { height: auto; overflow: visible; display: block; }
    .store-body header { position: sticky; }
    .store-shell { flex: none; padding: 14px 18px 44px; }
    .store-topbar { flex-wrap: wrap; }
    .store-layout { grid-template-columns: 1fr; }
    .side-panel { overflow: visible; padding-right: 0; }
    .store-scroll { overflow: visible; padding: 0 0 24px; }
  }

  /* ---------- Storefront mast: logo row, no marketing header ---------- */
  .store-mast {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 12px 24px 14px;
    border-bottom: 1px solid var(--border);
    flex: 0 0 auto;
    width: 100%;
    box-sizing: border-box;
    max-width: 1600px;
    margin: 0 auto;
  }
  .store-logo { display: flex; align-items: center; gap: 10px; }
  .store-logo img {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--accent);
    border: 2px solid var(--border);
    object-fit: cover;
  }
  .store-logo-word {
    font-family: 'Cinzel', serif;
    font-weight: 700;
    font-size: 1.35rem;
    letter-spacing: 0.12em;
    color: var(--text);
    line-height: 1;
  }
  .store-logo:hover .store-logo-word { color: var(--accent-2); }

  .store-layout { grid-template-rows: minmax(0, 1fr); }

  .account-card {
    background: var(--bg-soft);
    border: 1px solid var(--border);
    border-left: 3px solid var(--accent);
    border-radius: var(--radius);
    padding: 16px 16px 14px;
    margin-bottom: 22px;
  }
  .account-card p {
    color: var(--muted);
    font-size: 0.88rem;
    margin: 0 0 8px;
    line-height: 1.5;
  }
  .account-card .btn { margin-top: 6px; }

  @media (max-width: 1020px) {
    .store-mast {
      grid-template-columns: 1fr;
      gap: 10px;
      padding: 10px 16px 14px;
    }
    .store-logo { justify-self: start; }
    .store-layout { grid-template-rows: none; }
  }

  /* ============================================================
     Maroon as a primary brand tone (override pass)
     ============================================================ */
  :root { --accent-lt: #b84038; } /* maroon tone that stays legible on dark brown */

  /* Solid brand moments */
  .btn-primary { background: var(--accent); color: var(--card); border: 1px solid var(--accent); }
  .btn-primary:hover { background: #8f2727; border-color: #8f2727; color: var(--card); }
  .tag { background: var(--accent); color: var(--card); }
  header { border-bottom-color: var(--accent); }
  .trust h2 { color: var(--accent); }
  .badge { border-color: var(--accent); color: var(--accent); }
  .catalog-card .card-tag,
  .pdp-summary .card-tag {
    background: var(--accent);
    color: var(--card);
  }
  .modal-card { border-top-color: var(--accent); }
  .formline-divider { color: var(--accent-lt); }

  /* Structural accent lines and rails -> maroon */
  .eyebrow-free-heading,
  .info-item,
  .note,
  .method,
  .contact-form,
  .checkout-summary,
  .split-grid > div > h3,
  .test-tier.test-military,
  .account-card { border-left-color: var(--accent-lt); }

  .cart-total,
  .cart-subtotal { border-top-color: var(--accent-lt); }

  /* Storefront chrome */
  .store-mast { border-bottom: 2px solid var(--accent); }
  .panel-title { border-bottom: 2px solid var(--accent); }
  .store-logo:hover .store-logo-word { color: var(--accent-lt); }
  .store-card:hover { box-shadow: 0 12px 30px rgba(122, 31, 31, 0.3); }

  /* ---------- Card quick actions ---------- */
  .store-card { cursor: pointer; }
  .store-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .store-card-meta-row {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 10px;
  }
  .store-card-meta { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
  .store-card-btns { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
  .store-btn-info,
  .store-btn-add {
    display: inline-block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 0.84rem;
    letter-spacing: 0.02em;
    text-align: center;
    padding: 5px 13px;
    border-radius: 999px;
    white-space: nowrap;
    text-decoration: none;
  }
  .store-btn-info { color: var(--muted); border: 1px solid var(--border); background: transparent; }
  .store-btn-info:hover { color: var(--text); border-color: var(--muted); }
  .store-btn-add { color: var(--card); background: var(--accent); border: 1px solid var(--accent); cursor: pointer; }
  .store-btn-add:hover { background: #8f2727; border-color: #8f2727; }
  .store-btn-add:active { transform: translateY(1px); }

  /* Name over the image; body slimmed so cards don't run tall */
  .store-card-img { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--card-2); }
  .store-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .store-card-name {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 8px;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.92), 0 0 10px rgba(0, 0, 0, 0.55);
    line-height: 1.12;
  }
  .store-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
  .store-card-body { gap: 8px; padding: 10px 14px 12px; }
  .store-card-spec {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  /* Left column of the card bottom: tier tag stacked over price + stock */
  .store-card-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
  }
  .store-card-left .tag-tier { margin-bottom: 2px; }

  .pdp-summary .add-form input[type="number"] { width: 90px; }
  .pdp-description { margin-top: 48px; }

  /* ---------- Item detail modal ---------- */
  .detail-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
  }
  .detail-modal.open { display: flex; }
  .detail-backdrop { position: absolute; inset: 0; background: rgba(10, 7, 5, 0.82); }
  .detail-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--bg);
    border: 1px solid var(--border);
    border-top: 4px solid var(--accent);
    border-radius: var(--radius);
    width: min(960px, 96vw);
    max-height: 92vh;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.65);
  }
  .detail-head { flex: 0 0 auto; display: flex; justify-content: flex-end; padding: 10px 14px 0; }
  .detail-close {
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--muted);
    width: 34px;
    height: 34px;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
  }
  .detail-close:hover { color: var(--text); border-color: var(--text); }
  .detail-scroll { min-height: 0; overflow-y: auto; padding: 4px 32px 34px; }

  @media (max-width: 1020px) {
    .detail-scroll { padding: 4px 18px 24px; }
  }

  /* ---------- Cart juice ---------- */
  .cart-item { position: relative; }
  .cart-qtybox { position: relative; min-width: 28px; text-align: center; }
  .cart-plus1 {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
    color: #cfffce;
    text-shadow: 0 0 6px rgba(120, 255, 150, 0.95), 0 0 14px rgba(60, 220, 110, 0.6), 0 1px 2px rgba(0, 0, 0, 0.4);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1;
    pointer-events: none;
    opacity: 0;
  }
  .cart-plus1.pop { animation: orca-plus-pop 1s ease-out forwards; }
  @keyframes orca-plus-pop {
    0% { opacity: 0; transform: translate(-50%, 8px); }
    25% { opacity: 1; transform: translate(-50%, -6px); }
    100% { opacity: 0; transform: translate(-50%, -30px); }
  }
  .cart-item-new { animation: orca-item-in 0.9s ease-out; }
  @keyframes orca-item-in {
    from { background: rgba(122, 31, 31, 0.28); }
    to { background: transparent; }
  }

  /* Cart rail section padding (matches hand-tuned values) */
  .cart-section { padding: 25px 18px; }

  /* Let the +1 fly above the stepper instead of being clipped, so it paints
     over the item name line above it. */
  .cart-stepper { overflow: visible; }
  .cart-stepper .cart-qty-btn:first-child { border-top-left-radius: var(--radius); border-bottom-left-radius: var(--radius); }
  .cart-stepper .cart-qty-btn:last-child { border-top-right-radius: var(--radius); border-bottom-right-radius: var(--radius); }

  /* ---------- Phase 2 account pages ---------- */
  .account-form { max-width: 520px; margin: 0 auto; }
  .rail-actions { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
  .rail-actions a { text-align: center; }
  .orders-table { width: 100%; border-collapse: collapse; margin-top: 8px; }
  .orders-table th, .orders-table td {
    text-align: left;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    font-size: 0.95rem;
  }
  .orders-table th {
    color: var(--muted);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
  }
  .orders-table td { color: var(--card-2); }
  .orders-table tr:last-child td { border-bottom: 0; }
  @media (max-width: 860px) {
    .orders-table { display: block; overflow-x: auto; }
  }
