:root {
      --green: #176b45;
      --green-dark: #0d4b2f;
      --green-soft: #e5f0e9;
      --ink: #111815;
      --warm-white: #f7f5ef;
      --paper: #fffdf8;
      --stone: #d9d7cf;
      --stone-light: #ece9e1;
      --yellow: #ffd633;
      --muted: #5f6762;
      --danger: #9f3028;
      --max: 1180px;
      --shadow: 0 18px 45px rgba(17, 24, 21, .09);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--warm-white);
      color: var(--ink);
      font-family: Inter, Arial, sans-serif;
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
    }

    body.dialog-open { overflow: hidden; }
    button, input, textarea, select { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    img { max-width: 100%; }
    a { color: inherit; }

    .wrap {
      width: min(calc(100% - 40px), var(--max));
      margin-inline: auto;
    }

    .site-header {
      position: sticky;
      z-index: 20;
      top: 0;
      border-bottom: 1px solid rgba(217, 215, 207, .85);
      background: rgba(247, 245, 239, .94);
      backdrop-filter: blur(14px);
    }

    .header-row {
      min-height: 82px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }

    .brand-link {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
    }

    .brand-link img {
      display: block;
      width: min(370px, 54vw);
      height: auto;
    }

    .site-nav {
      display: flex;
      align-items: center;
      gap: 23px;
      font-size: 14px;
      font-weight: 750;
    }

    .site-nav a {
      text-decoration: none;
      border-bottom: 2px solid transparent;
    }

    .site-nav a:hover,
    .site-nav a:focus-visible {
      border-color: var(--green);
    }

    .nav-contact {
      padding: 10px 15px;
      border-radius: 7px;
      background: var(--ink);
      color: white;
    }

    .nav-contact:hover,
    .nav-contact:focus-visible {
      border-color: var(--ink) !important;
      background: var(--green-dark);
    }

    .hero {
      padding: 72px 0 58px;
      overflow: hidden;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(310px, .7fr);
      align-items: center;
      gap: 64px;
    }

    .eyebrow,
    .section-kicker {
      display: inline-block;
      margin: 0 0 17px;
      color: var(--green);
      font-size: 13px;
      font-weight: 850;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .hero h1,
    .section-heading,
    .contact-copy h2,
    .detail-copy h2 {
      margin: 0;
      font-family: Montserrat, Arial, sans-serif;
      letter-spacing: -.035em;
    }

    .hero h1 {
      max-width: 780px;
      font-size: clamp(50px, 6.8vw, 88px);
      line-height: .98;
    }

    .hero h1 span { color: var(--green); }

    .hero-lead {
      max-width: 700px;
      margin: 25px 0 0;
      color: #38413c;
      font-size: clamp(18px, 2vw, 22px);
    }

    .button-row {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 31px;
    }

    .button {
      min-height: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 20px;
      border: 2px solid var(--ink);
      border-radius: 8px;
      background: transparent;
      color: var(--ink);
      cursor: pointer;
      text-decoration: none;
      font-weight: 800;
      transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
    }

    .button:hover,
    .button:focus-visible {
      transform: translateY(-2px);
      box-shadow: 0 7px 0 rgba(17, 24, 21, .11);
    }

    .button.primary {
      background: var(--ink);
      color: white;
    }

    .button.primary:hover,
    .button.primary:focus-visible {
      background: var(--green-dark);
    }

    .button:disabled {
      cursor: not-allowed;
      opacity: .55;
      transform: none;
      box-shadow: none;
    }

    .hero-card {
      position: relative;
      min-height: 360px;
      padding: 36px;
      overflow: hidden;
      border: 1px solid var(--stone);
      border-radius: 22px;
      background: var(--ink);
      color: white;
      box-shadow: var(--shadow);
    }

    .hero-card::before,
    .hero-card::after {
      content: "";
      position: absolute;
      border: 1px solid rgba(255, 255, 255, .16);
      border-radius: 50%;
    }

    .hero-card::before {
      width: 270px;
      height: 270px;
      right: -90px;
      top: -70px;
    }

    .hero-card::after {
      width: 150px;
      height: 150px;
      right: 58px;
      bottom: -76px;
    }

    .hero-card-label {
      position: relative;
      z-index: 1;
      color: var(--yellow);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .hero-card strong {
      position: relative;
      z-index: 1;
      display: block;
      max-width: 300px;
      margin-top: 22px;
      font-family: Montserrat, Arial, sans-serif;
      font-size: clamp(29px, 3.5vw, 46px);
      line-height: 1.03;
    }

    .hero-card-list {
      position: relative;
      z-index: 1;
      display: grid;
      gap: 13px;
      margin: 32px 0 0;
      padding: 0;
      list-style: none;
      color: #dce4df;
      font-weight: 650;
    }

    .hero-card-list li::before {
      content: "✓";
      margin-right: 10px;
      color: var(--yellow);
      font-weight: 900;
    }

    .catalog-section {
      padding: 50px 0 88px;
      border-top: 1px solid var(--stone);
    }

    .section-header {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 32px;
      margin-bottom: 28px;
    }

    .section-heading {
      max-width: 720px;
      font-size: clamp(35px, 4.7vw, 58px);
      line-height: 1.04;
    }

    .section-intro {
      max-width: 640px;
      margin: 12px 0 0;
      color: var(--muted);
      font-size: 17px;
    }

    .inventory-count {
      flex: 0 0 auto;
      color: var(--muted);
      font-size: 14px;
      font-weight: 750;
    }

    .category-bar {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-bottom: 27px;
    }

    .category-button {
      min-height: 42px;
      padding: 0 15px;
      border: 1px solid var(--stone);
      border-radius: 999px;
      background: var(--paper);
      color: var(--ink);
      cursor: pointer;
      font-size: 14px;
      font-weight: 800;
    }

    .category-button:hover,
    .category-button:focus-visible,
    .category-button.active {
      border-color: var(--green);
      background: var(--green);
      color: white;
    }

    .inventory-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 22px;
    }

    .product-card {
      min-width: 0;
      overflow: hidden;
      border: 1px solid var(--stone);
      border-radius: 16px;
      background: var(--paper);
      box-shadow: 0 8px 25px rgba(17, 24, 21, .04);
      transition: transform .18s ease, box-shadow .18s ease;
    }

    .product-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
    }

    .product-image-wrap {
      position: relative;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      background: var(--stone-light);
    }

    .product-image {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }

    .image-label,
    .status-badge,
    .delivery-badge {
      position: absolute;
      z-index: 1;
      padding: 7px 10px;
      border-radius: 6px;
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .055em;
      text-transform: uppercase;
    }

    .image-label {
      left: 12px;
      bottom: 12px;
      background: rgba(17, 24, 21, .88);
      color: white;
    }

    .status-badge {
      left: 12px;
      top: 12px;
      background: var(--yellow);
      color: var(--ink);
    }

    .status-badge.pending {
      background: var(--paper);
      color: var(--danger);
    }

    .status-badge.incoming {
      background: #ffe8a3;
      color: #644500;
    }

    .status-badge.reserved {
      background: #dce8ff;
      color: #234775;
    }

    .delivery-badge {
      right: 12px;
      top: 12px;
      background: var(--green);
      color: white;
    }

    .product-body {
      padding: 21px;
    }

    .product-meta {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .product-title {
      margin: 12px 0 8px;
      font-family: Montserrat, Arial, sans-serif;
      font-size: 21px;
      line-height: 1.15;
      letter-spacing: -.025em;
    }

    .incoming-summary {
      margin: 12px 0 0;
      padding: 10px 12px;
      border-left: 4px solid #d49a00;
      background: #fff7dc;
      color: #55400b;
      font-size: 13px;
      font-weight: 750;
    }

    .product-summary {
      min-height: 67px;
      margin: 0;
      color: var(--muted);
      font-size: 14px;
    }

    .price-row {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 15px;
      margin-top: 19px;
      padding-top: 17px;
      border-top: 1px solid var(--stone-light);
    }

    .price {
      font-family: Montserrat, Arial, sans-serif;
      font-size: 29px;
      font-weight: 850;
      letter-spacing: -.03em;
    }

    .price-note {
      color: var(--muted);
      font-size: 11px;
      font-weight: 700;
    }

    .savings {
      padding: 7px 9px;
      border-radius: 6px;
      background: var(--yellow);
      color: var(--ink);
      font-size: 12px;
      font-weight: 850;
    }

    .comparison {
      margin: 12px 0 0;
      color: var(--muted);
      font-size: 12px;
    }

    .card-actions {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 9px;
      margin-top: 18px;
    }

    .card-actions .button {
      min-height: 44px;
      padding-inline: 14px;
      font-size: 13px;
    }

    .empty-state {
      grid-column: 1 / -1;
      padding: 50px 25px;
      border: 1px dashed var(--stone);
      border-radius: 16px;
      text-align: center;
      color: var(--muted);
    }

    .process-section {
      padding: 84px 0;
      background: var(--ink);
      color: white;
    }

    .process-section .section-kicker { color: var(--yellow); }
    .process-section .section-intro { color: #cdd5d0; }

    .step-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      margin-top: 37px;
      overflow: hidden;
      border: 1px solid #34413a;
      border-radius: 16px;
      background: #34413a;
    }

    .step-card {
      min-height: 250px;
      padding: 27px;
      background: #17201c;
    }

    .step-number {
      color: var(--yellow);
      font-family: Montserrat, Arial, sans-serif;
      font-size: 14px;
      font-weight: 850;
      letter-spacing: .09em;
    }

    .step-card h3 {
      margin: 29px 0 10px;
      font-family: Montserrat, Arial, sans-serif;
      font-size: 22px;
      line-height: 1.13;
    }

    .step-card p {
      margin: 0;
      color: #cdd5d0;
      font-size: 14px;
    }

    .delivery-section,
    .terms-section,
    .sold-section {
      padding: 84px 0;
    }

    .policy-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 35px;
    }

    .policy-card {
      padding: 28px;
      border: 1px solid var(--stone);
      border-radius: 14px;
      background: var(--paper);
    }

    .policy-card.accent {
      border-color: var(--green);
      background: var(--green);
      color: white;
    }

    .policy-card-label {
      color: var(--green);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .09em;
      text-transform: uppercase;
    }

    .policy-card.accent .policy-card-label { color: var(--yellow); }

    .policy-card strong {
      display: block;
      margin-top: 12px;
      font-family: Montserrat, Arial, sans-serif;
      font-size: 28px;
      line-height: 1.06;
    }

    .policy-card p {
      margin: 12px 0 0;
      color: var(--muted);
      font-size: 14px;
    }

    .policy-card.accent p { color: #e3ebe6; }

    .terms-section {
      border-top: 1px solid var(--stone);
      background: var(--paper);
    }

    .terms-layout {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: 70px;
      align-items: start;
    }

    .terms-list {
      border-top: 1px solid var(--stone);
    }

    .term-row {
      display: grid;
      grid-template-columns: 135px 1fr;
      gap: 24px;
      padding: 22px 0;
      border-bottom: 1px solid var(--stone);
    }

    .term-row span {
      color: var(--green);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .term-row p {
      margin: 0;
      color: var(--muted);
    }

    .legal-note {
      margin-top: 28px;
      color: var(--muted);
      font-size: 12px;
    }

    .sold-section {
      border-top: 1px solid var(--stone);
      background: #efede6;
    }

    .sold-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
      margin-top: 33px;
    }

    .sold-card {
      overflow: hidden;
      border: 1px solid var(--stone);
      border-radius: 13px;
      background: var(--paper);
    }

    .sold-card .product-image-wrap {
      aspect-ratio: 1 / .82;
      filter: saturate(.6);
    }

    .sold-label {
      position: absolute;
      inset: auto 12px 12px 12px;
      padding: 8px;
      border-radius: 5px;
      background: rgba(17, 24, 21, .9);
      color: white;
      text-align: center;
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .sold-copy { padding: 17px; }
    .sold-copy h3 {
      margin: 0;
      font-family: Montserrat, Arial, sans-serif;
      font-size: 17px;
      line-height: 1.2;
    }
    .sold-copy p {
      margin: 7px 0 0;
      color: var(--muted);
      font-size: 13px;
    }

    .contact-section {
      padding: 90px 0;
    }

    .contact-shell {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      overflow: hidden;
      border: 1px solid var(--stone);
      border-radius: 20px;
      background: var(--paper);
      box-shadow: var(--shadow);
    }

    .contact-copy {
      padding: 45px;
      background: var(--green);
      color: white;
    }

    .contact-copy .section-kicker { color: var(--yellow); }
    .contact-copy h2 {
      font-size: clamp(34px, 4vw, 52px);
      line-height: 1.04;
    }

    .contact-copy > p {
      margin: 18px 0 0;
      color: #e0ebe5;
    }

    .contact-methods {
      display: grid;
      gap: 12px;
      margin-top: 31px;
    }

    .contact-method {
      padding: 16px;
      border: 1px solid rgba(255, 255, 255, .25);
      border-radius: 9px;
      text-decoration: none;
      font-weight: 800;
    }

    .contact-method span {
      display: block;
      color: #d6e4dc;
      font-size: 11px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .contact-form-wrap { padding: 45px; }
    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 17px;
    }

    .form-field {
      display: grid;
      gap: 7px;
    }

    .form-field.full { grid-column: 1 / -1; }

    .honeypot {
      position: absolute;
      left: -10000px;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }

    .form-field label {
      font-size: 13px;
      font-weight: 800;
    }

    .form-field input,
    .form-field textarea {
      width: 100%;
      border: 1px solid var(--stone);
      border-radius: 8px;
      background: white;
      color: var(--ink);
      padding: 13px 14px;
      outline: none;
    }

    .form-field textarea {
      min-height: 150px;
      resize: vertical;
    }

    .form-field input:focus,
    .form-field textarea:focus {
      border-color: var(--green);
      box-shadow: 0 0 0 3px rgba(23, 107, 69, .12);
    }

    .form-note {
      margin: 15px 0 0;
      color: var(--muted);
      font-size: 12px;
    }

    .form-status {
      margin: 12px 0 0;
      padding: 11px 13px;
      border-radius: 7px;
      background: #fff5c4;
      color: #4b3c00;
      font-size: 13px;
      font-weight: 700;
    }

    .form-status.success {
      background: var(--green-soft);
      color: var(--green-dark);
    }

    .form-status.error {
      background: #fbe7e5;
      color: var(--danger);
    }

    .site-footer {
      padding: 39px 0;
      border-top: 1px solid var(--stone);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.1fr .9fr .9fr;
      gap: 35px;
    }

    .footer-brand img {
      width: min(310px, 100%);
      display: block;
    }

    .footer-brand p,
    .footer-column p {
      max-width: 390px;
      margin: 15px 0 0;
      color: var(--muted);
      font-size: 13px;
    }

    .footer-column strong {
      display: block;
      margin-bottom: 11px;
      font-size: 13px;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .footer-links {
      display: grid;
      gap: 8px;
      font-size: 13px;
    }

    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      margin-top: 34px;
      padding-top: 22px;
      border-top: 1px solid var(--stone);
      color: var(--muted);
      font-size: 12px;
    }

    dialog {
      width: min(960px, calc(100% - 32px));
      max-height: calc(100vh - 32px);
      margin: auto;
      padding: 0;
      overflow: auto;
      border: 0;
      border-radius: 18px;
      background: var(--paper);
      color: var(--ink);
      box-shadow: 0 30px 90px rgba(0, 0, 0, .3);
    }

    dialog::backdrop {
      background: rgba(10, 16, 13, .72);
      backdrop-filter: blur(5px);
    }

    .dialog-close {
      position: sticky;
      z-index: 4;
      float: right;
      top: 14px;
      right: 14px;
      width: 42px;
      height: 42px;
      margin: 14px 14px -56px 0;
      border: 0;
      border-radius: 50%;
      background: var(--ink);
      color: white;
      cursor: pointer;
      font-size: 24px;
      line-height: 1;
    }

    .detail-grid {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      align-items: start;
    }

    .detail-image {
      display: flex;
      flex-direction: column;
      min-height: 0;
      background: var(--stone-light);
    }

    .detail-image-frame {
      position: relative;
      flex: 0 0 auto;
      aspect-ratio: 1 / 1;
      min-height: 0;
      background: white;
    }

    .detail-image-frame img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
    }

    .detail-image-label {
      margin: 0;
      padding: 14px 18px;
      border-top: 1px solid var(--stone);
      background: var(--paper);
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .055em;
      text-transform: uppercase;
    }

    .carousel-controls {
      position: absolute;
      right: 16px;
      bottom: 16px;
      left: 16px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }

    .carousel-button {
      width: 42px;
      height: 42px;
      border: 0;
      border-radius: 50%;
      background: rgba(17, 24, 21, .9);
      color: white;
      cursor: pointer;
      font-size: 22px;
      font-weight: 850;
    }

    .carousel-position {
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(255, 253, 248, .92);
      color: var(--ink);
      font-size: 12px;
      font-weight: 850;
    }

    .detail-copy { padding: 49px; }
    .detail-copy h2 {
      margin-top: 14px;
      font-size: clamp(30px, 4vw, 47px);
      line-height: 1.03;
    }

    .detail-sku {
      color: var(--green);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .detail-price {
      margin-top: 24px;
      font-family: Montserrat, Arial, sans-serif;
      font-size: 36px;
      font-weight: 850;
    }

    .detail-block {
      margin-top: 25px;
      padding-top: 22px;
      border-top: 1px solid var(--stone);
    }

    .detail-block h3 {
      margin: 0 0 9px;
      font-size: 13px;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .detail-block p {
      margin: 0;
      color: var(--muted);
    }

    .detail-list {
      display: grid;
      gap: 8px;
      margin: 0;
      padding: 0;
      list-style: none;
      color: var(--muted);
      font-size: 14px;
    }

    .detail-list strong { color: var(--ink); }

    .detail-callout {
      margin-top: 23px;
      padding: 15px;
      border-left: 4px solid var(--yellow);
      background: #fff8d9;
      font-size: 13px;
    }

    @media (max-width: 980px) {
      .site-nav a:not(.nav-contact) { display: none; }
      .hero-grid { grid-template-columns: 1fr; gap: 35px; }
      .hero-card { min-height: 300px; }
      .inventory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .step-grid { grid-template-columns: repeat(2, 1fr); }
      .policy-grid { grid-template-columns: 1fr 1fr; }
      .terms-layout { grid-template-columns: 1fr; gap: 34px; }
      .sold-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .contact-shell { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .detail-grid { grid-template-columns: 1fr; }
      .detail-image { min-height: 0; max-height: none; }
    }

    @media (max-width: 660px) {
      .wrap { width: min(calc(100% - 28px), var(--max)); }
      .header-row { min-height: 70px; }
      .brand-link img { width: min(255px, 62vw); }
      .nav-contact { padding: 9px 12px; }
      .hero { padding: 50px 0 45px; }
      .hero h1 { font-size: clamp(43px, 15vw, 65px); }
      .hero-card { padding: 28px; min-height: 290px; }
      .section-header { display: block; }
      .inventory-count { margin-top: 13px; }
      .catalog-section, .delivery-section, .terms-section, .sold-section, .contact-section { padding: 65px 0; }
      .inventory-grid, .policy-grid, .sold-grid { grid-template-columns: 1fr; }
      .step-grid { grid-template-columns: 1fr; }
      .step-card { min-height: 205px; }
      .contact-copy, .contact-form-wrap { padding: 31px 24px; }
      .form-grid { grid-template-columns: 1fr; }
      .form-field.full { grid-column: auto; }
      .term-row { grid-template-columns: 1fr; gap: 7px; }
      .footer-grid { grid-template-columns: 1fr; }
      .footer-bottom { display: block; }
      .footer-bottom span { display: block; margin-top: 7px; }
      .detail-copy { padding: 34px 24px; }
      .card-actions { grid-template-columns: 1fr; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .button, .product-card { transition: none; }
    }
