:root { --pine:#193b22; --pine-deep:#0a1d0e; --paper:#f7f8f4; --muted:#647067; --line:#dde3da; --gold:#dfc78c; }
body { background:var(--paper); color:#17251b; }
[hidden] { display:none !important; }
button, a, input, select, textarea { -webkit-tap-highlight-color:transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #b98028; outline-offset:3px; }
button:disabled { opacity:.5; cursor:not-allowed; }
.skip-link { position:fixed; z-index:100; left:16px; top:-100px; padding:12px 20px; background:white; color:var(--pine); border:2px solid var(--pine); border-radius:8px; }
.skip-link:focus { top:12px; }
header > div > .flex { gap:20px; }
.desktop-nav-row { border-top:1px solid #e6eae3; }
.desktop-nav-row nav { min-height:51px; padding:5px 0; }
.desktop-nav-row .nav-tab-btn { font-size:13px; white-space:nowrap; }
#brandHomeBtn { flex-shrink:0; }
#brandHomeBtn .brand-serif { font-size:25px; }
#openCartBtn { min-height:42px; }
#view-home > div:first-child { isolation:isolate; }
#view-home [data-img-key="HERO"] { opacity:.63; object-position:70% 50%; }
.hero-overlay { background:linear-gradient(100deg,rgba(7,25,12,.97) 0%,rgba(7,25,12,.85) 39%,rgba(7,25,12,.35) 100%); }
#view-home h1 { font-size:clamp(38px,4.5vw,68px); line-height:1.05; letter-spacing:-.045em; }
.hero-heading-accent { color:var(--gold); }
#view-home > div:first-child .py-14 { padding-top:72px; padding-bottom:72px; }
#heroQuickLeadForm { color:#24362a; }
#heroQuickLeadForm input, #heroQuickLeadForm select { min-height:43px; background:#fbfcfa; }
#heroShopAllBtn, #heroSearchBtn { background:var(--gold); color:var(--pine-deep); border-color:var(--gold); }
#heroShopAllBtn:hover, #heroSearchBtn:hover { background:#ecd9ac; }
.form-email-note { font-size:11px; line-height:1.6; margin-top:12px; color:#5c695f; }
.form-email-note a { color:var(--pine); text-decoration:underline; overflow-wrap:anywhere; }
#heroQuickLeadForm > button { min-height:46px; }
#view-home h2 { letter-spacing:-.025em; }
.category-photo { width:100%; height:100%; object-fit:contain; padding:12px; background:#f0f2ec; transition:transform .25s; }
.group:hover .category-photo { transform:scale(1.025); }
.equipment-card { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid var(--line); border-radius:15px; overflow:hidden; transition:box-shadow .2s,transform .2s; }
.equipment-card:hover { box-shadow:0 12px 30px #16351d12; transform:translateY(-3px); }
.equipment-card-image { position:relative; height:230px; border-bottom:1px solid #e8ece5; background:#f1f3ed; }
.product-image-button { display:block; width:100%; height:100%; text-align:initial; }
.product-photo { display:block; width:100%; height:100%; object-fit:contain; padding:18px; }
.product-compare { position:absolute; top:12px; right:12px; border:1px solid #d5ddcf; border-radius:7px; padding:6px 9px; background:#fffffff2; font-size:11px; font-weight:700; color:var(--pine); box-shadow:0 2px 6px #193b2208; }
.product-compare:hover, .product-compare.is-selected { background:var(--pine); border-color:var(--pine); color:white; }
.equipment-card-body { display:flex; flex-direction:column; flex:1; padding:20px; }
.product-eyebrow { display:flex; justify-content:space-between; gap:10px; font-size:10px; font-weight:800; letter-spacing:.07em; color:var(--pine); text-transform:uppercase; }
.product-eyebrow span:last-child { color:#6c756b; font-weight:600; letter-spacing:0; text-align:right; }
.product-model { margin:9px 0 5px; font-size:10px; font-weight:600; color:#667264; letter-spacing:.04em; }
.equipment-card h3 { font-weight:800; font-size:16px; line-height:1.4; color:#182b1d; }
.equipment-card h3 button { text-align:left; }
.equipment-card h3 button:hover { color:#3a7143; }
.product-description { color:#626c63; font-size:12px; line-height:1.65; margin:10px 0 12px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.product-spec { color:#4c5f4e; background:#f5f7f2; border-left:2px solid #adc2a7; padding:9px 10px; font-size:11px; line-height:1.6; margin-bottom:16px; }
.product-pricing { margin-top:auto; border-top:1px solid #e8ece5; padding-top:16px; }
.product-pricing strong { display:block; font-size:23px; font-weight:800; letter-spacing:-.04em; color:var(--pine); }
.product-pricing > span { display:block; margin-top:2px; font-size:10px; color:#798075; }
.product-stock { font-size:10px; font-weight:600; color:#4a6747; margin:10px 0 14px; }
.product-stock > span { font-size:8px; color:#67835d; margin-right:3px; }
.product-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.primary-action, .secondary-action { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 13px; font-size:12px; font-weight:700; border-radius:8px; text-align:center; line-height:1.4; }
.primary-action { border:1px solid var(--pine); background:var(--pine); color:#fff; }
.primary-action:hover { background:#285634; }
.secondary-action { border:1px solid #d8dfd3; color:var(--pine); background:#fff; }
.secondary-action:hover { background:#f0f4eb; }
.product-details-link { margin-top:13px; font-size:11px; font-weight:600; color:#65775d; text-align:left; }
.product-details-link > span { float:right; }
.configuration-note { font-size:11px; color:#8e5c17; background:#fff8e9; border-radius:5px; padding:6px 8px; margin-bottom:12px; }
.carrier-match { font-size:10px; color:#54764c; margin-bottom:10px; }
.photo-pending { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; text-align:center; color:#68745e; background:repeating-linear-gradient(135deg,#eef1e8,#eef1e8 12px,#f4f6f0 12px,#f4f6f0 24px); padding:24px; }
.photo-pending strong { font-size:13px; color:var(--pine); }
.photo-pending span { font-size:11px; }
.photo-pending small { font-size:10px; max-width:220px; }
.photo-pending .photo-pending-mark { font-size:26px; color:#87967b; }
.image-unavailable { display:block; padding:24px; color:#6d765f; font-size:12px; }
.modal-product-photo { width:100%; height:330px; object-fit:contain; background:#f2f4ed; border:1px solid var(--line); border-radius:12px; padding:12px; }
.photo-caption { font-size:10px; color:#6b7568; line-height:1.6; padding:8px 2px; }
.variant-table { width:100%; border-collapse:collapse; font-size:12px; }
.variant-table th, .variant-table td { padding:7px 10px; text-align:left; border:1px solid var(--line); }
.variant-table th { background:#f1f4ec; color:var(--pine); }
.product-review-note { background:#f3f5ee; border:1px solid #dde4d4; border-radius:10px; padding:13px 15px; font-size:12px; color:#53614b; line-height:1.6; }
.product-review-note strong { display:block; color:var(--pine); margin-bottom:4px; }
#cartDrawerModal > div { max-width:480px; overflow:auto; }
#cartItemsContainer { min-height:120px; flex-shrink:0; }
.inquiry-modal { z-index:70; }
.inquiry-dialog { max-height:90vh; overflow:auto; }
.dialog-close { width:36px; min-width:36px; height:36px; border:1px solid var(--line); border-radius:8px; color:var(--pine); }
.inquiry-preview { width:100%; border:1px solid #ced7c8; border-radius:8px; background:#f7f9f3; font:12px/1.65 ui-monospace,monospace; padding:12px; }
.inquiry-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
#catalogGridContainer { align-items:stretch; }
#catalogSearchInput { min-height:44px; }
#catalogTableContainer { max-width:100%; overflow-x:auto; }
@media(min-width:1024px) { #brandHomeBtn .brand-serif { font-size:27px; } }
@media(max-width:1023px) {
  .desktop-nav-row { display:none; }
  #garageStatusLabel, #openCompareBtn span:not(#compareCountBadge), #openCartBtn span:not(#cartCountBadge), #brandHomeBtn .bg-forest-100 { display:none; }
  #view-home > div:first-child .py-14 { padding-top:48px; padding-bottom:48px; }
}
@media(max-width:639px) {
  header > div > .flex { gap:8px; height:74px; }
  #brandHomeBtn { gap:8px; flex-shrink:1; min-width:0; }
  #brandHomeBtn img { width:39px; height:39px; }
  #brandHomeBtn .brand-serif { display:block; max-width:120px; font-size:17px; line-height:1.15; }
  #openGarageBtn, #openCompareBtn { display:none; }
  #openCartBtn { padding:8px 10px; gap:5px; }
  #view-home h1 { font-size:43px; }
  #view-home > div:first-child .py-14 { padding-top:40px; padding-bottom:40px; }
  #view-home [data-img-key="HERO"] { object-position:65% 0; }
  .hero-overlay { background:linear-gradient(110deg,#0a1d0ef2,#0a1d0ec9); }
  .equipment-card-image { height:240px; }
  .equipment-card-body { padding:19px; }
  .modal-product-photo { height:250px; }
  .inquiry-dialog { padding:20px; }
  .inquiry-actions > * { flex:1 1 100%; }
}
@media(prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
