:root{
    --bg:#FBF7EC;
    --surface:#F1E9D2;
    --surface-2:#E7DBB7;
    --ink:#1E2B1C;
    --muted:#5B6A52;
    --accent:#3F6B34;
    --accent-strong:#2E5027;
    --gold:#B87F27;
    --gold-strong:#8F631D;
    --rust:#8A4A2F;
    --line: rgba(30,43,28,0.15);
    --line-strong: rgba(30,43,28,0.27);
    --on-dark:#F3EEDD;
    --on-dark-muted: rgba(243,238,221,0.72);
    --shadow: 0 6px 20px rgba(24,32,20,0.08);
    --shadow-sm: 0 1px 2px rgba(24,32,20,0.07);
    --focus:#1D5FBF;
    --band-bg:#1F3A1B;
    --band-bg-2:#264A21;
    --band-gold:#E0A94D;
    --band-line: rgba(243,238,221,0.2);
    --stat-1:#EFDCAF; --stat-2:#D6E3C6; --stat-3:#E8CDBC; --stat-4:#D7E1DE;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#12180F; --surface:#1A2315; --surface-2:#212C19;
      --ink:#F1ECDA; --muted:#B6BFA9;
      --accent:#79B15A; --accent-strong:#8FC46E;
      --gold:#E0A94D; --gold-strong:#EFC077; --rust:#C87A56;
      --line: rgba(241,236,218,0.14); --line-strong: rgba(241,236,218,0.24);
      --shadow: 0 6px 20px rgba(0,0,0,0.35); --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
      --focus:#8FC46E;
      --stat-1:#4A3A1C; --stat-2:#28331E; --stat-3:#3E2B20; --stat-4:#223029;
    }
  }
  :root[data-theme="dark"]{
    --bg:#12180F; --surface:#1A2315; --surface-2:#212C19;
    --ink:#F1ECDA; --muted:#B6BFA9;
    --accent:#79B15A; --accent-strong:#8FC46E;
    --gold:#E0A94D; --gold-strong:#EFC077; --rust:#C87A56;
    --line: rgba(241,236,218,0.14); --line-strong: rgba(241,236,218,0.24);
    --shadow: 0 6px 20px rgba(0,0,0,0.35); --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
    --focus:#8FC46E;
    --stat-1:#4A3A1C; --stat-2:#28331E; --stat-3:#3E2B20; --stat-4:#223029;
  }

  *{ box-sizing:border-box; margin:0; padding:0; }
  [hidden]{ display:none !important; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  }
  body{ background:var(--bg); color:var(--ink); font-family:'Public Sans', system-ui, -apple-system, sans-serif; font-size:16px; line-height:1.62; -webkit-font-smoothing:antialiased; }
  h1,h2,h3,.serif{ font-family:'Bitter', Georgia, serif; }
  .mono{ font-family:'IBM Plex Mono', ui-monospace, monospace; }
  a{ color:inherit; }
  img{ max-width:100%; display:block; }
  .wrap{ max-width:1200px; margin:0 auto; padding-left:32px; padding-right:32px; }
  section{ padding:100px 0; }
  h1,h2,h3{ text-wrap:balance; }
  :focus-visible{ outline:2px solid var(--focus); outline-offset:3px; }
  button, input, textarea, select{ font-family:inherit; }

  .eyebrow{ font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-strong); display:flex; align-items:center; gap:10px; margin-bottom:16px; }
  .eyebrow::before{ content:''; width:22px; height:1px; background:var(--gold-strong); display:inline-block; }
  .eyebrow.on-dark{ color:var(--band-gold); }

  /* ============ PHOTO PLACEHOLDER SYSTEM ============ */
  .photo{ position:relative; overflow:hidden; border-radius:8px; isolation:isolate; aspect-ratio:4/3;
    background:linear-gradient(150deg, var(--l1) 0%, var(--l2) 48%, var(--l3) 100%); box-shadow:var(--shadow); }
  .about-grid .photo{ aspect-ratio:4/5; }
  .photo::after{ content:''; position:absolute; inset:0; opacity:.14; mix-blend-mode:overlay; pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size:160px 160px; }
  .photo .blob{ position:absolute; border-radius:50%; filter:blur(38px); pointer-events:none; }
  .photo .vig{ position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(130% 110% at var(--vx,72%) var(--vy,18%), transparent 38%, rgba(0,0,0,.32) 100%); }
  .photo .cap{ position:absolute; left:16px; bottom:14px; z-index:3; font-family:'IBM Plex Mono',monospace; font-size:.64rem; letter-spacing:.06em; text-transform:uppercase;
    color:rgba(255,255,255,.92); background:rgba(14,18,11,.4); padding:5px 10px; border-radius:3px; backdrop-filter:blur(3px); }
  .photo.has-img::after{ display:none; }
  .photo.has-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
  .photo.is-empty{ background:var(--surface-2); box-shadow:none; }
  .photo.is-empty::after{ display:none; }

  /* ============ HEADER ============ */
  header{ position:sticky; top:0; z-index:80; background:var(--bg); border-bottom:1px solid var(--line); }
  .nav{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; gap:16px; max-width:1200px; margin:0 auto; }
  .brand{ display:flex; align-items:center; gap:10px; text-decoration:none; flex:none; }
  .brand-mark{ width:34px; height:34px; flex:none; }
  .brand-logo-img{ height:40px; width:auto; display:block; flex:none; }
  .foot-brand .brand-logo-img{ height:32px; }
  @media (max-width:560px){ .brand-logo-img{ height:34px; } }
  .brand-name{ font-family:'Bitter', serif; font-weight:600; font-size:1.16rem; line-height:1.1; color:var(--ink); white-space:nowrap; }
  .brand-name span{ display:block; font-family:'IBM Plex Mono', monospace; font-size:0.58rem; letter-spacing:0.09em; color:var(--muted); font-weight:500; text-transform:uppercase; margin-top:2px; }
  .nav-links{ display:flex; gap:15px; list-style:none; }
  .nav-links a{ font-size:0.88rem; font-weight:600; text-decoration:none; padding-bottom:3px; border-bottom:2px solid transparent; white-space:nowrap; }
  .nav-links a:hover{ border-color:var(--gold); color:var(--accent-strong); }
  .nav-links a.active{ font-weight:700; font-size:0.95rem; color:var(--accent-strong); border-bottom-color:var(--accent-strong); }
  .nav-cta{ background:var(--accent-strong); color:var(--on-dark); padding:10px 15px; font-size:0.84rem; font-weight:700; border-radius:3px; white-space:nowrap; text-decoration:none; transition:background .15s ease, transform .15s ease; }
  .nav-cta:hover{ background:var(--gold-strong); transform:translateY(-1px); }
  .menu-toggle{ display:none; background:none; border:1px solid var(--line-strong); border-radius:4px; width:42px; height:38px; cursor:pointer; color:var(--ink); align-items:center; justify-content:center; flex:none; }
  .menu-toggle svg{ width:20px; height:20px; }
  .mobile-panel{ display:none; }
  @media (max-width: 1260px){
    .nav-links, .nav-cta{ display:none; }
    .menu-toggle{ display:flex; }
    .mobile-panel{ display:none; flex-direction:column; gap:2px; border-top:1px solid var(--line); background:var(--bg); padding:14px 32px 22px; }
    .mobile-panel.open{ display:flex; }
    .mobile-panel a{ padding:12px 4px; font-weight:600; font-size:1rem; text-decoration:none; border-bottom:1px solid var(--line); }
    .mobile-panel a.active{ font-weight:700; font-size:1.06rem; color:var(--accent-strong); border-bottom-color:var(--accent-strong); }
    .mobile-panel .nav-cta{ display:block; text-align:center; margin-top:14px; }
  }

  /* ============ BUTTONS ============ */
  .btn{ display:inline-flex; align-items:center; gap:8px; padding:15px 26px; font-weight:700; font-size:0.93rem; border-radius:3px; text-decoration:none; border:1.5px solid transparent; cursor:pointer; transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease; }
  .btn-primary{ background:var(--accent-strong); color:var(--on-dark); }
  .btn-primary:hover{ background:var(--gold-strong); transform:translateY(-1px); }
  .btn-ghost{ border-color:var(--line-strong); color:var(--ink); background:transparent; }
  .btn-ghost:hover{ border-color:var(--accent-strong); color:var(--accent-strong); }
  .btn-on-dark{ border-color:rgba(243,238,221,0.4); color:var(--on-dark); }
  .btn-on-dark:hover{ border-color:var(--band-gold); color:var(--band-gold); }

  /* ============ HERO ============ */
  .hero{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:54px; align-items:center; padding-top:64px; padding-bottom:76px; }
  .hero h1{ font-size:3.15rem; font-weight:600; line-height:1.08; margin-bottom:22px; }
  .hero .lede{ max-width:48ch; color:var(--muted); font-size:1.1rem; margin-bottom:32px; }
  .hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
  .hero .photo{ aspect-ratio:4/3; }
  .hero-slider img.slide{ opacity:0; transition:opacity 1s ease-in-out; z-index:1; }
  .hero-slider img.slide.active{ opacity:1; z-index:2; }
  .hero-slider .slider-dots{ position:absolute; z-index:10; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:9px; }
  .hero-slider .slider-dots .dot{ width:9px; height:9px; border-radius:50%; padding:0; border:1.5px solid rgba(255,255,255,0.85); background:rgba(255,255,255,0.35); cursor:pointer; transition:background .2s ease; }
  .hero-slider .slider-dots .dot.active{ background:#fff; }

  /* ============ SECTION HEAD ============ */
  .section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:48px; }
  .section-head h1, .section-head h2{ font-size:2.05rem; font-weight:600; max-width:20ch; }
  .section-head p{ color:var(--muted); max-width:42ch; font-size:0.99rem; }
  .section-head.center{ flex-direction:column; align-items:center; text-align:center; }
  .section-head.center h1, .section-head.center h2, .section-head.center p{ max-width:56ch; }

  /* ============ HOME INTRO ============ */
  .intro{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center; }
  .intro p{ color:var(--muted); max-width:58ch; margin-bottom:14px; }
  .intro h2{ font-size:2.1rem; font-weight:600; margin-bottom:22px; max-width:14ch; }

  /* ============ ABOUT ============ */
  .about-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:start; }
  .about-grid p{ color:var(--muted); margin-bottom:16px; max-width:60ch; }
  .approach{ margin:36px 0; padding:30px 34px; border-left:3px solid var(--gold); background:var(--surface); border-radius:0 6px 6px 0; }
  .approach p{ font-family:'Bitter', serif; font-style:italic; font-size:1.28rem; line-height:1.42; color:var(--ink); margin-bottom:0; }
  .proof{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:36px 20px; border-top:1px solid var(--line); margin-top:40px; padding-top:44px; }
  .proof-item{ display:flex; flex-direction:column; align-items:center; text-align:center; flex:1 1 130px; }
  .proof-item .circle{ width:clamp(104px, 11vw, 142px); height:clamp(104px, 11vw, 142px); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:18px; flex:none; }
  .proof-item .n{ font-family:'Bitter', serif; font-weight:800; font-size:clamp(1.7rem, 2.4vw, 2.15rem); color:var(--ink); font-variant-numeric:tabular-nums; line-height:1; }
  .proof-item .k{ font-size:0.98rem; font-weight:700; color:var(--ink); margin-top:0; }
  .proof-item .circle.c1{ background:var(--stat-1); }
  .proof-item .circle.c2{ background:var(--stat-2); }
  .proof-item .circle.c3{ background:var(--stat-3); }
  .proof-item .circle.c4{ background:var(--stat-4); }

  .mv-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:56px; }
  .mv-item{ padding:36px 40px 36px 0; border-right:1px solid var(--line); }
  .mv-item:last-child{ border-right:none; padding-left:40px; padding-right:0; }
  .mv-item h3{ font-size:1.3rem; font-weight:600; margin-bottom:14px; }
  .mv-item p{ color:var(--muted); margin-bottom:10px; }
  .mv-item p:last-child{ margin-bottom:0; }

  /* ============ CARD GRIDS (Solutions / Products) ============ */
  .card-grid{ display:grid; gap:20px; }
  .card-grid.cols-3{ grid-template-columns:repeat(3,1fr); gap:24px; }
  .card-grid.cols-5{ grid-template-columns:repeat(5,1fr); gap:20px; }
  .s-card, .p-card{ background:var(--surface); border:1px solid var(--line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; height:100%; transition:transform .18s ease, box-shadow .18s ease; }
  .s-card:hover, .p-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
  .s-card .photo, .p-card .photo{ aspect-ratio:4/3; border-radius:0; box-shadow:none; }
  .s-card .body, .p-card .body{ padding:26px 24px 28px; display:flex; flex-direction:column; flex:1; }
  .s-card .body{ justify-content:center; }
  .s-card h3, .p-card h3{ font-size:1.12rem; font-weight:600; margin-bottom:10px; line-height:1.3; }
  .s-card p, .p-card p{ color:var(--muted); font-size:0.92rem; margin-bottom:8px; }
  .s-card p{ margin-bottom:0; }
  .s-card .use, .p-card .use{ font-size:0.84rem; color:var(--gold-strong); font-style:italic; margin-bottom:18px; }
  .s-card .cta, .p-card .cta{ margin-top:auto; font-weight:700; font-size:0.86rem; color:var(--accent-strong); text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
  @media (min-width:861px){
    #solutions-sec .s-card:last-child:nth-child(3n+1){ grid-column:2; }
  }
  .solutions-cta{ display:flex; justify-content:center; margin-top:44px; }
  .s-card .cta:hover, .p-card .cta:hover{ color:var(--gold-strong); }
  .s-card .cta svg, .p-card .cta svg{ width:14px; height:14px; transition:transform .15s ease; }
  .s-card .cta:hover svg, .p-card .cta:hover svg{ transform:translateX(3px); }
  .card-actions{ margin-top:auto; display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
  #productGrid .p-card,
  .card-grid .p-card[data-product]{
    cursor:pointer;
    user-select:none;
    transition:transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease;
  }
  #productGrid .p-card:hover,
  .card-grid .p-card[data-product]:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 28px rgba(24,32,20,0.1);
    border-color:var(--accent);
  }
  #productGrid .p-card .photo,
  .card-grid .p-card[data-product] .photo{
    cursor:pointer;
    overflow:hidden;
  }
  #productGrid .p-card .photo img,
  .card-grid .p-card[data-product] .photo img{
    transition:transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  }
  #productGrid .p-card:hover .photo img,
  .card-grid .p-card[data-product]:hover .photo img{
    transform:scale(1.05);
  }
  #productGrid .p-card:hover h3,
  .card-grid .p-card[data-product]:hover h3{
    color:var(--accent-strong);
  }
  #productGrid .p-card:hover .view-products-btn,
  .card-grid .p-card[data-product]:hover .view-products-btn{
    color:var(--gold-strong);
  }
  #productGrid .p-card:focus-visible,
  .card-grid .p-card[data-product]:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:3px;
  }
  #productGrid .p-card:active,
  .card-grid .p-card[data-product]:active{
    transform:translateY(-1px);
  }
  .view-products-btn{ appearance:none; background:none; border:none; padding:0; margin:0; font:inherit; font-size:0.86rem; font-weight:700; color:var(--accent-strong); display:inline-flex; align-items:center; cursor:pointer; transition:color .18s ease; }
  .card-actions .cta{ margin-top:0; }
  .view-products-btn:hover{ color:var(--gold-strong); }
  .view-products-btn:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }
  .category-products{ margin-top:56px; padding-top:44px; border-top:1px solid var(--line); scroll-margin-top:96px; }
  #productGrid{ scroll-margin-top:96px; }
  .cp-head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; }
  .cp-back{ appearance:none; background:var(--surface); border:1px solid var(--line-strong); border-radius:999px; padding:9px 20px; font:inherit; font-size:0.86rem; font-weight:600; color:var(--ink); cursor:pointer; display:inline-flex; align-items:center; gap:6px; transition:border-color .15s ease, color .15s ease; }
  .cp-back:hover{ border-color:var(--accent); color:var(--accent-strong); }
  .cp-back:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
  .cp-crumb{ font-size:0.86rem; color:var(--muted); }
  .cp-crumb span:last-child{ color:var(--ink); font-weight:600; }

  /* ============ CATEGORY CARDS GRID (#productGrid) ============ */
  /* Show 5 category cards per row on laptop & desktop */
  #productGrid.card-grid{
    grid-template-columns:repeat(5,1fr);
    gap:20px;
  }
  @media (max-width:1100px){
    #productGrid.card-grid{ grid-template-columns:repeat(4,1fr); gap:18px; }
  }
  @media (max-width:860px){
    #productGrid.card-grid{ grid-template-columns:repeat(3,1fr); gap:16px; }
  }
  @media (max-width:600px){
    #productGrid.card-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
  }
  @media (max-width:400px){
    #productGrid.card-grid{ grid-template-columns:1fr; gap:14px; }
  }

  /* ============ PRODUCT CARDS DRILL-DOWN GRID (#cpGrid) ============ */
  /* Laptop / standard desktop (1025px to 1440px): 4 cards */
  #cpGrid.card-grid,
  .category-products .card-grid,
  .search-results-view .card-grid{
    grid-template-columns:repeat(4,1fr);
    gap:20px;
  }

  /* XL / Excel size systems (>= 1441px): 5 product cards */
  @media (min-width:1441px){
    .wrap{ max-width:1440px; }
    #cpGrid.card-grid,
    .category-products .card-grid,
    .search-results-view .card-grid{
      grid-template-columns:repeat(5,1fr);
      gap:22px;
    }
  }
  /* Tab view / Tablets (768px to 1024px): 3 product cards */
  @media (max-width:1024px){
    #cpGrid.card-grid,
    .category-products .card-grid,
    .search-results-view .card-grid{
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
  }
  /* Small tablets / Large mobile (561px to 767px): 2 product cards */
  @media (max-width:767px){
    #cpGrid.card-grid,
    .category-products .card-grid,
    .search-results-view .card-grid{
      grid-template-columns:repeat(2,1fr);
      gap:16px;
    }
  }
  /* Mobile (<= 560px): 1 product card */
  @media (max-width:560px){
    #cpGrid.card-grid,
    .category-products .card-grid,
    .search-results-view .card-grid{
      grid-template-columns:1fr;
      gap:16px;
    }
  }

  /* Generic cols-3 media queries */
  @media (max-width:960px){
    .card-grid.cols-3{ grid-template-columns:repeat(2,1fr); gap:18px; }
  }
  @media (max-width:600px){
    .card-grid.cols-3{ grid-template-columns:1fr; gap:16px; }
  }


  /* ============ OUR PROCESS (Solutions) ============ */
  .op-head{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:center; }
  .op-head h2{ font-size:2.05rem; font-weight:600; max-width:18ch; margin-bottom:18px; }
  .op-lede{ color:var(--muted); max-width:60ch; margin-bottom:14px; }
  .op-lede:last-of-type{ margin-bottom:0; }
  .op-head-photo .photo{ aspect-ratio:4/3; border-radius:8px; overflow:hidden; box-shadow:var(--shadow); margin-bottom:18px; }
  .op-head-photo .photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .op-quote{ font-family:'Bitter', serif; font-style:italic; color:var(--accent-strong); font-size:1.14rem; line-height:1.45; margin-bottom:10px; }
  .op-caption{ font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-strong); }
  @media (max-width:860px){ .op-head{ grid-template-columns:1fr; } .op-head-photo{ max-width:420px; } }

  .op-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:36px 24px; margin-top:60px; list-style:none; padding:0; }
  .op-step{ position:relative; display:flex; flex-direction:column; }
  .op-step-photo{ position:relative; aspect-ratio:4/3; border-radius:8px; overflow:hidden; box-shadow:var(--shadow); margin-bottom:18px; }
  .op-step-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .op-step-num{ position:absolute; top:12px; left:12px; width:36px; height:36px; border-radius:50%; background:var(--accent-strong); color:var(--on-dark); font-family:'IBM Plex Mono', monospace; font-weight:700; font-size:0.86rem; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.28); flex:none; }
  .op-step h3{ font-family:'Bitter', serif; font-size:1.04rem; font-weight:600; margin-bottom:8px; line-height:1.32; }
  .op-step p{ color:var(--muted); font-size:0.89rem; line-height:1.62; }
  @media (max-width:1100px){ .op-steps{ grid-template-columns:repeat(3,1fr); } }
  @media (max-width:860px){ .op-steps{ grid-template-columns:repeat(2,1fr); gap:32px 22px; } }
  @media (max-width:600px){ .op-steps{ grid-template-columns:1fr; max-width:400px; margin-left:auto; margin-right:auto; } }

  .op-values{ display:flex; flex-wrap:wrap; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:60px; }
  .op-value{ flex:1 1 240px; display:flex; align-items:center; gap:14px; padding:24px 26px; border-right:1px solid var(--line); }
  .op-value:last-child{ border-right:none; }
  .op-value svg{ width:26px; height:26px; color:var(--accent-strong); flex:none; }
  .op-value span{ font-size:0.92rem; font-weight:600; color:var(--ink); line-height:1.35; }
  @media (max-width:860px){
    .op-value{ flex:1 1 50%; border-bottom:1px solid var(--line); }
    .op-value:nth-child(2n){ border-right:none; }
    .op-values{ border-bottom:none; }
    .op-value:nth-last-child(-n+2){ border-bottom:none; }
  }
  @media (max-width:560px){
    .op-value{ flex:1 1 100%; border-right:none !important; border-bottom:1px solid var(--line) !important; }
    .op-value:last-child{ border-bottom:none !important; }
  }

  .process-cta{ position:relative; overflow:hidden; background:linear-gradient(160deg, var(--band-bg) 0%, var(--band-bg-2) 100%); color:var(--on-dark); }
  .process-cta .bg-photo{ position:absolute; inset:0; z-index:0; }
  .process-cta .bg-photo img{ width:100%; height:100%; object-fit:cover; opacity:0.28; }
  .process-cta .bg-photo::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, var(--band-bg) 0%, var(--band-bg) 18%, rgba(31,58,27,0.55) 48%, transparent 100%); }
  .process-cta .wrap{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
  .process-cta-copy{ max-width:620px; }
  .process-cta .eyebrow{ color:var(--band-gold); }
  .process-cta .eyebrow::before{ background:var(--band-gold); }
  .process-cta h2{ font-size:1.9rem; font-weight:600; margin-bottom:10px; max-width:20ch; }
  .process-cta p:not(.eyebrow){ color:var(--on-dark-muted); font-size:1.02rem; max-width:48ch; }
  .process-cta .actions{ flex:none; }
  @media (max-width:560px){ .process-cta .wrap{ flex-direction:column; align-items:flex-start; } }

  /* ============ PRODUCT RANGE (full category list) ============ */

  /* ============ FOUNDERS ============ */
  .founders-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:52px; align-items:stretch; }
  .founder-card{ 
    position:relative; 
    background:var(--surface); 
    border:1px solid var(--line); 
    border-radius:24px; 
    padding:38px 26px 34px; 
    text-align:center; 
    display:flex; 
    flex-direction:column; 
    align-items:center; 
    box-shadow:var(--shadow-sm); 
    transition:transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease;
    overflow:hidden;
  }
  .founder-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity:0;
    transition:opacity 0.35s ease;
  }
  .founder-card:hover{ 
    transform:translateY(-6px); 
    box-shadow:0 18px 38px rgba(24,32,20,0.12); 
    border-color:rgba(63,107,52,0.32); 
  }
  .founder-card:hover::before{
    opacity:1;
  }

  .founder-photo-wrap{ 
    position:relative; 
    width:160px; 
    height:160px; 
    margin:0 auto 24px; 
    flex-shrink:0;
  }
  .founder-photo-wrap .photo{ 
    width:100%; 
    height:100%; 
    border-radius:50%; 
    padding:4px; 
    background:linear-gradient(135deg, rgba(184,127,39,0.35) 0%, rgba(63,107,52,0.35) 100%);
    box-shadow:0 8px 24px rgba(24,32,20,0.1); 
    transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, background 0.4s ease;
  }
  .founder-card:hover .founder-photo-wrap .photo{
    transform:scale(1.03);
    background:linear-gradient(135deg, var(--gold) 0%, var(--accent) 100%);
    box-shadow:0 12px 28px rgba(63,107,52,0.22);
  }
  .founder-card .photo.has-img img{ 
    width:100%; 
    height:100%; 
    border-radius:50%; 
    object-fit:cover; 
    display:block; 
    transition:transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .founder-card:hover .photo.has-img img{ 
    transform:scale(1.05); 
  }

  .founder-avatar-badge{ 
    position:absolute; 
    bottom:4px; 
    right:4px; 
    width:38px; 
    height:38px; 
    border-radius:50%; 
    background:#0A66C2; 
    color:#FFFFFF; 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    box-shadow:0 4px 12px rgba(10,102,194,0.4); 
    border:2.5px solid var(--surface); 
    text-decoration:none; 
    transition:transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s ease, box-shadow 0.3s ease;
    z-index:2;
  }
  .founder-avatar-badge:hover,
  .founder-avatar-badge:focus-visible{ 
    transform:scale(1.18) rotate(4deg); 
    background:#004182; 
    box-shadow:0 6px 18px rgba(10,102,194,0.55); 
    outline:none;
  }
  .founder-avatar-badge svg{ width:17px; height:17px; }

  .founder-info{ display:flex; flex-direction:column; align-items:center; flex-grow:1; width:100%; }
  .founder-card h3{ font-family:'Bitter', serif; font-size:1.32rem; font-weight:600; color:var(--ink); margin-bottom:6px; letter-spacing:-0.01em; }
  .founder-card .role{ font-family:'IBM Plex Mono', monospace; font-size:0.76rem; letter-spacing:0.04em; text-transform:uppercase; color:var(--gold-strong); margin-bottom:20px; font-weight:500; }
  .founder-info > .role:last-child{ margin-bottom:6px; }

  .founder-action{ margin-top:auto; width:100%; display:flex; justify-content:center; }
  .founder-linkedin-btn{ 
    display:inline-flex; 
    align-items:center; 
    justify-content:center; 
    gap:8px; 
    padding:10px 20px; 
    border-radius:9999px; 
    font-size:0.86rem; 
    font-weight:600; 
    color:var(--ink); 
    background:rgba(30,43,28,0.06); 
    border:1px solid var(--line); 
    text-decoration:none; 
    transition:all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow:var(--shadow-sm);
  }
  .founder-linkedin-btn .li-icon{ color:#0A66C2; transition:transform 0.25s ease, color 0.25s ease; }
  .founder-linkedin-btn .arrow-icon{ opacity:0.65; transition:transform 0.25s ease, opacity 0.25s ease; }
  
  .founder-linkedin-btn:hover,
  .founder-linkedin-btn:focus-visible{ 
    background:#0A66C2; 
    color:#FFFFFF; 
    border-color:#0A66C2; 
    box-shadow:0 6px 20px rgba(10,102,194,0.35); 
    transform:translateY(-2px); 
    outline:none;
  }
  .founder-linkedin-btn:hover .li-icon,
  .founder-linkedin-btn:focus-visible .li-icon{ color:#FFFFFF; transform:scale(1.12); }
  .founder-linkedin-btn:hover .arrow-icon,
  .founder-linkedin-btn:focus-visible .arrow-icon{ opacity:1; transform:translate(2px, -2px); }

  @media (max-width:960px){ 
    .founders-grid{ grid-template-columns:repeat(2,1fr); gap:28px; } 
    .founders-grid .founder-card:last-child{ grid-column:span 2; max-width:420px; margin:0 auto; width:100%; }
  }
  @media (max-width:640px){ 
    .founders-grid{ grid-template-columns:1fr; gap:24px; max-width:400px; margin-left:auto; margin-right:auto; } 
    .founders-grid .founder-card:last-child{ grid-column:auto; }
  }

  /* ============ MAP / LOCATION ============ */
  .map-card{ border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--surface); margin-bottom:24px; box-shadow:var(--shadow-sm); }
  .map-visual{ position:relative; aspect-ratio:16/10; min-height:260px; background:var(--surface-2); overflow:hidden; }
  .map-visual iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
  .map-card .body{ padding:20px 22px 22px; display:flex; flex-direction:column; gap:14px; }
  .map-card address{ font-style:normal; font-size:0.92rem; color:var(--ink); line-height:1.6; }
  .map-card address strong{ display:block; font-family:'Bitter', serif; font-size:1rem; margin-bottom:4px; }
  .directions-link{ align-self:flex-start; font-weight:700; font-size:0.86rem; color:var(--accent-strong); text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
  .directions-link:hover{ color:var(--gold-strong); }
  .directions-link svg{ width:14px; height:14px; transition:transform .15s ease; }
  .directions-link:hover svg{ transform:translateX(3px); }

  /* ============ CERTIFICATIONS ============ */
  .certs-band{ background:var(--surface); }
  .certs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:48px; }
  .cert-card{ background:var(--bg); border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:8px; padding:34px 26px; text-align:center; display:flex; flex-direction:column; align-items:center; }
  .cert-card .badge{ width:104px; height:104px; display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
  .cert-card .badge img{ max-width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 2px 8px rgba(0,0,0,.14)); }
  .cert-card h3{ font-size:1.08rem; font-weight:600; margin-bottom:6px; }
  .cert-card .cert-id{ font-family:'IBM Plex Mono', monospace; font-size:0.74rem; letter-spacing:0.02em; color:var(--gold-strong); font-weight:700; margin-bottom:14px; }
  .cert-card p:not(.cert-id){ color:var(--muted); font-size:0.9rem; line-height:1.65; max-width:30ch; }
  @media (max-width:860px){ .certs-grid{ grid-template-columns:1fr; max-width:360px; margin-left:auto; margin-right:auto; } }

  /* ============ EXPERTISE OVERVIEW ============ */
  .expertise-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:48px; }
  .expertise-card{ display:flex; flex-direction:column; background:var(--bg); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
  .ex-body{ padding:30px 26px 26px; display:flex; flex-direction:column; flex:1; }
  .ex-body h3{ font-family:'Bitter', serif; font-size:1.16rem; font-weight:600; margin-bottom:12px; line-height:1.3; }
  .ex-body > p{ color:var(--muted); font-size:0.92rem; line-height:1.65; margin-bottom:18px; }
  .ex-links{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
  .ex-links a{ font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.02em; text-transform:uppercase; color:var(--accent-strong); background:var(--surface-2); padding:5px 11px; border-radius:20px; text-decoration:none; }
  .ex-links a:hover{ background:var(--gold); color:#241804; }
  .ex-more{ margin-top:auto; font-weight:700; font-size:0.88rem; color:var(--accent-strong); text-decoration:none; }
  .ex-more:hover{ color:var(--gold-strong); }
  .expertise-card .photo{ aspect-ratio:16/10; border-radius:0; box-shadow:none; }
  @media (max-width:960px){ .expertise-grid{ grid-template-columns:1fr; max-width:460px; margin-left:auto; margin-right:auto; } }

  /* ============ TESTIMONIALS ============ */
  .testi-marquee{
    margin-top:48px; overflow-x:auto; overflow-y:hidden; cursor:grab;
    scrollbar-width:none; -ms-overflow-style:none;
    -webkit-mask-image:linear-gradient(to right, transparent 0, black 48px, black calc(100% - 48px), transparent 100%);
    mask-image:linear-gradient(to right, transparent 0, black 48px, black calc(100% - 48px), transparent 100%);
  }
  .testi-marquee::-webkit-scrollbar{ display:none; }
  .testi-marquee:active{ cursor:grabbing; }
  .testi-track{ display:flex; align-items:center; gap:28px; width:max-content; padding:4px 0; }
  .testi-card{ flex:none; width:380px; background:var(--surface); border:1px solid var(--line-strong); border-radius:10px; padding:12px; }
  .testi-card img{ display:block; width:100%; height:auto; aspect-ratio:900/388; object-fit:cover; border-radius:8px; }
  @media (max-width:860px){ .testi-card{ width:300px; } .testi-track{ gap:18px; } }

  /* ============ INSIGHTS TEASER ============ */
  .insights-more{ text-align:center; margin-top:40px; }

  /* ============ FOOTER CERTS ============ */
  .foot-certs{ display:flex; align-items:center; gap:14px; margin-top:18px; }
  .foot-certs img{ height:32px; width:auto; border-radius:4px; background:var(--on-dark); padding:3px; }

  /* ============ WHITE LABEL ============ */
  .wl-band{ background:var(--bg); }
  .wl-top{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; margin-bottom:64px; }
  .wl-top p{ color:var(--muted); margin-bottom:14px; max-width:56ch; }
  .wl-top .photo{ aspect-ratio:5/4; }
  .wl-closing{ margin-top:64px; text-align:center; max-width:640px; margin-left:auto; margin-right:auto; }
  .wl-closing p{ font-family:'Bitter', serif; font-size:1.35rem; line-height:1.5; color:var(--ink); margin-bottom:8px; }
  .wl-closing p:first-child{ color:var(--muted); font-size:1.05rem; font-family:'Public Sans',sans-serif; font-style:italic; margin-bottom:22px; }
  .wl-closing .btn{ margin-top:28px; }

  /* ============ WHY US (fixed dark band) ============ */
  .why-us{ background:linear-gradient(160deg, var(--band-bg) 0%, var(--band-bg-2) 100%); color:var(--on-dark); }
  .why-us .section-head h1, .why-us .section-head h2, .why-us .section-head p{ color:var(--on-dark); }
  .why-us .section-head p{ color:var(--on-dark-muted); }
  .why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--band-line); }
  .why-item{ padding:30px 26px 30px 0; border-right:1px solid var(--band-line); border-bottom:1px solid var(--band-line); }
  .why-item:nth-child(3n){ border-right:none; }
  .why-grid .why-item:nth-last-child(-n+3){ border-bottom:none; }
  .why-item .mark{ font-family:'IBM Plex Mono', monospace; font-size:0.8rem; color:var(--band-gold); border:1.5px solid var(--band-gold); width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
  .why-item h3{ font-family:'Bitter', serif; font-size:1.1rem; font-weight:600; margin-bottom:10px; }
  .why-item p{ font-size:0.92rem; color:var(--on-dark-muted); }
  .why-closing{ margin-top:56px; text-align:center; font-family:'Bitter', serif; font-size:1.7rem; font-weight:600; padding-top:44px; border-top:1px solid var(--band-line); }
  @media (max-width:860px){
    .why-grid{ grid-template-columns:1fr 1fr; }
    .why-item:nth-child(2n){ border-right:none; }
    .why-grid .why-item:nth-last-child(-n+3){ border-bottom:1px solid var(--band-line); }
    .why-grid .why-item:nth-last-child(-n+2){ border-bottom:none; }
  }
  @media (max-width:560px){
    .why-grid{ grid-template-columns:1fr; }
    .why-item{ border-right:none !important; border-bottom:1px solid var(--band-line) !important; }
    .why-item:last-child{ border-bottom:none !important; }
  }

  /* ============ FINAL CTA ============ */
  .final-cta{ background:var(--gold); color:#241804; }
  .final-cta .wrap{ text-align:center; display:flex; flex-direction:column; align-items:center; }
  .final-cta h2{ font-size:2.3rem; font-weight:600; max-width:20ch; margin-bottom:16px; }
  .final-cta p{ max-width:56ch; margin-bottom:32px; color:rgba(36,24,4,0.82); font-size:1.05rem; }
  .final-cta .actions{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
  .final-cta .btn-primary{ background:#241804; color:var(--on-dark); }
  .final-cta .btn-primary:hover{ background:var(--accent-strong); }
  .final-cta .btn-ghost{ border-color:rgba(36,24,4,0.4); color:#241804; }
  .final-cta .btn-ghost:hover{ border-color:#241804; background:rgba(36,24,4,0.08); }

  /* ============ CONTACT ============ */
  .contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; }
  .contact-facts{ display:flex; flex-direction:column; border-top:1px solid var(--line); margin-bottom:24px; }
  .fact{ display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); font-size:0.92rem; }
  .fact .k{ color:var(--muted); }
  .fact .v{ font-weight:600; text-align:right; }
  .fact .v.tbd{ color:var(--muted); font-weight:500; font-style:italic; }
  .fact .v a{ color:inherit; text-decoration:none; }
  .fact .v a:hover{ color:var(--accent-strong); text-decoration:underline; }
  .contact-note{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; background:var(--surface); border:1px dashed var(--line-strong); border-radius:6px; font-size:0.85rem; color:var(--muted); }
  .wa-cta{ font-weight:700; font-size:0.86rem; color:var(--accent-strong); text-decoration:none; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
  .wa-cta:hover{ color:var(--gold-strong); }
  .wa-cta svg{ width:14px; height:14px; transition:transform .15s ease; }
  .wa-cta:hover svg{ transform:translateX(3px); }

  form{ display:flex; flex-direction:column; gap:18px; }
  .field{ display:flex; flex-direction:column; gap:7px; }
  .field label{ font-size:0.82rem; font-weight:700; }
  .field input, .field textarea, .field select{ border:1.5px solid var(--line-strong); background:var(--bg); color:var(--ink); border-radius:4px; padding:13px 14px; font-size:0.96rem; }
  .field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%235B6A52' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
  .field input:focus, .field textarea:focus, .field select:focus{ border-color:var(--accent-strong); }
  .field textarea{ resize:vertical; min-height:110px; }
  .field .err{ display:none; font-size:0.8rem; color:var(--rust); font-weight:600; }
  .field.invalid input, .field.invalid textarea, .field.invalid select{ border-color:var(--rust); }
  .field.invalid .err{ display:block; }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .submit-row{ display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; }
  .form-status{ font-size:0.9rem; font-weight:600; }
  .form-status.success{ color:var(--accent-strong); }
  @media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } .form-row{ grid-template-columns:1fr; } }

  /* ===== Product Interest multi-select ===== */
  .ms-wrap{ position:relative; }
  .ms-toggle{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-height:47px; border:1.5px solid var(--line-strong); background:var(--bg); color:var(--ink); border-radius:4px; padding:9px 36px 9px 14px; font-size:0.96rem; cursor:pointer; position:relative; }
  .ms-toggle::after{ content:''; position:absolute; right:14px; top:50%; transform:translateY(-50%); width:14px; height:9px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%235B6A52' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-size:contain; pointer-events:none; }
  .ms-toggle:focus{ outline:none; border-color:var(--accent-strong); }
  .ms-toggle[aria-expanded="true"]{ border-color:var(--accent-strong); }
  .field.invalid .ms-toggle{ border-color:var(--rust); }
  .ms-value{ display:flex; flex-wrap:wrap; gap:6px; flex:1; }
  .ms-placeholder{ color:var(--muted); }
  .ms-chip{ display:inline-flex; align-items:center; gap:5px; background:var(--surface-2); border:1px solid var(--line); border-radius:20px; padding:3px 6px 3px 10px; font-size:0.82rem; font-weight:600; color:var(--ink); line-height:1.5; }
  .ms-chip button{ border:none; background:none; padding:0; margin:0; cursor:pointer; color:var(--muted); font-size:1rem; line-height:1; display:flex; align-items:center; }
  .ms-chip button:hover{ color:var(--rust); }
  .ms-panel{ position:absolute; z-index:20; top:calc(100% + 6px); left:0; right:0; background:var(--bg); border:1.5px solid var(--line-strong); border-radius:6px; box-shadow:var(--shadow); padding:6px; max-height:270px; overflow-y:auto; }
  .ms-option{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:4px; cursor:pointer; font-size:0.92rem; }
  .ms-option:hover{ background:var(--surface-2); }
  .ms-option input{ width:16px; height:16px; margin:0; accent-color:var(--accent-strong); flex-shrink:0; }
  .ms-selectall{ font-weight:700; border-bottom:1px solid var(--line); border-radius:0; margin-bottom:4px; padding-bottom:11px; }
  @media (max-width:520px){ .ms-panel{ max-height:220px; } }

  /* ============ FOOTER ============ */
  footer{ background:#17210F; color:rgba(243,238,221,0.78); padding:64px 0 26px; }
  .foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(243,238,221,0.14); }
  .foot-grid h4{ color:var(--on-dark); font-size:0.82rem; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; margin-bottom:16px; }
  .foot-grid ul{ list-style:none; display:flex; flex-direction:column; gap:9px; font-size:0.9rem; }
  .foot-grid ul a{ text-decoration:none; }
  .foot-grid ul a:hover{ color:var(--band-gold); }
  .foot-brand{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
  .foot-brand span{ font-family:'Bitter', serif; font-weight:600; color:var(--on-dark); font-size:1.08rem; }
  .foot-grid p{ font-size:0.88rem; max-width:32ch; }
  .foot-socials{ display:flex; align-items:center; gap:10px; margin-top:18px; }
  .foot-social-btn{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:8px; background:rgba(243,238,221,0.08); border:1px solid rgba(243,238,221,0.14); color:var(--on-dark); text-decoration:none; transition:all .22s cubic-bezier(0.16, 1, 0.3, 1); }
  .foot-social-btn:hover{ background:var(--gold); border-color:var(--gold); color:#17210F; transform:translateY(-2px); box-shadow:0 6px 14px rgba(0,0,0,0.25); }
  .foot-social-btn svg{ width:18px; height:18px; transition:transform .2s ease; }
  .foot-social-btn:hover svg{ transform:scale(1.08); }
  .foot-bottom{ padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:0.78rem; }
  @media (max-width:860px){ .foot-grid{ grid-template-columns:1fr 1fr; gap:30px 24px; } }
  @media (max-width:560px){ .foot-grid{ grid-template-columns:1fr; } .wrap{ padding-left:20px; padding-right:20px; } .nav{ padding:14px 20px; } }

  /* ============ BACK TO TOP ============ */
  .totop{ position:fixed; right:22px; bottom:22px; z-index:60; width:44px; height:44px; border-radius:50%; border:1px solid var(--line-strong); background:var(--bg); color:var(--ink); cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .2s ease; box-shadow:var(--shadow-sm); }
  .totop.show{ opacity:1; pointer-events:auto; }
  .totop svg{ width:18px; height:18px; }

  /* ============ RESPONSIVE — general ============ */
  @media (max-width:980px){
    section{ padding:72px 0; }
    .hero{ grid-template-columns:1fr; padding-top:40px; padding-bottom:56px; gap:36px; }
    .hero h1{ font-size:2.4rem; }
    .intro, .about-grid, .wl-top, .contact-grid, .mv-grid{ grid-template-columns:1fr; }
    .mv-item{ border-right:none; border-bottom:1px solid var(--line); padding:0 0 30px !important; }
    .mv-item:last-child{ border-bottom:none; padding-top:30px !important; }
  }
  @media (max-width:480px){
    .proof{ justify-content:center; gap:28px 24px; }
    .proof-item{ flex:0 1 40%; }
  }

  /* ============ BLOG ============ */
  .blog-card{ text-decoration:none; color:inherit; background:var(--surface); border:1px solid var(--line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease; }
  .blog-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
  .blog-card .photo{ aspect-ratio:16/10; border-radius:0; box-shadow:none; }
  .blog-card .body{ padding:24px 22px 26px; display:flex; flex-direction:column; flex:1; }
  .blog-card .tag{ font-family:'IBM Plex Mono', monospace; font-size:0.74rem; letter-spacing:0.02em; text-transform:uppercase; color:var(--gold-strong); margin-bottom:10px; }
  .blog-card h3{ font-size:1.08rem; font-weight:600; margin-bottom:10px; line-height:1.32; }
  .blog-card p{ color:var(--muted); font-size:0.92rem; margin-bottom:16px; }
  .blog-card .read{ margin-top:auto; font-weight:700; font-size:0.86rem; color:var(--accent-strong); display:inline-flex; align-items:center; gap:6px; }
  .blog-card .read svg{ width:14px; height:14px; transition:transform .15s ease; }
  .blog-card:hover .read svg{ transform:translateX(3px); }

  .back-link{ display:inline-block; font-weight:700; font-size:0.9rem; color:var(--accent-strong); text-decoration:none; margin-bottom:28px; }
  .back-link:hover{ color:var(--gold-strong); }
  .article-wrap{ max-width:760px; }
  .article-wrap .tag{ font-family:'IBM Plex Mono', monospace; font-size:0.78rem; letter-spacing:0.02em; text-transform:uppercase; color:var(--gold-strong); margin-bottom:14px; }
  .article-wrap h1{ font-family:'Bitter', serif; font-size:2.1rem; font-weight:600; line-height:1.2; margin-bottom:28px; max-width:26ch; }
  .article-hero{ aspect-ratio:16/9; margin-bottom:40px; }
  .article-body p{ font-size:1.02rem; line-height:1.75; color:var(--ink); margin-bottom:22px; }
  .article-body h2{ font-family:'Bitter', serif; font-size:1.35rem; font-weight:600; margin:38px 0 16px; }
  .article-body ul{ margin:0 0 22px; padding-left:22px; }
  .article-body ul li{ font-size:1.02rem; line-height:1.75; color:var(--ink); margin-bottom:10px; }
  .article-body ul li:last-child{ margin-bottom:0; }
  .article-body strong{ font-weight:700; }
  .article-cta{ margin-top:20px; padding-top:32px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
  .article-cta p{ font-weight:700; font-size:1.02rem; margin:0; }
  @media (max-width:560px){ .article-wrap h1{ font-size:1.65rem; } .article-cta{ flex-direction:column; align-items:flex-start; } }

/* ============ FAQ (Contact page) ============ */
.faq-section{ margin-bottom:64px; }
.faq-list{ border-top:1px solid var(--line); max-width:860px; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 4px; font-family:'Bitter', serif; font-size:1.02rem; font-weight:600; color:var(--ink); }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary:focus-visible{ outline:2px solid var(--focus); outline-offset:3px; border-radius:4px; }
.faq-chev{ width:18px; height:18px; flex:none; color:var(--accent-strong); transition:transform .2s ease; }
.faq-item[open] .faq-chev{ transform:rotate(180deg); }
.faq-a-wrap{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .25s ease; }
.faq-item[open] .faq-a-wrap{ grid-template-rows:1fr; }
.faq-a-inner{ overflow:hidden; }
.faq-a{ color:var(--muted); font-size:0.95rem; line-height:1.7; padding:0 4px 20px; max-width:70ch; }
.faq-cta{ display:inline-block; margin-top:2px; font-weight:700; color:var(--accent-strong); text-decoration:none; }
.faq-cta:hover{ color:var(--gold-strong); text-decoration:underline; }

/* ============ CONTACT FORM (standalone, below map, Contact page) ============ */
.contact-form-standalone{ max-width:700px; margin:48px auto 0; }

#faq-sec .section-head{ margin-bottom:36px; }
#faq-sec .section-head h2{ max-width:none; text-wrap:wrap; }

/* ============ B2B QUOTE CART & PRODUCT CATALOG CONTROLS ============ */
.nav-actions{ display:flex; align-items:center; gap:12px; }
.nav-cart-btn{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--surface); color:var(--ink);
  border:1px solid var(--line-strong); padding:8px 16px;
  border-radius:4px; font-size:0.86rem; font-weight:700;
  cursor:pointer; position:relative;
  transition:border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.nav-cart-btn:hover{
  border-color:var(--accent-strong); color:var(--accent-strong);
  transform:translateY(-1px); box-shadow:var(--shadow-sm);
}
.cart-icon-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.cart-icon-wrap .cart-icon{ flex:none; color:var(--accent-strong); }
.cart-badge{
  position:absolute;
  top:-7px;
  right:-9px;
  display:inline-flex; align-items:center; justify-content:center;
  min-width:18px; height:18px; padding:0 4px;
  border-radius:9999px; background:var(--accent-strong);
  color:#fff; font-family:'IBM Plex Mono', monospace;
  font-size:0.68rem; font-weight:700; line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,0.2);
  border:2px solid var(--surface);
  box-sizing:border-box;
  transition:transform .2s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color .2s ease;
}
:root[data-theme="dark"] .cart-badge{
  border-color:var(--surface);
}
.cart-badge.has-items{ background:var(--accent-strong); }
.cart-badge.bump{
  animation:badgePulse 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes badgePulse{
  0%{ transform:scale(0.8); }
  50%{ transform:scale(1.35); }
  100%{ transform:scale(1); }
}

.mobile-cart-btn{
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; padding:12px; margin-top:8px;
  border:1px solid var(--line-strong); background:var(--surface);
  color:var(--ink); border-radius:4px; font-weight:700; font-size:0.95rem;
  cursor:pointer; transition:border-color .15s ease, color .15s ease;
}
/* ============ PREMIUM STICKY PRODUCT SEARCH BAR ============ */
.product-search-bar-wrap{
  position:-webkit-sticky;
  position:sticky;
  top:73px;
  z-index:65;
  background:var(--bg);
  padding:12px 0 16px 0;
  margin-bottom:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.product-search-row{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
}
.product-search-row .product-search-box{
  flex:1 1 auto;
  min-width:0;
}
.search-back-cats{
  appearance:none;
  flex:0 0 auto;
  white-space:nowrap;
  background:var(--surface);
  border:1.5px solid var(--line-strong);
  border-radius:12px;
  padding:12px 14px;
  font:inherit;
  font-size:0.82rem;
  font-weight:600;
  color:var(--ink);
  cursor:pointer;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.search-back-cats:hover{
  border-color:var(--accent-strong);
  color:var(--accent-strong);
  background:var(--bg);
}
.search-back-cats:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
@media (max-width:560px){
  .product-search-bar-wrap{
    top:59px;
    padding:10px 0 14px 0;
    margin-bottom:18px;
  }
  .search-back-cats{
    padding:10px 10px;
    font-size:0.74rem;
    border-radius:10px;
  }
}
.product-search-box{
  position:relative;
  display:flex;
  align-items:center;
  background:var(--surface);
  border:1.5px solid var(--line-strong);
  border-radius:12px;
  padding:4px 16px;
  box-shadow:0 4px 16px rgba(24,32,20,0.04);
  transition:border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.product-search-box:focus-within{
  border-color:var(--accent-strong);
  box-shadow:0 6px 24px rgba(63,107,52,0.14);
  background:var(--bg);
}
.product-search-box .search-ico{
  width:20px;
  height:20px;
  color:var(--muted);
  flex-shrink:0;
  margin-right:12px;
  transition:color 0.2s ease;
}
.product-search-box:focus-within .search-ico{
  color:var(--accent-strong);
}
.product-search-input{
  flex:1;
  border:none;
  background:transparent;
  font-family:'Public Sans', sans-serif;
  font-size:1.02rem;
  color:var(--ink);
  padding:12px 0;
  outline:none;
}
.product-search-input::-webkit-search-cancel-button,
.product-search-input::-webkit-search-decoration,
.product-search-input::-webkit-search-results-button,
.product-search-input::-webkit-search-results-decoration {
  -webkit-appearance:none !important;
  appearance:none !important;
  display:none !important;
}
.product-search-input::-ms-clear,
.product-search-input::-ms-reveal {
  display:none !important;
  width:0 !important;
  height:0 !important;
}
.product-search-input::placeholder{
  color:var(--muted);
  font-weight:400;
  opacity:0.85;
}
.product-search-clear{
  appearance:none;
  background:transparent;
  border:none;
  font-size:1.4rem;
  line-height:1;
  color:var(--muted);
  cursor:pointer;
  padding:6px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color 0.15s ease, background 0.15s ease;
}
.product-search-clear:hover{
  color:var(--ink);
  background:rgba(0,0,0,0.06);
}
.product-search-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 4px;
  font-size:0.9rem;
}
.search-result-count{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.85rem;
  font-weight:600;
  color:var(--accent-strong);
}
.btn-clear-filter{
  appearance:none;
  background:none;
  border:none;
  color:var(--gold-strong);
  font-size:0.86rem;
  font-weight:600;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color 0.15s ease;
}
.btn-clear-filter:hover{
  color:var(--accent-strong);
}

.search-results-view{
  margin-top:8px;
}
.search-empty-state{
  text-align:center;
  padding:64px 24px;
  background:var(--surface);
  border:1.5px dashed var(--line-strong);
  border-radius:16px;
  margin-top:16px;
}
.search-empty-state .empty-icon-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(63,107,52,0.08);
  color:var(--muted);
  margin-bottom:16px;
}
.search-empty-state h3{
  font-family:'Bitter', serif;
  font-size:1.3rem;
  color:var(--ink);
  margin-bottom:8px;
}
.search-empty-state p{
  color:var(--muted);
  font-size:0.95rem;
  max-width:48ch;
  margin:0 auto 24px;
}

/* Product Card Quote CTA & Stepper */
.category-products .p-card .body,
.search-results-view .p-card .body{
  padding:20px 14px 22px;
}
.p-card .p-cat-tag{
  display:inline-block; font-family:'IBM Plex Mono', monospace;
  font-size:0.68rem; letter-spacing:0.04em; text-transform:uppercase;
  color:var(--gold-strong); margin-bottom:6px; font-weight:600;
}
.p-card .p-desc{
  color:var(--muted); font-size:0.88rem; line-height:1.5;
  margin-bottom:14px; flex-grow:1;
}
.p-quote-actions{
  margin-top:auto; padding-top:12px; border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; width:100%;
}
.btn-add-quote{
  appearance:none; border:1px solid var(--accent-strong);
  background:var(--accent-strong); color:var(--on-dark);
  padding:8px 6px; border-radius:4px; font-size:0.75rem; font-weight:700;
  letter-spacing:-0.01em;
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  cursor:pointer; width:100%; transition:all .15s ease;
  white-space:nowrap; text-align:center;
}
.btn-add-quote span{
  white-space:nowrap;
}
.btn-add-quote svg{ width:14px; height:14px; flex:none; }
.btn-add-quote:hover{
  background:var(--gold-strong); border-color:var(--gold-strong);
  transform:translateY(-1px);
}
.card-qty-control{
  display:flex; align-items:center; justify-content:space-between;
  width:100%; background:var(--surface-2); border:1px solid var(--accent);
  border-radius:4px; padding:2px;
}
.card-qty-btn{
  appearance:none; border:none; background:transparent;
  color:var(--ink); width:28px; height:28px; font-size:1.1rem;
  font-weight:700; display:flex; align-items:center; justify-content:center;
  cursor:pointer; border-radius:3px; transition:background .15s ease;
}
.card-qty-btn:hover{ background:rgba(0,0,0,0.08); }
.card-qty-val{
  font-family:'IBM Plex Mono', monospace; font-size:0.84rem;
  font-weight:700; color:var(--accent-strong); padding:0 8px;
}

/* ============ SLIDE-OVER / MOBILE BOTTOM-SHEET QUOTE CART DRAWER ============ */
.cart-drawer-overlay{
  position:fixed; inset:0; z-index:900;
  background:rgba(18,24,15,0.65);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  opacity:0; transition:opacity .28s cubic-bezier(0.16, 1, 0.3, 1);
}
.cart-drawer-overlay.open{ opacity:1; }

.cart-drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:910;
  width:min(420px, 90vw); max-width:100%;
  height:100vh; height:100dvh; max-height:100dvh;
  background:var(--bg);
  box-shadow:-12px 0 40px rgba(0,0,0,0.28);
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(0.16, 1, 0.3, 1);
  overflow:hidden;
  box-sizing:border-box;
}
.cart-drawer.open{ transform:translateX(0); }

.cart-drawer-header{
  padding:16px 20px; border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
  background:var(--surface); flex:0 0 auto;
  box-sizing:border-box; width:100%;
}
.cart-header-title{ display:flex; align-items:center; gap:12px; min-width:0; }
.cart-header-icon-wrap{
  width:38px; height:38px; border-radius:10px;
  background:var(--surface-2); color:var(--accent-strong);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  box-shadow:inset 0 1px 2px rgba(0,0,0,0.06);
}
.cart-header-title h2{
  font-family:'Bitter', serif; font-size:1.18rem; font-weight:700; line-height:1.2; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.cart-subtitle{
  display:block; font-size:0.75rem; color:var(--gold-strong); font-family:'IBM Plex Mono', monospace; font-weight:600; margin-top:2px;
}
.cart-header-actions{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.btn-clear-cart{
  appearance:none; border:none; background:rgba(138,74,47,0.08);
  color:var(--rust); font-size:0.75rem; font-weight:700; font-family:'IBM Plex Mono', monospace;
  cursor:pointer; padding:6px 12px; border-radius:9999px;
  transition:all .18s ease; text-transform:uppercase; letter-spacing:0.03em;
}
.btn-clear-cart:hover{ background:rgba(138,74,47,0.18); transform:scale(1.02); }
.btn-close-cart{
  appearance:none; border:1px solid var(--line); background:var(--surface-2);
  color:var(--ink); width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .18s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink:0;
}
.btn-close-cart svg{ width:16px; height:16px; }
.btn-close-cart:hover{ border-color:var(--accent-strong); background:var(--bg); transform:rotate(90deg); color:var(--accent-strong); }

.cart-drawer-body{
  flex:1 1 0;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:16px 20px;
  display:flex;
  flex-direction:column;
  gap:12px;
  box-sizing:border-box;
  width:100%;
}

/* Cart Items */
.cart-items-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
  flex:0 0 auto;
}
.cart-item-card{
  display:grid; grid-template-columns:60px 1fr auto; gap:12px;
  align-items:center; padding:12px 14px; background:var(--surface);
  border:1px solid var(--line); border-radius:14px;
  box-shadow:var(--shadow-sm);
  transition:all .2s cubic-bezier(0.16, 1, 0.3, 1);
  min-width:0; box-sizing:border-box; width:100%;
}
.cart-item-card:hover{ border-color:rgba(63,107,52,0.35); box-shadow:0 6px 16px rgba(0,0,0,0.06); }
.cart-item-thumb{
  width:60px; height:60px; border-radius:10px; overflow:hidden;
  background:var(--surface-2); position:relative; flex-shrink:0;
  border:1px solid var(--line);
}
.cart-item-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.cart-item-info{ display:flex; flex-direction:column; min-width:0; }
.cart-item-cat{
  font-family:'IBM Plex Mono', monospace; font-size:0.65rem;
  letter-spacing:0.04em; text-transform:uppercase; color:var(--gold-strong); font-weight:700;
}
.cart-item-title{
  font-size:0.9rem; font-weight:700; color:var(--ink); line-height:1.3;
  margin:2px 0 6px; word-break:break-word;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.cart-item-stepper{
  display:inline-flex; align-items:center; background:var(--bg);
  border:1px solid var(--line-strong); border-radius:8px; overflow:hidden;
  align-self:flex-start; height:32px;
}
.cart-item-btn{
  appearance:none; border:none; background:transparent;
  color:var(--ink); width:32px; height:100%; font-size:1rem; font-weight:600;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .15s ease, color .15s ease;
}
.cart-item-btn:hover, .cart-item-btn:active{ background:rgba(63,107,52,0.12); color:var(--accent-strong); }
.cart-item-qty{
  font-family:'IBM Plex Mono', monospace; font-size:0.84rem;
  font-weight:700; color:var(--ink); min-width:36px; text-align:center;
}
.cart-item-qty-input{
  appearance:textfield;
  -moz-appearance:textfield;
  border:none; background:transparent;
  width:42px; height:100%;
  padding:0 2px; outline:none;
  font-family:'IBM Plex Mono', monospace; font-size:0.84rem;
  font-weight:700; color:var(--ink); text-align:center;
}
.cart-item-qty-input::-webkit-outer-spin-button,
.cart-item-qty-input::-webkit-inner-spin-button{
  -webkit-appearance:none; margin:0;
}
.cart-item-remove{
  appearance:none; border:none; background:rgba(138,74,47,0.06);
  color:var(--muted); cursor:pointer; width:36px; height:36px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  transition:all .18s ease; flex-shrink:0;
}
.cart-item-remove svg{ width:16px; height:16px; }
.cart-item-remove:hover, .cart-item-remove:active{ color:var(--rust); background:rgba(138,74,47,0.16); transform:scale(1.08); }

/* Cart Empty State */
.cart-empty{
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center; padding:32px 16px;
  margin:auto 0;
}
.cart-empty-icon{
  width:56px; height:56px; border-radius:50%;
  background:var(--surface-2); color:var(--muted);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
}
.cart-empty-icon svg{ width:24px; height:24px; }
.cart-empty h3{ font-family:'Bitter', serif; font-size:1.15rem; font-weight:600; margin-bottom:6px; }
.cart-empty p{ color:var(--muted); font-size:0.86rem; max-width:28ch; margin-bottom:18px; }
.cart-empty-notes{
  display:flex;
  flex-direction:column;
  gap:2px;
  align-items:flex-start;
  text-align:left;
  max-width:32ch;
  margin:0 auto 16px;
  padding:8px 12px;
  border-radius:8px;
  background:rgba(201, 162, 39, 0.12);
  border:1px solid rgba(201, 162, 39, 0.35);
}
.cart-empty-notes span{
  font-size:0.78rem;
  color:var(--muted);
  line-height:1.35;
}

/* Cart Drawer Footer (Always Stable & Accessible) */
.cart-drawer-footer{
  padding:8px 14px calc(8px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid var(--line);
  background:var(--surface); flex:0 0 auto;
  display:flex; flex-direction:column; gap:6px;
  box-shadow:0 -4px 14px rgba(0,0,0,0.05);
  box-sizing:border-box; width:100%;
  max-height:42vh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.cart-drawer-summary{
  display:flex;
  flex-direction:column;
  gap:4px;
  width:100%;
}
.cart-net-qty{
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:8px;
  background:var(--surface-2);
  border:1px solid var(--line);
  font-size:0.8rem;
  color:var(--ink);
  line-height:1.25;
}
.cart-net-qty svg{ width:14px; height:14px; flex-shrink:0; }
.cart-net-qty strong{ font-weight:700; }
.cart-info-notes{
  display:flex;
  flex-direction:column;
  gap:0;
}
.cart-info-note{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:6px 10px;
  border-radius:8px;
  background:rgba(201, 162, 39, 0.12);
  border:1px solid rgba(201, 162, 39, 0.35);
  line-height:1.25;
}
.cart-info-note strong{
  font-size:0.74rem;
  font-weight:700;
  color:var(--ink);
  margin-bottom:1px;
}
.cart-info-note span{
  font-size:0.7rem;
  color:var(--muted);
  line-height:1.3;
}
.cart-notes-wrap{ width:100%; }
.cart-notes-label{
  display:block;
  font-size:0.68rem;
  font-weight:700;
  color:var(--muted);
  font-family:'IBM Plex Mono', monospace;
  text-transform:uppercase;
  letter-spacing:0.03em;
  margin-bottom:4px;
}
.cart-notes-input{
  width:100%; border:1px solid var(--line-strong); border-radius:8px;
  background:var(--surface); font-family:inherit; font-size:0.84rem;
  color:var(--ink); padding:8px 10px; resize:none; min-height:44px; outline:none;
  transition:border-color .2s ease; box-sizing:border-box;
}
.cart-notes-input:focus{ border-color:var(--accent-strong); }

.cart-footer-actions{
  display:flex;
  flex-direction:row;
  align-items:stretch;
  gap:8px;
  width:100%;
}
.btn-continue-browsing{
  flex:0 0 40%;
  width:40%;
  max-width:40%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:8px 8px;
  font-size:0.72rem;
  font-weight:600;
  border-radius:10px;
  background:rgba(30,43,28,0.05);
  color:var(--ink);
  border:1px solid var(--line);
  cursor:pointer;
  transition:all .2s cubic-bezier(0.16, 1, 0.3, 1);
  font-family:'Public Sans', sans-serif;
  user-select:none;
  min-height:44px;
  box-sizing:border-box;
  line-height:1.2;
  text-align:center;
}
.btn-continue-browsing .btn-continue-label{
  display:inline;
  white-space:normal;
}
.btn-request-quote{
  flex:1 1 60%;
  width:auto;
  min-width:0;
  justify-content:center;
  padding:10px 12px;
  font-size:0.84rem;
  border-radius:10px;
}
.btn-wa-quote{
  background:linear-gradient(135deg, #25D366 0%, #1EBE5D 100%); color:#ffffff; border:none;
  font-weight:700; display:inline-flex; align-items:center; justify-content:center; gap:6px;
  box-shadow:0 3px 12px rgba(37,211,102,0.28);
  transition:all .2s cubic-bezier(0.16, 1, 0.3, 1);
  letter-spacing:0.01em; min-height:44px; box-sizing:border-box;
}
.btn-wa-quote span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.btn-wa-quote:hover{
  background:linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color:#ffffff; transform:translateY(-1px);
  box-shadow:0 5px 16px rgba(37,211,102,0.38);
}
.btn-wa-quote:active{ transform:scale(0.98); }
.wa-btn-icon{
  width:16px; height:16px; flex-shrink:0;
}
:root[data-theme="dark"] .btn-continue-browsing{
  background:rgba(255,255,255,0.06); color:var(--ink); border-color:var(--line);
}
.btn-continue-browsing:hover{
  background:var(--surface-2); border-color:var(--line-strong); color:var(--accent-strong);
  transform:translateY(-1px);
}
.btn-continue-browsing:active{
  transform:scale(0.985);
}
.btn-continue-browsing svg{
  transition:transform .2s ease;
  color:var(--muted);
}
.btn-continue-browsing:hover svg{
  transform:translateX(-3px);
  color:var(--accent-strong);
}

/* ============ MOBILE QUOTE CART (< 768px): FULL-HEIGHT RESPONSIVE DRAWER ============ */
@media (max-width: 768px){
  .cart-drawer{
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    box-shadow: none;
    transform: translateY(100%);
    transition: transform .32s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--bg);
    z-index: 999;
  }
  .cart-drawer.open{
    transform: translateY(0);
  }
  .cart-drawer-header{
    padding: 14px 16px;
    flex: 0 0 auto;
    background: var(--surface);
  }
  .cart-header-title h2{
    font-size: 1.12rem;
  }
  .cart-drawer-body{
    padding: 14px 16px;
    gap: 10px;
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .cart-item-card{
    padding: 12px;
    border-radius: 12px;
    grid-template-columns: 56px 1fr auto;
    gap: 10px;
  }
  .cart-item-thumb{
    width: 56px;
    height: 56px;
    border-radius: 8px;
  }
  .cart-drawer-footer{
    padding: 8px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    gap: 5px;
    flex: 0 0 auto;
    background: var(--surface);
    border-top: 1px solid var(--line);
    max-height: 40vh;
  }
}

/* ============ CRITICAL 320px–360px VIEWPORT TEST ============ */
@media (max-width: 360px){
  .cart-drawer-header{ padding: 10px 12px; }
  .cart-header-icon-wrap{ width: 32px; height: 32px; border-radius: 8px; }
  .cart-header-icon-wrap svg{ width: 16px; height: 16px; }
  .cart-header-title h2{ font-size: 1rem; }
  .btn-clear-cart{ padding: 4px 8px; font-size: 0.7rem; }
  .btn-close-cart{ width: 32px; height: 32px; }
  .cart-drawer-body{ padding: 10px 12px; gap: 8px; }
  .cart-item-card{ grid-template-columns: 46px 1fr auto; gap: 8px; padding: 10px; }
  .cart-item-thumb{ width: 46px; height: 46px; }
  .cart-item-title{ font-size: 0.84rem; }
  .cart-drawer-footer{ padding: 6px 10px calc(8px + env(safe-area-inset-bottom, 0px)); gap: 4px; }
  .btn-request-quote{ padding: 9px 12px; font-size: 0.82rem; min-height: 38px; }
  .btn-continue-browsing{ padding: 7px 12px; font-size: 0.76rem; min-height: 34px; }
  .cart-net-qty, .cart-info-note{ padding: 5px 8px; }
}

/* ============ TOAST NOTIFICATIONS ============ */
.toast-container{
  position:fixed; bottom:24px; right:24px; z-index:950;
  display:flex; flex-direction:column; gap:10px; pointer-events:none;
  max-width:360px; width:calc(100vw - 48px);
}
@media (max-width: 640px){
  .toast-container{
    bottom:auto;
    top:16px;
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:min(340px, calc(100vw - 32px));
  }
  @keyframes toastSlideIn{
    from{ opacity:0; transform:translateY(-15px); }
    to{ opacity:1; transform:translateY(0); }
  }
}
.toast-item{
  pointer-events:auto; display:flex; align-items:center; justify-content:space-between;
  gap:12px; background:var(--band-bg); color:var(--on-dark);
  padding:12px 16px; border-radius:6px; box-shadow:0 6px 20px rgba(0,0,0,0.25);
  font-size:0.86rem; border-left:4px solid var(--band-gold);
  animation:toastSlideIn .25s cubic-bezier(0.16, 1, 0.3, 1);
  transition:opacity .25s ease, transform .25s ease;
}
.toast-item.leaving{
  opacity:0; transform:translateY(10px);
}
.toast-text{ display:flex; align-items:center; gap:8px; line-height:1.35; }
.toast-text svg{ width:16px; height:16px; color:var(--band-gold); flex:none; }
.toast-view-btn{
  appearance:none; border:none; background:transparent;
  color:var(--band-gold); font-size:0.8rem; font-weight:700;
  cursor:pointer; white-space:nowrap; text-decoration:underline; padding:0;
}
.toast-view-btn:hover{ color:#fff; }
@keyframes toastSlideIn{
  from{ opacity:0; transform:translateY(20px); }
  to{ opacity:1; transform:translateY(0); }
}

/* ============ INLINE PRODUCT CARD VARIANT & QUANTITY UX ============ */
.p-card.inline-group-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  position:relative;
}
.p-card.inline-group-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}
.p-card.inline-group-card.in-cart-parent{
  border-color:rgba(28,63,58,0.45);
}
.p-card.inline-group-card .photo{
  aspect-ratio:4/3;
  width:100%;
  overflow:hidden;
  background:var(--surface-2);
}
.p-card.inline-group-card .photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}
.p-card.inline-group-card .body{
  padding:14px 12px 14px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.p-card.inline-group-card .p-cat-tag{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.65rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--gold-strong);
  margin-bottom:3px;
}
.p-card.inline-group-card .p-title{
  font-family:'Bitter', serif;
  font-size:0.98rem;
  font-weight:700;
  line-height:1.3;
  color:var(--ink);
  margin:0 0 8px;
  min-height:42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.p-card-divider{
  border-top:1px dashed var(--line);
  margin:0 0 8px;
  width:100%;
}
.inline-pack-section{
  margin-bottom:8px;
}
.inline-section-label{
  display:block;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.64rem;
  text-transform:uppercase;
  letter-spacing:0.04em;
  font-weight:700;
  color:var(--muted);
  margin-bottom:5px;
}
.inline-pack-pills{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  min-height:28px;
}
.inline-pack-pill{
  appearance:none;
  border:1.5px solid var(--line);
  background:var(--bg);
  color:var(--ink);
  padding:4px 8px;
  border-radius:5px;
  font-size:0.76rem;
  font-weight:600;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:4px;
  transition:all .15s ease;
}
.inline-pack-pill:hover{
  border-color:var(--accent-strong);
  background:var(--surface-2);
}
.inline-pack-pill.active{
  background:var(--accent-strong);
  color:var(--on-dark);
  border-color:var(--accent-strong);
  box-shadow:0 2px 8px rgba(28,63,58,0.2);
}

/* Bottom Bar: Quantity + Button on ONE Horizontal Row */
.p-card-bottom-bar{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-top:6px;
}
.inline-action-row{
  display:flex;
  align-items:center;
  gap:6px;
  width:100%;
}
.inline-qty-picker{
  display:inline-flex;
  align-items:center;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  height:36px;
  flex-shrink:0;
}
.i-qty-btn{
  appearance:none;
  border:none;
  background:transparent;
  color:var(--ink);
  width:26px;
  height:36px;
  font-size:1rem;
  font-weight:700;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease;
}
.i-qty-btn:hover{
  background:rgba(0,0,0,0.08);
}
.i-qty-val{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.82rem;
  font-weight:700;
  color:var(--accent-strong);
  min-width:28px;
  text-align:center;
}
.i-qty-input{
  appearance:textfield;
  -moz-appearance:textfield;
  border:none;
  background:transparent;
  width:36px;
  height:36px;
  padding:0 2px;
  outline:none;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.82rem;
  font-weight:700;
  color:var(--accent-strong);
  text-align:center;
}
.i-qty-input::-webkit-outer-spin-button,
.i-qty-input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* Action Button */
.btn-add-inline-cart{
  appearance:none;
  border:1px solid var(--accent-strong);
  background:var(--accent-strong);
  color:var(--on-dark);
  padding:0 8px;
  border-radius:6px;
  font-size:0.78rem;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  flex:1;
  min-width:0;
  height:36px;
  white-space:nowrap;
  transition:all .15s ease;
}
.btn-add-inline-cart:hover{
  background:var(--gold-strong);
  border-color:var(--gold-strong);
  transform:translateY(-1px);
}
.btn-add-inline-cart.is-in-cart{
  background:var(--accent-strong);
  border-color:var(--accent-strong);
}
.btn-add-inline-cart svg{
  flex-shrink:0;
}
.btn-add-inline-cart .btn-add-text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Mobile responsive adjustments */
@media (max-width: 680px){
  .p-card.inline-group-card .body{
    padding:16px 14px 16px;
  }
  .inline-pack-pill{
    min-height:34px;
    padding:6px 12px;
    font-size:0.82rem;
  }
  .inline-qty-picker, .btn-add-inline-cart{
    height:40px;
  }
  .i-qty-btn{
    width:32px;
    height:40px;
  }
  .btn-add-inline-cart{
    font-size:0.84rem;
  }
}
