.product-card,.pergola-card,.swing-card,.c02-price-card{display:flex;flex-direction:column;overflow:hidden}.product-image{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;background:#e9e4db}.product-card>h3,.product-card>.price,.product-card>p,.product-card>.spec-list,.product-card>.variant-field{margin-left:16px;margin-right:16px}.product-card>h3{margin-top:15px}.spec-list{padding:12px 0 0;display:grid;gap:6px;list-style:none;border-top:1px solid rgba(24,24,27,.08);margin-top:13px;margin-bottom:0}.spec-list li{font-size:12px;color:#5f5a54;display:flex;justify-content:space-between;gap:10px}.spec-list strong{color:#24211e;text-align:right}.variant-field{margin-top:13px}.variant-field label{display:block;margin-bottom:6px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#7c5106}.variant-field select{width:100%;height:40px;border:1px solid rgba(24,24,27,.14);border-radius:10px;background:#f8f5ef;padding:0 10px;font-weight:750}.product-card .product-cart-action{padding:15px 16px 16px;margin-top:auto}.catalog-price-note{padding:12px 14px;border-left:4px solid #f5b642;background:#fff;border-radius:0 12px 12px 0;color:#615b54;margin-bottom:18px}.category-visual{width:100%;max-height:560px;object-fit:cover;border-radius:22px;box-shadow:0 14px 44px rgba(0,0,0,.12)}
.mobile-menu-trigger{display:none;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;border-radius:10px;width:39px;height:39px;font-size:20px;cursor:pointer}.mobile-menu{position:fixed;inset:0 0 0 auto;z-index:1200;width:min(360px,100%);background:#111214;color:#fff;padding:18px;transform:translateX(105%);transition:.22s;display:flex;flex-direction:column;gap:5px;box-shadow:-20px 0 60px rgba(0,0,0,.28)}.mobile-menu-open .mobile-menu{transform:translateX(0)}.mobile-menu a{padding:13px;border-radius:10px;background:rgba(255,255,255,.06);font-weight:750}.mobile-menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mobile-menu-head button{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:10px;width:38px;height:38px;font-size:25px}.quote-modal{position:fixed;inset:0;z-index:1300;background:rgba(0,0,0,.65);display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;transition:.2s;overflow:auto}.quote-open{overflow:hidden}.quote-open .quote-modal{opacity:1;visibility:visible}.quote-dialog{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:22px;padding:26px;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.32)}.quote-dialog h2{font-size:32px;letter-spacing:-.05em;margin:8px 0}.quote-dialog>p{color:#68625c}.quote-close{position:absolute;right:16px;top:16px;border:0;background:#f1ece5;width:38px;height:38px;border-radius:10px;font-size:25px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.form-grid label{font-size:12px;font-weight:850;color:#37322e}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid #d8d0c6;border-radius:11px;padding:11px;background:#fbfaf8;font:inherit}.form-wide{grid-column:1/-1}.consent{display:flex;align-items:flex-start;gap:9px;margin:14px 0;font-size:12px;color:#5f5953;line-height:1.4}.consent input{margin-top:2px}.consent a{color:#8a5a11;font-weight:800}.quote-submit{border:0;cursor:pointer}.form-status{min-height:20px;font-size:13px;font-weight:750;color:#7c5106}.hp{position:absolute!important;left:-9999px!important}.cart-total{display:flex;justify-content:space-between;gap:20px;font-size:16px;margin-bottom:12px}.cart-quote{border:0;cursor:pointer;width:100%}.cart-quote:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:980px){.mobile-menu-trigger{display:inline-grid;place-items:center;margin-left:auto}.cart-trigger{margin-left:0}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.quote-dialog{padding:22px 17px}.quote-dialog h2{font-size:27px}.category-visual{border-radius:16px}}
.image-disclaimer{background:#fff3d9;color:#5f430d;border:1px solid #efd294;border-radius:11px;padding:9px 11px;margin-bottom:10px;font-size:12px;font-weight:750;line-height:1.4}
.granite-toggle{margin:14px 16px 0;padding:11px 12px;border:1px solid #c8b087;border-radius:11px;background:#f7f1e7;color:#332719;font:800 12px/1.25 Inter,ui-sans-serif,system-ui;cursor:pointer;text-align:left;transition:.18s}.granite-toggle strong{display:block;color:#7c5106;margin-top:3px}.granite-toggle:hover{border-color:#8a5a11;background:#fff8e9}.granite-toggle[aria-pressed="true"]{background:#18181b;color:#fff;border-color:#18181b}.granite-toggle[aria-pressed="true"] strong{color:#f5b642}
.card{overflow:hidden}.category-thumb{display:block;width:calc(100% + 32px);height:145px;object-fit:cover;margin:-16px -16px 14px}.card .tag{margin-top:0}

/* Compact catalog layout and predictable product-image framing. */
body{font-size:13px}
.hero{padding:30px 0 28px}
.hero .grid{grid-template-columns:1.12fr .58fr;gap:24px}
.hero h1{font-size:clamp(32px,3.5vw,46px);max-width:690px}
.hero .lead{margin:10px 0;max-width:720px}
.hero-card{padding:12px;border-radius:17px}
.hero-card .product-image{height:170px!important;aspect-ratio:auto;object-fit:cover;object-position:center 58%;margin-bottom:10px!important}
section{padding:34px 0}
.section-title{margin-bottom:16px}
.section-title h2{font-size:clamp(24px,2.35vw,34px)}
.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.card{padding:13px}
.category-image-link{display:block;width:calc(100% + 26px);margin:-13px -13px 12px;overflow:hidden;background:#e9e4db;cursor:pointer}.category-thumb{display:block;width:100%;height:118px;margin:0;object-fit:cover;object-position:center;transition:transform .22s ease,filter .22s ease}.category-image-link:hover .category-thumb{transform:scale(1.035);filter:brightness(.92)}.category-image-link:focus-visible{outline:3px solid #f5b642;outline-offset:-3px}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.product-card .product-image{height:250px;aspect-ratio:auto;object-fit:contain;object-position:center;background:#eeeae3;padding:8px}
.category-visual{display:block;height:min(54vh,430px);max-height:none;object-fit:contain;object-position:center;background:#e9e4db;padding:10px}
.legal-section{padding:28px 0}
.legal-section .section-title{margin-bottom:14px}
.legal-grid{gap:10px}
.legal-grid article{padding:14px}

@media(max-width:980px){
  .hero .grid,.cards,.product-grid{grid-template-columns:1fr}
  .hero-card .product-image{height:190px!important}
  .category-thumb{height:165px}
  .product-card .product-image{height:min(62vw,340px)}
  .category-visual{height:auto;max-height:440px}
}
