/* Shared catalogue cards: image gets more room without increasing the card. */
.product-card.reveal.visible { animation-fill-mode: backwards; }
.catalogue-page .product-card,.catalogue-section .product-card { min-height: 0; }
.catalogue-page .product-photo,.catalogue-section .product-photo { aspect-ratio: 1.85; }
.catalogue-page .product-body,.catalogue-section .product-body { padding: 12px 16px; }
.catalogue-page .product-body h3,.catalogue-section .product-body h3 { margin-bottom: 6px; }
.catalogue-page .product-body p,.catalogue-section .product-body p { margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.collection-more { text-align: center; margin-top: 32px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .catalogue-page .product-card:hover,.catalogue-section .product-card:hover { transform: scale(1.035); z-index: 2; box-shadow: 0 18px 35px #173d2c24; }
}
footer .footer-grid a.contact-number,.contact-card .contact-number { display: flex; align-items: center; gap: 12px; min-height: 42px; margin: 8px 0; line-height: 1.45; }
.contact-number svg { flex: 0 0 21px; width: 21px; height: 21px; }
.contact-number span { min-width: 0; overflow-wrap: anywhere; }
.contact-number small { display: block; font-size: 11px; opacity: .7; margin-top: 2px; }
.buyer-slides .buyer-quote { background: linear-gradient(140deg,#264636,#172f24); border-color: #d7bd8040; box-shadow: inset 0 1px #ffffff0b; }
.buyer-carousel { scrollbar-width: none; border-radius: 22px; }
.buyer-carousel::-webkit-scrollbar { display: none; }
.buyer-dots { display: flex; justify-content: center; gap: 9px; margin-top: 24px; }
.buyer-dot { width: 7px; height: 7px; border-radius: 50%; background: #708375; transition: background .25s,box-shadow .25s; }
.buyer-dot.active { background: #f5d89c; box-shadow: 0 0 0 4px #f5d89c17; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.chat-launch { position: fixed; bottom: 92px; right: 24px; display: flex; gap: 8px; align-items: center; justify-content: center; min-height: 54px; padding: 13px 17px; border-radius: 30px; background: #183e2e; color: #fff5dc; border: 1px solid #c9b37c; box-shadow: 0 6px 24px #122d2933; z-index: 90; font: 600 13px/1.2 inherit; cursor: pointer; }
.chat-open { overflow: hidden; }
#chat-assistant { width: min(50vw,720px); max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; padding: 0; border: 0; border-radius: 24px 0 0 24px; background: #f8f8f2; color: #1c372b; box-shadow: -10px 0 80px #10271e30; }
#chat-assistant[open] { display: flex; flex-direction: column; }
#chat-assistant::backdrop { background: #10271e70; backdrop-filter: blur(4px); }
.chat-head { flex-shrink: 0; display: flex; justify-content: space-between; gap: 12px; padding: 25px 26px 20px; border-bottom: 1px solid #e1e5d9; background: #173d2c; color: #fff; }
.chat-head .eyebrow { font-size: 10px; color: #dcc991; }
.chat-head h2 { font-size: 27px; margin: 7px 0; }
.chat-head p { font-size: 12px; color: #e0e7db; margin: 0; }
.chat-head button { color: #fff; align-self: flex-start; }
.chat-log { flex: 1; overflow-y: auto; min-height: 100px; padding: 22px; overscroll-behavior: contain; }
.chat-message { width: fit-content; max-width: 91%; padding: 13px 16px; margin: 0 0 12px; border-radius: 16px 16px 16px 4px; background: #fff; border: 1px solid #e5e8dc; font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-message.user { margin-left: auto; background: #e9edde; border-color: #d7dfca; border-radius: 16px 16px 4px 16px; }
.chat-options { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 22px; max-height: 24dvh; overflow-y: auto; }
.chat-options:empty { display: none; }
.chat-options button { padding: 10px 13px; min-height: 42px; background: #fff; border: 1px solid #cbd4bf; color: #22432d; border-radius: 18px; font-size: 13px; text-align: left; cursor: pointer; }
.chat-options button:hover,.chat-options button[aria-pressed=true] { background: #193d2a; border-color: #193d2a; color: #fff; }
.chat-composer { display: flex; gap: 8px; padding: 10px 22px; margin: 0; }
.chat-composer input { min-width: 0; flex: 1; width: auto; padding: 13px; border: 1px solid #cbd4bf; border-radius: 13px; font-size: 16px; background: #fff; }
.chat-composer button { flex-shrink: 0; border: 0; padding: 0 14px; background: #173d2c; border-radius: 13px; color: #fff; cursor: pointer; }
.chat-foot { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 0 22px max(16px,env(safe-area-inset-bottom)); font-size: 10px; color: #61705a; }
.chat-foot button { background: none; border: 0; text-decoration: underline; padding: 10px 0; color: #254731; cursor: pointer; }
.market-section { max-width: 1300px; margin: auto; }
.market-section h1 { font-size: clamp(32px,4vw,54px); margin: 16px 0; }
.market-intro { max-width: 760px; color: #586655; line-height: 1.8; }
.market-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 18px; margin: 30px 0; }
.market-filters label { flex: 1; min-width: 180px; font-size: 13px; }
.market-filters select { display: block; margin-top: 8px; width: 100%; min-height: 48px; border-radius: 10px; }
.sample-notice { padding: 15px 18px; border-radius: 12px; background: #f6edda; color: #735521; font-size: 14px; }
.market-chart-card { padding: 25px; background: #fff; border: 1px solid #e1e5d9; border-radius: 20px; margin: 24px 0; }
.market-chart-heading { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.market-chart-heading h2 { font-size: 24px; }
.market-chart-heading span { font-size: 13px; color: #586655; }
[data-price-chart],.price-table-wrap { overflow-x: auto; }
[data-price-chart] svg { display: block; min-width: 650px; max-width: none; height: 300px; width: 100%; }
.price-table-wrap table { border-collapse: collapse; width: 100%; min-width: 320px; font-size: 14px; }
.price-table-wrap td,.price-table-wrap th { padding: 13px 10px; border-bottom: 1px solid #e5e8dc; text-align: left; }
@media(max-width:760px) {
  .catalogue-page .product-photo,.catalogue-section .product-photo { aspect-ratio: 1.85; }
  .catalogue-page .product-body,.catalogue-section .product-body { padding: 12px 14px; }
  .catalogue-page .product-body h3,.catalogue-section .product-body h3 { font-size: 18px; }
  .catalogue-page .product-body p,.catalogue-section .product-body p { font-size: 13px; margin-bottom: 9px; }
  #chat-assistant { width: 100%; border-radius: 0; }
  .chat-launch { bottom: 84px; right: 18px; min-height: 50px; padding: 12px; }
  .chat-launch span { display: none; }
  .chat-head { padding: 20px 18px 16px; }
  .chat-head h2 { font-size: 24px; }
  .chat-log { padding: 16px; }
  .chat-options,.chat-composer { padding-left: 16px; padding-right: 16px; }
  .chat-foot { padding-left: 16px; padding-right: 16px; }
  .market-chart-card { padding: 16px; }
  .market-filters { gap: 12px; }
  .market-filters label { min-width: 140px; }
  .market-filters .button { width: 100%; }
}
@media(prefers-reduced-motion:reduce) { .product-card,.buyer-dot { transition: none !important; } }

@media(min-width:761px) { .catalogue-section .small-collection { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 800px; margin: auto; } }

.product-chart-trigger{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin:12px 0 12px 14px;padding:10px 15px;border:1px solid #d4dccb;border-radius:24px;background:#fff;color:#244a35;cursor:pointer;font:inherit;font-size:14px}.product-chart-trigger svg{width:22px;height:22px;flex:none}.price-dialog-open{overflow:hidden}#product-price-dialog{width:min(880px,calc(100% - 36px));max-width:none;max-height:90dvh;height:auto;margin:auto;padding:28px;border:1px solid #d4dccb;border-radius:24px;background:#fafbf7;color:#183c2a;overflow-y:auto;box-shadow:0 20px 100px #10271e40}#product-price-dialog::backdrop{background:#10271e80;backdrop-filter:blur(4px)}.price-dialog-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.price-dialog-head h2{font-size:26px;margin:8px 0 16px}.price-dialog-head button{flex:none}.price-series-label{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:14px}.price-series-label select{width:auto;max-width:220px;margin:0;min-height:44px}[data-product-price-chart]{overflow-x:auto;margin:18px 0}[data-product-price-chart] svg{display:block;width:100%;min-width:0;height:320px}.price-empty{padding:28px 0}.price-empty .button{margin-top:15px}@media(max-width:600px){#product-price-dialog{width:calc(100% - 24px);padding:20px;max-height:92dvh;border-radius:18px}.price-dialog-head h2{font-size:22px}.product-chart-trigger{margin-left:0}.price-series-label{align-items:flex-start;flex-direction:column}.price-series-label select{width:100%;max-width:none}}

/* Product reference layout: generous photography and a clear buying column. */
.product-page{background:#fff}.product-showcase{padding-top:30px;padding-bottom:42px}.product-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:30px;font-size:12px;color:#89917f}.product-breadcrumb a{color:#6b7860}.product-breadcrumb [aria-current]{color:#344832}.product-showcase-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,4vw,60px);align-items:start}.product-media-column{min-width:0;position:sticky;top:116px}.product-visual{position:relative;overflow:hidden;background:#fff;aspect-ratio:1.08;max-height:calc(100vh - 150px);border-radius:12px}.product-visual img{width:100%;height:100%;object-fit:contain;display:block}.product-introduction{min-width:0}.product-category-pill{display:inline-block;border:1px solid #e5e8dc;border-radius:24px;padding:5px 13px;color:#927439;background:#fff;font-size:10px;line-height:1.4;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.product-introduction h1{font-size:clamp(32px,3.7vw,52px);font-weight:650;line-height:1.12;letter-spacing:-.035em;margin:14px 0 16px;color:#173b2a;overflow-wrap:anywhere}.product-summary{font-size:16px;line-height:1.75;color:#606c5b;margin:0 0 24px;max-width:none}.product-detail-actions{display:flex;align-items:center;gap:12px;justify-content:flex-start}.product-detail-actions .product-enquire,.product-detail-actions .product-chart-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 1 auto;width:auto;min-height:44px;height:44px;margin:0;padding:0 22px;border-radius:25px;font-size:13px;line-height:1.2;letter-spacing:0;white-space:nowrap}.product-detail-actions .product-enquire{background:#193d2b;color:#fff;border:1px solid #193d2b;min-width:144px}.product-detail-actions .product-enquire[aria-pressed=true]{background:#e9edde;color:#193d2b}.product-detail-actions .product-chart-trigger{background:#fff;border-color:#dde3d7;color:#41593a;padding:0 18px}.product-detail-actions .product-chart-trigger svg{width:17px;height:17px}.product-quotation-note{font-size:11px;line-height:1.6;color:#87907d;margin:12px 0 0}.product-specification-card{margin-top:24px;border:1px solid #e8ece3;border-radius:18px;overflow:hidden;background:#fff}.product-specification-card>.eyebrow{display:none}.product-specification-card h2{font-size:18px;font-weight:600;line-height:1.4;margin:0;padding:20px 22px;background:#fafbf8}.product-specification-card dl{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0}.product-specification-card dl>div{grid-column:1 / -1;display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);gap:18px;width:100%;min-width:0;padding:17px 22px;border-top:1px solid #edf0e9;font-size:13px;line-height:1.6}.product-specification-card dt,.product-specification-card dd{padding:0;margin:0;border:0;font-size:inherit}.product-specification-card dt{color:#798471;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;align-self:center}.product-specification-card dd{color:#2e4030;overflow-wrap:anywhere}.product-story,.product-faq-card{margin-top:24px;padding:25px;border:1px solid #edf0e8;border-radius:20px;background:#fcfdfb}.product-story>.eyebrow{display:none}.product-story h2,.product-faq-card h2{font-size:20px;font-weight:600;margin:0 0 18px;letter-spacing:-.02em}.product-story h2:after{content:'';display:block;width:44px;height:2px;background:#c6ad71;margin-top:17px}.product-story .prose,.product-faq-card .prose{font-size:15px;line-height:1.85;color:#606d58}.product-story .prose p{margin:0 0 12px}.product-story .prose p:last-child{margin-bottom:0}.product-faq-card{background:#fff}.product-faq-card details{border:1px solid #e4e9df;border-radius:12px;margin:9px 0;padding:0 13px}.product-faq-card summary{font-size:13px;font-weight:500;padding:13px 0;line-height:1.55}.product-faq-card .prose{font-size:13px;padding-bottom:12px}.product-related{padding-top:30px;padding-bottom:44px;border-top:1px solid #edf0e8}.product-related .section-heading{margin-bottom:24px}.product-related h2{font-size:30px}.chat-selection-count{flex-basis:100%;font-size:12px;color:#5c6b55;margin:4px 0}
@media(max-width:760px){.product-showcase{padding:18px 20px 28px}.product-breadcrumb{font-size:10px;gap:7px;margin-bottom:20px}.product-showcase-grid{grid-template-columns:1fr;gap:24px}.product-media-column{position:static}.product-visual{aspect-ratio:1.35;max-height:none;border-radius:12px}.product-introduction h1{font-size:34px;margin:12px 0}.product-summary{font-size:14px;margin-bottom:18px}.product-detail-actions{gap:10px}.product-detail-actions .product-enquire,.product-detail-actions .product-chart-trigger{height:44px;min-height:44px;min-width:0;font-size:12px;padding:0 16px}.product-specification-card{margin-top:20px}.product-specification-card h2{font-size:17px;padding:17px}.product-specification-card dl>div{grid-template-columns:minmax(87px,.7fr) minmax(0,1.3fr);gap:12px;padding:14px 17px;font-size:12px}.product-specification-card dt{font-size:9px;letter-spacing:.06em}.product-story,.product-faq-card{padding:20px;margin-top:20px;border-radius:16px}.product-story h2,.product-faq-card h2{font-size:19px}.product-story .prose{font-size:14px;line-height:1.8}.product-related h2{font-size:27px}.product-related .section-heading{gap:12px}}

@media(min-width:761px){body:has(.product-page) .chat-launch{width:54px;height:54px;padding:12px}body:has(.product-page) .chat-launch span{display:none}}

@media(max-width:760px){body:has(.product-page) .chat-launch{bottom:18px;right:84px;width:54px;height:54px}}
