/* Supplied PDF reference: green industrial homepage, shared header and footer. */
:root { --ref-accent:#05d119; --ref-dark:#003b19; --ref-soft:#edfaf0; --ref-line:#d9e8dc; --ref-hatch:repeating-linear-gradient(45deg,rgba(46,137,45,.18) 0 1px,transparent 1px 8px),repeating-linear-gradient(135deg,rgba(46,137,45,.18) 0 1px,transparent 1px 8px); }
html { overflow-x:clip; }
body { color:#173524; }
.topbar { color:#d8f5df; background-color:#053209; background-image:var(--ref-hatch); }
.topbar-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr) minmax(0,1fr); align-items:center; gap:.75rem; min-height:35px; padding-block:.3rem; }
.topbar-inner > p { grid-column:2; min-width:0; margin:0; text-align:center; line-height:1.6; }
.topbar-tools { grid-column:3; justify-self:end; }
.topbar a:hover { color:var(--ref-accent); }
.site-header { background:#fff; border-bottom:1px solid var(--ref-line); backdrop-filter:none; }
.header-inner { min-height:78px; gap:1.15rem; }
.brand { flex:none; }
.brand .custom-logo { max-height:54px; max-width:160px; object-fit:contain; }
.primary-nav { flex:1 1 auto; }
.primary-nav .menu { justify-content:center; }
.primary-nav a { font-size:.85rem; font-weight:700; padding-inline:.5rem; color:var(--ref-dark); }
.ref-header-search { flex:0 1 220px; height:39px; display:flex; border:1px solid var(--ref-line); border-radius:7px; overflow:hidden; background:#f6faf7; }
.ref-header-search input { min-width:0; width:100%; padding:0 .75rem; border:0; outline:0; font-size:.78rem; color:var(--ref-dark); background:transparent; }
.ref-header-search button { width:36px; border:0; background:transparent; color:var(--ref-dark); font-size:1.4rem; cursor:pointer; }
.header-tools { flex:none; gap:0; }
.header-tools .tool { width:34px; height:39px; color:var(--ref-dark); }
.header-tools .tool svg { width:19px; height:19px; }
.header-tools .tool .count { background:var(--ref-accent); color:var(--ref-dark); }
.header-tools .header-cta { background:var(--ref-accent); color:var(--ref-dark); min-height:39px; padding:.35rem .8rem; white-space:nowrap; font-size:.78rem; border-radius:5px; margin-inline-start:.5rem; }
.header-tools .header-cta:hover { color:var(--ref-dark); }
.ref-home { overflow:hidden; }
.ref-home h1,.ref-home h2,.ref-home h3,.ref-home p { margin-top:0; }
.ref-home a { text-decoration:none; }
.ref-hero { min-height:510px; color:#fff; position:relative; display:flex; align-items:center; background-image:linear-gradient(270deg,rgba(0,49,21,.96) 0%,rgba(0,58,23,.86) 42%,rgba(0,54,20,.28) 100%),var(--hero-image); background-size:cover; background-position:center; }
.ref-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 65%,rgba(2,65,27,.12)); }
.ref-hero-inner { position:relative; z-index:1; }
.ref-hero-copy { max-width:650px; padding:4rem 0; }
.ref-overline { color:var(--ref-accent); font-size:.9rem; font-weight:800; margin-bottom:.8rem; }
.ref-hero h1 { color:#fff; font-size:clamp(2.1rem,4.3vw,3.55rem); line-height:1.35; font-weight:900; margin-bottom:1rem; }
.ref-hero-lead { max-width:555px; color:#e0f0e3; line-height:2; font-size:.99rem; }
.ref-actions { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; margin-top:1.4rem; }
.ref-button { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:43px; padding:.55rem 1.2rem; border-radius:5px; font-weight:800; font-size:.84rem; }
.ref-button-light { background:#fff; color:var(--ref-dark); }
.ref-button-light:hover { color:#035b27; }
.ref-button-outline { border:1px solid rgba(255,255,255,.75); color:#fff; }
.ref-button-outline:hover { color:#fff; background:rgba(255,255,255,.12); }
.ref-button-green { background:var(--ref-accent); color:var(--ref-dark); }
.ref-hero-en { color:#b4dabb; letter-spacing:.1em; font-size:.7rem; margin:2.3rem 0 0; text-align:right; }
.ref-stats { background:#063c1c; color:#fff; }
.ref-stats-inner { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:1.15rem 0; }
.ref-stat { text-align:right; border-inline-end:1px solid rgba(255,255,255,.15); display:flex; flex-direction:row; align-items:center; justify-content:center; gap:.7rem; }
.ref-stat:last-child { border:0; }
.ref-stat-icon { display:grid; flex:none; place-items:center; width:43px; height:43px; border-radius:10px; background:#e6f8eb; color:#0b842e; }
.ref-stat-icon svg { width:24px; height:24px; }
.ref-stat-copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:.1rem; }
.ref-stat strong { color:var(--ref-accent); font-size:1.4rem; line-height:1.3; }
.ref-stat span { font-size:.8rem; color:#ddede1; }
.ref-section { padding-block:4.2rem; }
.ref-section-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:.65rem; }
.ref-section h2,.ref-trust h2 { color:var(--ref-dark); font-size:clamp(1.5rem,2.7vw,2rem); font-weight:900; margin:0; }
.ref-all { color:var(--ref-dark); font-weight:700; font-size:.8rem; white-space:nowrap; }
.ref-section-intro { color:#607366; font-size:.9rem; margin-bottom:1.7rem; }
.ref-carousel { overflow:hidden; width:100%; }
.ref-track { display:flex; direction:rtl; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; overscroll-behavior-inline:contain; }
.ref-track::-webkit-scrollbar { display:none; }
.ref-track > * { flex-shrink:0; scroll-snap-align:start; }
.ref-controls { display:flex; justify-content:center; gap:.4rem; margin-top:1.4rem; }
.ref-controls button { display:grid; place-items:center; height:32px; width:32px; border:1px solid #c3d8ca; border-radius:50%; background:#fff; color:var(--ref-dark); cursor:pointer; font-size:1.35rem; line-height:1; }
.ref-controls button:hover { background:var(--ref-dark); color:#fff; }
.ref-controls.is-hidden { display:none; }
.ref-category-card { width:calc((100% - 3rem)/4); min-width:0; text-align:center; color:var(--ref-dark); border:1px solid var(--ref-line); border-radius:9px; padding:1.2rem 1rem 1rem; background:#fff; display:flex; flex-direction:column; align-items:center; gap:.2rem; }
.ref-category-card:hover { color:var(--ref-dark); border-color:var(--ref-accent); box-shadow:0 8px 30px #104b1a12; }
.ref-category-photo { width:min(155px,85%); aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:#eaf7eb; overflow:hidden; margin-bottom:.65rem; }
.ref-category-photo img { width:100%; height:100%; object-fit:cover; }
.ref-category-card strong { font-size:.96rem; }
.ref-category-count { color:#7b9281; font-size:.72rem; }
.ref-products,.ref-projects { background:var(--ref-soft); }
.ref-product-card { width:calc((100% - 2rem)/3); min-width:0; background:#fff; border:1px solid #e2ebe5; border-radius:9px; overflow:hidden; display:flex; flex-direction:column; }
.ref-product-photo { display:block; height:195px; background:#e9f0e9; }
.ref-product-photo img { height:100%; width:100%; object-fit:cover; }
.ref-product-body { padding:1rem 1.15rem 1.2rem; flex:1; display:flex; flex-direction:column; }
.ref-product-kicker { color:#438359; font-size:.69rem; min-height:1.4rem; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ref-product-card h3 { color:var(--ref-dark); font-size:1.02rem; line-height:1.5; margin:.3rem 0; min-height:3rem; }
.ref-product-card h3 a { color:inherit; }
.ref-product-excerpt { color:#6c8271; font-size:.77rem; line-height:1.85; min-height:2.8rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ref-product-foot { display:flex; justify-content:space-between; align-items:center; gap:.5rem; margin-top:auto; }
.ref-product-action { background:var(--ref-accent); color:var(--ref-dark); border-radius:4px; padding:.48rem .6rem; font-weight:800; font-size:.72rem; white-space:nowrap; }
.ref-product-more { color:#276b3d; font-size:.73rem; white-space:nowrap; }
.ref-industry-card { width:calc((100% - 2rem)/3); min-width:0; color:var(--ref-dark); display:flex; flex-direction:column; border:1px solid var(--ref-line); border-radius:8px; overflow:hidden; background:#fff; }
.ref-industry-card img { width:100%; height:175px; object-fit:cover; }
.ref-industry-card > span { padding:1rem 1.1rem; }
.ref-industry-card strong,.ref-service-card strong,.ref-project-card strong,.ref-post-card strong { display:block; color:var(--ref-dark); font-size:1.01rem; margin-bottom:.3rem; }
.ref-industry-card small,.ref-service-card small { display:block; color:#607769; font-size:.77rem; line-height:1.8; }
.ref-trust { color:#fff; padding:3.5rem 0; background-color:#053209; background-image:var(--ref-hatch); }
.ref-trust h2 { color:#fff; text-align:center; margin-bottom:2rem; }
.ref-trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; text-align:center; }
.ref-trust-card { padding:.4rem .55rem; }
.ref-trust-icon { color:var(--ref-accent); font-size:2rem; display:block; }
.ref-trust-card h3 { color:#fff; font-size:.96rem; margin:.65rem 0; }
.ref-trust-card p { color:#c9e2d0; font-size:.76rem; line-height:1.9; margin:0; }
.ref-service-card { width:calc((100% - 2rem)/3); min-width:0; color:var(--ref-dark); border:1px solid var(--ref-line); border-radius:8px; overflow:hidden; background:#fff; }
.ref-service-card img { width:100%; height:200px; object-fit:cover; }
.ref-service-card > span { display:block; padding:1rem 1.2rem 1.2rem; }
.ref-service-card b,.ref-post-card b { color:#00752b; font-size:.77rem; display:block; margin-top:1rem; }
.ref-project-card { width:calc((100% - 1rem)/2); min-width:0; color:var(--ref-dark); border:1px solid var(--ref-line); background:#fff; border-radius:8px; overflow:hidden; display:flex; }
.ref-project-card img { width:45%; height:215px; object-fit:cover; }
.ref-project-card > span { padding:1.2rem; display:flex; flex-direction:column; justify-content:center; }
.ref-project-card small,.ref-post-card small { color:#6b9674; font-size:.72rem; }
.ref-project-card em,.ref-post-card em { font-style:normal; color:#63806b; font-size:.77rem; line-height:1.8; }
.ref-post-card { width:calc((100% - 2rem)/3); min-width:0; border:1px solid var(--ref-line); border-radius:8px; overflow:hidden; color:var(--ref-dark); background:#fff; }
.ref-post-card img { width:100%; height:165px; object-fit:cover; }
.ref-post-card > span { display:block; padding:1rem 1.1rem; }
.ref-final-cta { color:#fff; background-image:linear-gradient(270deg,#003b19f2,#003b19ce),var(--cta-image); background-size:cover; background-position:center; padding:3rem 0; }
.ref-final-cta .container { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.ref-final-cta h2 { color:#fff; font-size:1.75rem; }
.ref-final-cta p { color:#dcefe1; max-width:550px; font-size:.86rem; margin-bottom:0; }
.ref-final-cta .ref-actions { margin:0; }

/* Editorial sections retained from the former homepage. The copy stays on its WordPress page. */
.ref-legacy-intro { background:#f7faf7; }
.ref-legacy-intro-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr); align-items:center; gap:clamp(2rem,6vw,6rem); }
.ref-legacy-intro h2 { color:var(--ref-dark); font-size:clamp(1.7rem,3.1vw,2.6rem); line-height:1.45; margin-bottom:1.3rem; }
.ref-legacy-intro-copy p { max-width:70ch; font-size:.98rem; line-height:2.15; color:#405d49; }
.ref-legacy-intro-copy p:last-child { display:inline-block; background:#e3f6e7; border-inline-start:3px solid #0db935; border-radius:5px; padding:.8rem 1rem; font-weight:700; color:#124327; }
.ref-legacy-intro-media { border-radius:22px; background:#e7f2e8; min-height:260px; display:grid; place-items:center; overflow:hidden; }
.ref-legacy-intro-media p { margin:0; }
.ref-legacy-intro-media img { display:block; max-height:340px; width:100%; object-fit:contain; }
.ref-legacy-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; margin-top:1.7rem; }
.ref-legacy-category-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--ref-line); border-radius:15px; overflow:hidden; box-shadow:0 8px 28px #003b190a; transition:transform .2s,box-shadow .2s; }
.ref-legacy-category-card:hover { transform:translateY(-4px); box-shadow:0 15px 35px #003b191c; }
.ref-legacy-category-image { height:220px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#f3faf3,#e7f4e9); padding:1.2rem; }
.ref-legacy-category-image img { width:auto; max-width:100%; height:180px; object-fit:contain; }
.ref-legacy-category-body { padding:1.3rem 1.4rem 1.5rem; display:flex; flex:1; flex-direction:column; }
.ref-legacy-category-body h3 { color:var(--ref-dark); margin:0 0 .65rem; font-size:1.12rem; }
.ref-legacy-category-body p { color:#55705e; line-height:2; font-size:.85rem; margin:0 0 1rem; }
.ref-legacy-category-body p:last-child { margin-top:auto; margin-bottom:0; }
.ref-legacy-category-body a { display:inline-flex; color:#006e2e; font-weight:800; border-bottom:1px solid #a5d5af; padding-bottom:.18rem; }
.ref-legacy-products { background:#f0f8f1; }
.ref-legacy-product-row + .ref-legacy-product-row { margin-top:3.5rem; }
.ref-legacy-product-row .ref-section-head { margin-bottom:1.2rem; }
.ref-legacy-product-row .ref-product-body { gap:.6rem; }
.ref-legacy-product-row .ref-product-card h3 { min-height:0; }
.ref-legacy-price { margin-top:auto; color:#137533; font-size:.86rem; font-weight:800; }
.ref-legacy-price del { font-size:.72rem; color:#8c9d90; margin-inline-end:.4rem; }
.ref-legacy-product-row .ref-product-action { align-self:flex-start; margin-top:.3rem; }
.ref-legacy-guide { background:#fff; }
.ref-legacy-guide-grid { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.ref-legacy-guide-media { overflow:hidden; border-radius:16px; background:#eaf2eb; }
.ref-legacy-guide-media p { margin:0; }
.ref-legacy-guide-media img { display:block; width:100%; height:auto; object-fit:cover; }
.ref-legacy-guide-copy h2 { margin-bottom:1rem; }
.ref-legacy-guide-copy p { color:#435f4b; line-height:2.05; font-size:.92rem; }
.ref-legacy-types { background:#f6faf6; }
.ref-legacy-types > .container > h2 { margin-bottom:1.6rem; }
.ref-legacy-type-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.ref-legacy-type-card { background:#fff; border:1px solid var(--ref-line); border-top:4px solid #13b83b; border-radius:12px; padding:1.5rem 1.7rem; }
.ref-legacy-type-card h3 { font-size:1.2rem; color:var(--ref-dark); margin:0 0 .8rem; }
.ref-legacy-type-card p { color:#4a6752; line-height:2.05; font-size:.88rem; }
.ref-legacy-type-card p:last-child { margin-bottom:0; }
.ref-legacy-type-card a { color:#007b30; font-weight:800; }
.ref-legacy-advice { background:#fff; }
.ref-legacy-advice h2 { margin-bottom:1.2rem; }
.ref-legacy-advice-grid { border:1px solid var(--ref-line); border-radius:12px; padding:1.35rem 1.7rem; margin-bottom:.75rem; background:#fafdfa; }
.ref-legacy-advice-grid:first-of-type { border-color:#b7dfc0; background:#edf8ee; }
.ref-legacy-advice-grid h3 { color:var(--ref-dark); font-size:1.1rem; margin:0 0 .6rem; }
.ref-legacy-advice-grid p { color:#435f4b; font-size:.89rem; line-height:2; margin:0; }
.ref-legacy-advice-grid p + p { margin-top:1rem; }
.ref-legacy-advice-grid a { color:#007830; font-weight:800; }
.ref-legacy-faq { background-color:#053209; background-image:var(--ref-hatch); color:#fff; padding-block:2.2rem; }
.ref-legacy-faq .container > div { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.ref-legacy-faq h2 { color:#fff; }
@media (max-width:960px) { .ref-legacy-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) {
 .ref-legacy-intro-grid,.ref-legacy-guide-grid,.ref-legacy-type-grid { grid-template-columns:1fr; }
 .ref-legacy-guide-media { order:2; }
 .ref-legacy-guide-copy { order:1; }
 .ref-legacy-catalog-grid { grid-template-columns:1fr; }
 .ref-legacy-category-image { height:200px; }
 .ref-legacy-category-image img { height:160px; }
 .ref-legacy-faq .container > div { align-items:flex-start; flex-direction:column; }
 .ref-legacy-advice-grid,.ref-legacy-type-card { padding:1rem 1.15rem; }
}
.ref-footer { background-color:#053209; background-image:var(--ref-hatch); color:#dcebe0; margin-top:0; padding-top:3.8rem; }
.ref-footer-grid { display:grid; grid-template-columns:minmax(0,1.55fr) repeat(2,minmax(0,.8fr)) minmax(0,1fr) minmax(0,1.35fr); gap:1.4rem; padding-bottom:3rem; }
.ref-footer .brand .custom-logo { max-width:165px; max-height:60px; background:#fff; border-radius:4px; padding:3px; }
.ref-footer-about p { margin:1.1rem 0 .5rem; font-size:.8rem; max-width:300px; line-height:2.1; }
.ref-footer-social-block { margin-top:1.15rem; }
.ref-footer-social-block h2 { margin:0 0 .7rem; color:#bdeac6; font-size:.8rem; font-weight:800; }
.ref-footer-col h2 { font-size:.96rem; color:#fff; margin:0 0 1rem; }
.ref-footer-col ul { margin:0; padding:0; list-style:none; }
.ref-footer-col li { margin:.4rem 0; }
.ref-footer a { color:#dcebe0; font-size:.79rem; text-decoration:none; }
.ref-footer a:hover { color:var(--ref-accent); }
.ref-footer-col p { font-size:.79rem; margin:.45rem 0; }
.ref-footer-contact p { line-height:1.8; overflow-wrap:anywhere; white-space:pre-line; }
.ref-footer-contact p span { color:#91d69f; font-weight:800; }
.ref-footer-contact p a[dir="ltr"] { display:inline-block; unicode-bidi:isolate; }
.ref-footer-about .custom-logo { width:auto; max-width:105px; max-height:68px; object-fit:contain; background:#fff; border-radius:4px; padding:4px; }
.ref-footer-social { display:flex; flex-wrap:wrap; gap:.55rem; }
.ref-footer-social a { display:grid; place-items:center; width:36px; height:36px; border:1px solid #638c6d; border-radius:8px; color:#fff; background:rgba(255,255,255,.06); transition:background .2s,border-color .2s,transform .2s; }
.ref-footer-social a:hover,.ref-footer-social a:focus-visible { background:#0a7a2d; border-color:#79e58a; transform:translateY(-2px); }
.ref-footer-social img { display:block; width:18px; height:18px; filter:brightness(0) invert(1); }
.ref-footer-bottom { border-top:1px solid #386747; padding:1rem 0; display:flex; justify-content:space-between; color:#9fbea7; font-size:.72rem; }
@media(max-width:1100px) {
 .header-inner { gap:.55rem; }.primary-nav a { padding-inline:.35rem; font-size:.76rem; }.ref-header-search { flex-basis:170px; }.header-tools .tool { width:29px; }
 .ref-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.ref-footer-about { grid-column:span 2; }
}
@media(max-width:860px) {
 .ref-header-search { display:none; }.ref-category-card { width:calc((100% - 2rem)/3); }.ref-product-card,.ref-industry-card,.ref-service-card,.ref-post-card { width:calc((100% - 1rem)/2); }.ref-trust-grid { grid-template-columns:repeat(2,1fr); }.ref-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.ref-footer-about { grid-column:1/-1; }
}
@media(max-width:700px) {
 .topbar { font-size:.67rem; }.topbar-inner { grid-template-columns:minmax(0,1fr); }.topbar-inner > p { grid-column:1; }.topbar-tools { display:none; }.header-inner { min-height:64px; }.brand .custom-logo { max-height:45px; max-width:135px; }.header-tools .tool { width:32px; }.header-tools .tool:nth-child(2),.header-tools .tool:nth-child(3),.header-tools .header-cta { display:none; }
 .ref-hero { min-height:480px; background-image:linear-gradient(270deg,rgba(0,49,21,.96),rgba(0,49,21,.66)),var(--hero-image); }.ref-hero-copy { padding:3rem 0; }.ref-hero h1 { font-size:2rem; }.ref-hero-lead { font-size:.84rem; }
 .ref-stats-inner { grid-template-columns:repeat(2,1fr); row-gap:1rem; }.ref-stat:nth-child(2) { border:0; }.ref-section { padding-block:3rem; }.ref-category-card { width:calc((100% - .8rem)/2); }.ref-product-card,.ref-industry-card,.ref-service-card,.ref-post-card { width:78%; }.ref-project-card { width:88%; flex-direction:column; }.ref-project-card img { width:100%; height:170px; }
 .ref-trust-grid { gap:1rem; }.ref-final-cta .container { display:block; }.ref-final-cta .ref-actions { margin-top:1.3rem; }.ref-footer-grid { gap:1.4rem; }.ref-footer-about { grid-column:1/-1; }.ref-footer-bottom { display:block; }.ref-footer-bottom span { display:block; margin:.3rem 0; }
}
@media(max-width:390px) {
 .ref-category-card { width:74%; }.ref-product-card,.ref-industry-card,.ref-service-card,.ref-post-card { width:85%; }.ref-trust-grid { grid-template-columns:1fr; }.ref-footer-grid { grid-template-columns:1fr 1fr; }.ref-hero h1 { font-size:1.75rem; }
}
@media(max-width:600px) {
 .ref-footer-grid > .ref-footer-col:nth-child(4),.ref-footer-contact { grid-column:1/-1; }
 .ref-footer-grid > .ref-footer-col:nth-child(4) ul { display:flex; flex-wrap:wrap; gap:.35rem 1.2rem; }
 .ref-footer-grid > .ref-footer-col:nth-child(4) li { margin:0; }
}
/* Final proportions and card treatments from the supplied reference. */
.header-tools .count { display:none; }
@media(min-width:861px) { .header-tools .search-toggle { display:none; } }
.ref-hero { min-height:440px; background-image:linear-gradient(270deg,rgba(0,54,20,.94) 0%,rgba(0,58,23,.73) 41%,rgba(0,54,20,.17) 100%),var(--hero-image); }
.ref-hero h1 { font-size:clamp(2.05rem,3.3vw,2.75rem); max-width:580px; }
.ref-hero-copy { padding:3.3rem 0; }
.ref-button-light { background:var(--ref-accent); }
.ref-button-outline { border:1px solid #fff; background:#fff; color:var(--ref-dark); }
.ref-button-outline:hover { background:#e8f7e9; color:var(--ref-dark); }
.ref-stats { background:#fff; color:var(--ref-dark); border-bottom:1px solid var(--ref-line); }
.ref-stats-inner { padding:.85rem 0; }
.ref-stat { border-color:var(--ref-line); }
.ref-stat strong { color:#0b2718; font-size:1.1rem; }
.ref-stat span { color:#6c806f; }
.ref-stat .ref-stat-icon { color:#0b842e; }
.ref-category-card { border:0; padding:0; background:transparent; border-radius:0; }
.ref-category-card:hover { box-shadow:none; border:0; }
.ref-category-photo { width:100%; height:155px; aspect-ratio:auto; border-radius:7px; margin-bottom:.35rem; }
.ref-category-photo img { object-fit:cover; }
.ref-category-count { color:#448353; }
.ref-industry-card { height:195px; position:relative; border:0; border-radius:8px; }
.ref-industry-card img { height:100%; }
.ref-industry-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,46,16,.82),transparent 65%); }
.ref-industry-card > span { position:absolute; z-index:1; bottom:0; right:0; left:0; color:#fff; }
.ref-industry-card strong,.ref-industry-card small { color:#fff; }
.ref-services .ref-service-card { border:0; }
.ref-services .ref-service-card img { border-radius:7px; }
.ref-final-cta { background-image:linear-gradient(270deg,#003b19d9,#003b19aa),var(--cta-image); }
@media(max-width:700px) {
 .ref-hero { min-height:450px; background-image:linear-gradient(270deg,rgba(0,49,21,.94),rgba(0,49,21,.52)),var(--hero-image); }
 .ref-hero h1 { font-size:1.85rem; }
 .ref-category-photo { height:130px; }
}
/* Services archive: compact editorial layout from the PDF. */
.ref-services-page.site-main { padding:0; }
.ref-services-hero { position:relative; min-height:205px; color:#fff; background-image:linear-gradient(270deg,rgba(0,52,16,.98),rgba(0,55,16,.91) 50%,rgba(0,53,15,.78)),var(--service-hero-image); background-size:cover; background-position:center; overflow:hidden; }
.ref-services-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:var(--ref-hatch); }
.ref-services-hero-inner { position:relative; z-index:1; padding-block:3rem; }
.ref-services-crumb { display:flex; gap:.55rem; align-items:center; color:#e8f3e9; font-size:.79rem; margin-bottom:.75rem; }
.ref-services-crumb a { color:inherit; text-decoration:none; }
.ref-services-crumb a:hover { color:var(--ref-accent); }
.ref-services-hero h1 { color:#fff; margin:0 0 .45rem; font-size:clamp(1.8rem,2.7vw,2.5rem); font-weight:900; line-height:1.35; }
.ref-services-hero p { color:#e0f0e3; font-size:.91rem; line-height:1.9; max-width:680px; margin:0; }
.ref-services-list { padding-block:2.5rem 3.5rem; }
.ref-services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:1rem; row-gap:2rem; max-width:940px; margin-inline:auto; }
.ref-services-card { min-width:0; }
.ref-services-card a { display:block; color:var(--ref-dark); text-decoration:none; }
.ref-services-card img { width:100%; height:150px; object-fit:cover; border-radius:9px; transition:transform .2s ease; }
.ref-services-card a:hover img { transform:translateY(-3px); }
.ref-services-card-copy { display:block; padding:.65rem .1rem 0; }
.ref-services-card strong { display:block; color:var(--ref-dark); font-size:1.01rem; font-weight:800; line-height:1.5; margin-bottom:.15rem; }
.ref-services-card-copy > span { display:block; color:#687d6c; font-size:.79rem; line-height:1.75; }
body.post-type-archive-tspack_service .ref-services-hero-inner,
body.post-type-archive-tspack_service .ref-footer-grid,
body.post-type-archive-tspack_service .ref-footer-bottom { max-width:940px; }
body.post-type-archive-tspack_service .ref-footer { padding-top:2.7rem; }
body.post-type-archive-tspack_service .ref-footer-grid { padding-bottom:1.6rem; }
@media(max-width:850px) {
 .ref-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ref-services-hero { min-height:220px; }
}
@media(max-width:600px) {
 .ref-services-hero { min-height:205px; }
 .ref-services-hero-inner { padding-block:2.3rem; }
 .ref-services-hero h1 { font-size:1.85rem; }
 .ref-services-hero p { font-size:.8rem; }
 .ref-services-list { padding-block:2rem 3rem; }
 .ref-services-grid { grid-template-columns:1fr; row-gap:1.8rem; }
 .ref-services-card img { height:auto; aspect-ratio:1.95; }
}

/* Product archive from the supplied catalog reference. */
.ref-catalog { color:#173524; }
.ref-catalog-container { width:min(940px,calc(100% - 36px)); margin-inline:auto; }
.ref-catalog-hero { min-height:205px; display:flex; align-items:center; color:#fff; background-image:linear-gradient(270deg,rgba(0,52,16,.98),rgba(0,57,20,.91) 52%,rgba(0,53,18,.78)),var(--catalog-hero-image); background-size:cover; background-position:center 45%; }
.ref-catalog-hero .ref-catalog-container { padding-block:2rem; }
.ref-catalog-crumb { display:flex; align-items:center; gap:.5rem; color:#dcefe0; font-size:.72rem; margin-bottom:.95rem; }
.ref-catalog-crumb a { color:inherit; text-decoration:none; }
.ref-catalog-hero h1 { color:#fff; font-size:2rem; font-weight:900; line-height:1.35; margin:0 0 .7rem; }
.ref-catalog-hero p { color:#e8f3e9; font-size:.9rem; line-height:1.8; margin:0; }
.ref-catalog-layout { display:grid; grid-template-columns:214px minmax(0,1fr); gap:26px; padding-block:26px 32px; align-items:stretch; }
.ref-catalog-sidebar { background:#f2f8f2; border-radius:11px; padding:16px 14px 24px; min-width:0; }
.ref-catalog-search label,.ref-catalog-filter h2 { display:block; color:#24452a; font-size:.8rem; font-weight:800; margin:0 0 .65rem; }
.ref-catalog-search-field { display:flex; background:#fff; border:1px solid #dbe9de; border-radius:5px; min-height:37px; }
.ref-catalog-search-field input { min-width:0; width:100%; background:transparent; border:0; outline:0; padding:.45rem .55rem; font-size:.72rem; color:#23442d; }
.ref-catalog-search-field button { width:29px; border:0; background:transparent; color:#597862; font-size:1.2rem; cursor:pointer; }
.ref-catalog-filter { margin-top:1.4rem; }
.ref-catalog-chips { display:flex; gap:5px; flex-wrap:wrap; }
.ref-catalog-chip { display:inline-flex; align-items:center; min-height:25px; padding:3px 8px; border:1px solid #dce8dd; border-radius:4px; background:#fff; color:#66816e; text-decoration:none; font-size:.68rem; line-height:1.25; }
.ref-catalog-chip:hover { color:#073b1a; border-color:var(--ref-accent); }
.ref-catalog-chip.is-current { background:var(--ref-accent); border-color:var(--ref-accent); color:#063f19; font-weight:800; }
.ref-catalog-clear { display:block; width:100%; text-align:center; margin-top:1.6rem; padding:.6rem; border:1px solid #d9e8dc; border-radius:5px; background:#fff; color:#27472d; font-size:.75rem; font-weight:800; text-decoration:none; }
.ref-catalog-clear:hover { color:#073c1c; border-color:var(--ref-accent); }
.ref-catalog-main { min-width:0; }
.ref-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:27px; margin-bottom:13px; }
.ref-catalog-count { color:#55705c; font-size:.75rem; }
.ref-catalog-view { display:flex; align-items:center; gap:4px; margin-inline-start:auto; }
.ref-catalog-view button { display:grid; place-items:center; width:28px; height:27px; padding:4px; background:#fff; color:#45634b; border:1px solid #dce9de; border-radius:5px; cursor:pointer; }
.ref-catalog-view button.is-active { background:#e3ffe7; color:#0b8328; border-color:var(--ref-accent); }
.ref-catalog-view svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.ref-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:13px; row-gap:23px; }
.ref-catalog-card { min-width:0; display:flex; flex-direction:column; }
.ref-catalog-photo { display:block; overflow:hidden; aspect-ratio:1.93; border-radius:9px; background:#f2f6f3; }
.ref-catalog-photo img { width:100%; height:100%; object-fit:cover; display:block; margin:0; transition:transform .3s ease; }
.ref-catalog-photo:hover img { transform:scale(1.025); }
.ref-catalog-card-body { display:flex; flex-direction:column; flex:1; padding:8px 11px 0; }
.ref-catalog-card-meta { display:flex; align-items:center; justify-content:space-between; gap:.5rem; color:#749079; min-height:18px; font-size:.66rem; }
.ref-catalog-category { display:inline-block; padding:2px 5px; background:#f0f8f1; border-radius:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ref-catalog-sku { color:#839886; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ref-catalog-card h2 { font-size:.9rem; line-height:1.5; font-weight:850; margin:6px 0; }
.ref-catalog-card h2 a { color:#123b20; text-decoration:none; }
.ref-catalog-card h2 a:hover { color:#008e2b; }
.ref-catalog-description,.ref-catalog-stock { color:#68806d; font-size:.72rem; line-height:1.65; margin:0; }
.ref-catalog-description { min-height:2.4em; }
.ref-catalog-stock { color:#688e6f; margin:.35rem 0 .6rem; }
.ref-catalog-card-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:auto; }
.ref-catalog-card-actions a,.ref-catalog-card-actions button { display:inline-flex; justify-content:center; align-items:center; min-height:31px; padding:5px 9px; border-radius:4px; text-decoration:none; font-size:.7rem; font-weight:800; line-height:1.2; cursor:pointer; }
.ref-catalog-card-actions .ref-catalog-inquiry { background:var(--ref-accent); color:#10351a; border:1px solid var(--ref-accent); }
.ref-catalog-card-actions .ref-catalog-details,.ref-catalog-card-actions .ref-catalog-compare { color:#23462c; background:#fff; border:1px solid #d9e9dd; }
.ref-catalog-card-actions a:hover,.ref-catalog-card-actions button:hover { filter:brightness(.94); }
.ref-catalog-card-actions .ref-catalog-compare { width:32px; padding:5px; }
.ref-catalog-compare svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.ref-catalog-grid.is-list { grid-template-columns:1fr; row-gap:20px; }
.ref-catalog-grid.is-list .ref-catalog-card { display:grid; grid-template-columns:minmax(185px,34%) minmax(0,1fr); gap:12px; }
.ref-catalog-grid.is-list .ref-catalog-photo { aspect-ratio:1.6; }
.ref-catalog-grid.is-list .ref-catalog-card-body { padding:2px 0; }
.ref-catalog .woocommerce-pagination { margin-top:2rem; }
.ref-catalog .woocommerce-pagination ul.page-numbers { display:flex; justify-content:center; gap:.35rem; border:0; }
.ref-catalog .woocommerce-pagination ul.page-numbers li { float:none; border:0; }
.ref-catalog .woocommerce-pagination a.page-numbers,.ref-catalog .woocommerce-pagination span.page-numbers { display:grid; place-items:center; min-width:32px; height:32px; padding:.3rem; border:1px solid #d8e7da; border-radius:5px; color:#285331; background:#fff; }
.ref-catalog .woocommerce-pagination span.page-numbers.current { background:var(--ref-dark); border-color:var(--ref-dark); color:#fff; }
.ref-catalog-empty { padding:2rem; border:1px solid #dce9de; border-radius:8px; }
.ref-catalog-description { padding-bottom:2rem; }
.ref-catalog-mobile-toggle { display:none; }
body.woocommerce-shop .ref-footer-grid,body.woocommerce-shop .ref-footer-bottom,body.tax-product_cat .ref-footer-grid,body.tax-product_cat .ref-footer-bottom { max-width:940px; }
@media(max-width:780px) {
 .ref-catalog-layout { grid-template-columns:1fr; gap:15px; }
 .ref-catalog-sidebar { display:none; grid-row:2; }
 .ref-catalog-sidebar.is-open { display:block; }
 .ref-catalog-mobile-toggle { display:inline-flex; padding:5px 10px; border:1px solid #d8e6db; border-radius:5px; background:#fff; color:#21482d; font-size:.75rem; font-weight:800; cursor:pointer; }
 .ref-catalog-main { grid-row:1; }
 .ref-catalog-layout:has(.ref-catalog-sidebar.is-open) .ref-catalog-main { grid-row:3; }
}
@media(max-width:570px) {
 .ref-catalog-hero { min-height:175px; }
 .ref-catalog-hero h1 { font-size:1.6rem; }
 .ref-catalog-hero p { font-size:.78rem; }
 .ref-catalog-container { width:min(100% - 28px,940px); }
 .ref-catalog-layout { padding-block:18px 30px; }
 .ref-catalog-grid { grid-template-columns:1fr; row-gap:25px; }
 .ref-catalog-photo { aspect-ratio:1.85; }
 .ref-catalog-card-body { padding-inline:3px; }
 .ref-catalog-grid.is-list .ref-catalog-card { grid-template-columns:1fr; }
 .ref-catalog-grid.is-list .ref-catalog-photo { aspect-ratio:1.85; }
}
/* WooCommerce single product: reference gallery, facts, tabs and related cards. */
.ref-product-container { max-width:940px; }
.ref-product-breadcrumb { background:#f3f8f3; border-block:1px solid #e6eee6; color:#697b6c; }
.ref-product-breadcrumb .container { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; min-height:42px; font-size:.76rem; }
.ref-product-breadcrumb a { color:#647b68; text-decoration:none; }
.ref-product-breadcrumb a:hover { color:var(--ref-dark); }
.ref-product-main.site-main { padding-block:1.7rem 4.5rem; }
.woocommerce article.product.ref-single-product { display:block; margin:0; }
.ref-product-top { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:2rem; align-items:start; }
.woocommerce article.product .ref-product-gallery .woocommerce-product-gallery,
.woocommerce article.product .ref-product-summary { width:100% !important; float:none !important; margin:0; }
.ref-product-gallery .woocommerce-product-gallery { position:relative; overflow:hidden; }
.ref-product-gallery .woocommerce-product-gallery__wrapper { margin:0 !important; }
.ref-product-gallery .woocommerce-product-gallery__image a { display:block; }
.ref-product-gallery .woocommerce-product-gallery__image img { display:block; width:100% !important; height:375px !important; object-fit:cover; border-radius:10px; }
.ref-product-gallery .flex-control-thumbs { display:flex !important; flex-wrap:wrap; justify-content:flex-start; gap:.55rem; margin:10px 0 0 !important; padding:0; list-style:none; }
.ref-product-gallery .flex-control-thumbs li { width:calc((100% - 4.4rem)/5) !important; min-width:66px; max-width:110px; float:none !important; margin:0 !important; }
.ref-product-gallery .flex-control-thumbs img { width:100%; height:88px; border:1px solid #dce7dd; border-radius:6px; object-fit:cover; opacity:1 !important; cursor:pointer; }
.ref-product-gallery .flex-control-thumbs img.flex-active { border:2px solid var(--ref-accent); }
.ref-product-gallery .woocommerce-product-gallery__trigger { position:absolute !important; z-index:2; inset-inline-start:12px !important; inset-inline-end:auto !important; top:12px !important; }
.ref-product-kicker { display:inline-block; padding:.2rem .55rem; color:#517b58; background:#f0f7f1; border-radius:3px; font-size:.73rem; }
.woocommerce article.product .ref-product-summary h1 { color:#0b2d18; font-size:clamp(1.45rem,2.25vw,1.9rem); font-weight:850; line-height:1.45; margin:.75rem 0 1rem; }
.ref-product-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1.5rem; margin:0 0 1.5rem; font-size:.79rem; }
.ref-product-facts div { min-width:0; }
.ref-product-facts dt { color:#78907d; }
.ref-product-facts dd { margin:.1rem 0 0; color:#19402a; font-weight:700; overflow-wrap:anywhere; }
.ref-product-facts dd[dir=ltr] { text-align:right; }
.ref-product-lead { color:#526a57; font-size:.83rem; line-height:1.9; }
.ref-product-lead p { margin:0 0 .8rem; }
.woocommerce article.product .ref-product-price.price { color:#0b6e24; font-size:1.03rem; font-weight:750; margin:.6rem 0 1rem; }
.ref-product-price del { opacity:.65; font-size:.8em; }
.ref-product-quote { color:#647b68; font-size:.78rem; margin:1rem 0; }
.ref-product-actions { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; margin-top:1rem; }
.ref-product-action { display:inline-flex; justify-content:center; align-items:center; min-height:39px; padding:.4rem .8rem; border-radius:5px; font-size:.8rem; font-weight:750; text-decoration:none; cursor:pointer; }
.ref-product-action-primary { color:#0b3318; background:var(--ref-accent); border:1px solid var(--ref-accent); }
.ref-product-action-dark { color:#fff; background:var(--ref-dark); border:1px solid var(--ref-dark); }
.ref-product-action-outline { color:var(--ref-dark); background:#fff; border:1px solid #d5e5d8; }
.ref-product-action:hover { filter:brightness(.93); text-decoration:none; }
.ref-product-purchase { border-top:1px solid #e5eee7; margin-top:1.15rem; padding-top:1rem; }
.ref-product-purchase form.cart { margin:0 !important; }
.ref-product-purchase form.variations_form { display:block; }
.ref-product-purchase table.variations { width:100%; margin-bottom:.6rem; }
.ref-product-purchase table.variations th,.ref-product-purchase table.variations td { padding:.35rem .2rem; }
.ref-product-purchase select { min-height:37px; border:1px solid #d5e5d8; border-radius:5px; background:#fff; }
.woocommerce article.product .ref-product-purchase .single_add_to_cart_button { background:var(--ref-dark); color:#fff; border-radius:5px; min-height:38px; font-size:.8rem; }
.woocommerce article.product .ref-product-purchase .quantity input { min-height:38px; border:1px solid #d5e5d8; border-radius:5px; }
.ref-product-purchase .product-tools { display:none; }
.ref-product-tabs { margin-top:2.7rem; }
.woocommerce article.product .ref-product-tabs .woocommerce-tabs { clear:both; }
.woocommerce article.product .ref-product-tabs ul.tabs { display:flex; justify-content:flex-start; gap:1.5rem; padding:0; margin:0 0 1rem; border-bottom:1px solid #dbe8de; overflow-x:auto; white-space:nowrap; list-style:none; }
.woocommerce article.product .ref-product-tabs ul.tabs::before,.woocommerce article.product .ref-product-tabs ul.tabs li::before,.woocommerce article.product .ref-product-tabs ul.tabs li::after { display:none; }
.woocommerce article.product .ref-product-tabs ul.tabs li { display:block; list-style:none; border:0; border-radius:0; background:transparent; margin:0; padding:0; box-shadow:none; width:auto; }
.woocommerce article.product .ref-product-tabs ul.tabs li a { display:block; padding:.7rem .25rem; color:#627a68; font-size:.85rem; font-weight:700; }
.woocommerce article.product .ref-product-tabs ul.tabs li.active { border-bottom:2px solid var(--ref-accent); }
.woocommerce article.product .ref-product-tabs ul.tabs li.active a { color:var(--ref-dark); }
.woocommerce article.product .ref-product-tabs .panel { padding:.2rem 0 0; margin:0; color:#3e5845; font-size:.83rem; line-height:2; min-height:56px; }
.ref-product-tabs .panel h2 { display:none; }
.ref-spec-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem 1.5rem; margin:0; }
.ref-spec-list div { display:flex; justify-content:space-between; gap:.5rem; border-bottom:1px solid #e8eee9; padding:.35rem 0; }
.ref-spec-list dt { color:#6d8572; }.ref-spec-list dd { margin:0; color:#173e25; font-weight:700; }
.ref-use-list { display:flex; flex-wrap:wrap; gap:.6rem; margin:.2rem 0; padding:0; list-style:none; }
.ref-use-list li { padding:.3rem .75rem; border-radius:20px; background:#f0f8f1; color:#275c36; }
.ref-product-related { margin-top:2.9rem; }
.ref-product-related h2 { margin:0 0 1rem; color:var(--ref-dark); font-size:1.28rem; }
.ref-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.ref-related-card { min-width:0; }
.ref-related-image { display:block; height:174px; border-radius:9px 9px 0 0; overflow:hidden; }
.ref-related-image img { display:block; width:100%; height:100%; object-fit:cover; }
.ref-related-content { padding:.7rem .75rem .3rem; }
.ref-related-meta { display:flex; justify-content:space-between; gap:.5rem; color:#829586; font-size:.69rem; }
.ref-related-category { background:#f0f7f1; color:#5b8063; padding:0 .35rem; border-radius:3px; white-space:nowrap; }
.ref-related-card h3 { margin:.5rem 0 .35rem; font-size:.96rem; line-height:1.5; }
.ref-related-card h3 a { color:var(--ref-dark); text-decoration:none; }
.ref-related-card p { min-height:3rem; color:#6c7f70; font-size:.72rem; line-height:1.7; margin:0 0 .6rem; }
.ref-related-actions { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.ref-related-actions a,.ref-related-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:33px; border-radius:4px; padding:.25rem .5rem; font-size:.7rem; font-weight:700; text-decoration:none; cursor:pointer; }
.ref-related-inquiry { background:var(--ref-accent); color:var(--ref-dark); border:1px solid var(--ref-accent); }
.ref-related-details,.ref-related-compare { background:#fff; color:var(--ref-dark); border:1px solid #d8e7da; }
body.single-product .ref-footer { padding-top:2.7rem; }
body.single-product .ref-footer-grid,body.single-product .ref-footer-bottom { max-width:940px; }
body.single-product .ref-footer-grid { padding-bottom:1.6rem; }
@media(max-width:850px) {
 .ref-product-top { grid-template-columns:1fr; }
 .ref-product-gallery { max-width:620px; }
 .ref-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .ref-product-main.site-main { padding-block:1.3rem 3rem; }
 .ref-product-top { gap:1.3rem; }
 .ref-product-gallery .woocommerce-product-gallery__image img { height:auto !important; aspect-ratio:4/3; }
 .ref-product-gallery .flex-control-thumbs img { height:67px; }
 .ref-product-facts { gap:.5rem; }
 .ref-product-tabs { margin-top:2rem; }
 .ref-spec-list,.ref-related-grid { grid-template-columns:1fr; }
 .ref-related-image { height:auto; aspect-ratio:1.8; }
.ref-product-related { margin-top:2rem; }
}

/* Contact page and tracked inquiry form. */
.ref-contact { background:#f7faf7; color:#153922; }
.ref-contact-wrap { width:min(1060px,calc(100% - 36px)); margin-inline:auto; }
.ref-contact-hero { min-height:300px; display:flex; align-items:center; color:#fff; background-image:linear-gradient(270deg,rgba(0,47,18,.96) 0%,rgba(0,56,23,.88) 45%,rgba(0,42,17,.47) 100%),var(--contact-image); background-size:cover; background-position:center; }
.ref-contact-hero .ref-contact-wrap { padding-block:2.6rem 3rem; }
.ref-contact-hero nav { display:flex; gap:.6rem; font-size:.76rem; color:#d2ebd8; margin-bottom:1.3rem; }
.ref-contact-hero nav a { color:inherit; text-decoration:none; }
.ref-contact-eyebrow,.ref-contact-section-head > span,.ref-contact-info-intro > span,.ref-contact-location > div > span { color:var(--ref-accent); font-size:.8rem; font-weight:800; }
.ref-contact-hero h1 { max-width:710px; color:#fff; font-size:clamp(2rem,4vw,3.25rem); line-height:1.35; font-weight:900; margin:.5rem 0 .8rem; }
.ref-contact-hero p { color:#e1f1e4; max-width:650px; line-height:1.9; font-size:.92rem; margin:0; }
.ref-contact-grid { display:grid; grid-template-columns:minmax(0,1.24fr) minmax(290px,.82fr); gap:24px; align-items:start; padding-block:42px; }
.ref-contact-form-card { min-width:0; padding:30px; background:#fff; border:1px solid #dcebdd; border-radius:15px; box-shadow:0 16px 38px rgba(4,59,23,.06); }
.ref-contact-section-head h2,.ref-contact-info-intro h2 { color:#0b381c; font-size:1.55rem; font-weight:900; margin:.45rem 0 .5rem; }
.ref-contact-section-head p,.ref-contact-info-intro p { color:#637c68; font-size:.85rem; line-height:1.85; margin:0 0 1.5rem; }
.ref-contact .ref-contact-form { display:block; }
.ref-contact .hp { left:auto; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.ref-contact-product { padding:.7rem .9rem; margin-bottom:1rem; color:#245432; font-size:.84rem; background:#ecf9ed; border-right:3px solid var(--ref-accent); border-radius:6px; }
.ref-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ref-contact .ref-contact-fields label { display:block; min-width:0; color:#2e5037; font-size:.8rem; font-weight:750; }
.ref-contact-fields label span { color:#e05428; }
.ref-contact .ref-contact-fields input,.ref-contact .ref-contact-fields select,.ref-contact .ref-contact-fields textarea { width:100%; min-height:46px; display:block; margin-top:.45rem; padding:.6rem .8rem; border:1px solid #d8e6db; border-radius:7px; background:#fbfdfb; color:#173923; font:inherit; font-size:.83rem; outline:0; box-shadow:none; }
.ref-contact .ref-contact-fields :is(input,select,textarea):focus { border-color:#46b65c; box-shadow:0 0 0 3px rgba(5,209,25,.11); }
.ref-contact .ref-contact-fields input[dir=ltr] { text-align:left; }
.ref-contact .ref-contact-fields textarea { resize:vertical; min-height:135px; line-height:1.8; }
.ref-contact-message { grid-column:1/-1; }
.ref-contact-form-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:19px; }
.ref-contact-form-bottom p { max-width:290px; color:#728579; font-size:.7rem; line-height:1.8; margin:0; }
.ref-contact-form-bottom button { min-height:43px; padding:.6rem 1.15rem; border:0; border-radius:6px; background:var(--ref-accent); color:#0b391a; font-size:.84rem; font-weight:900; cursor:pointer; white-space:nowrap; }
.ref-contact-form-bottom button:hover { background:#00bd15; }
.ref-contact-alert { padding:.85rem 1rem; margin-bottom:1rem; border-radius:7px; font-size:.85rem; line-height:1.8; }
.ref-contact-alert.is-success { background:#e9f9ed; color:#125628; border:1px solid #a8ddb5; }
.ref-contact-alert.is-error { background:#fff3ef; color:#8a3420; border:1px solid #efd1c8; }
.ref-contact-info { min-width:0; padding:29px 27px; border-radius:15px; background:#eaf4ec; }
.ref-contact-info-intro > span { color:#37814a; }
.ref-contact-info-intro p { margin-bottom:1.2rem; }
.ref-contact-methods { background:#fff; padding:4px 17px; border:1px solid #dce9dd; border-radius:10px; }
.ref-contact-method { display:flex; gap:11px; padding:15px 0; border-bottom:1px solid #e7efe9; }
.ref-contact-method:last-child { border-bottom:0; }
.ref-contact-method-icon { width:34px; height:34px; flex:none; display:grid; place-items:center; border-radius:8px; color:#0b8730; background:#e8f9ec; }
.ref-contact-method-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ref-contact-method > div { min-width:0; }
.ref-contact-method > div > span { display:block; margin-bottom:4px; color:#78917d; font-size:.72rem; }
.ref-contact-method strong,.ref-contact-method a { display:block; color:#173f25; font-size:.83rem; line-height:1.8; font-weight:800; text-decoration:none; overflow-wrap:anywhere; }
.ref-contact-method a:hover { color:#07932c; }
.ref-contact-social { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-top:1.3rem; }
.ref-contact-social > span { color:#5c7663; font-size:.76rem; font-weight:800; width:100%; }
.ref-contact-social a { padding:.35rem .65rem; border:1px solid #c9dfce; border-radius:5px; color:#275233; font-size:.74rem; font-weight:750; text-decoration:none; background:#fff; }
.ref-contact-social a:hover { border-color:var(--ref-accent); }
.ref-contact-location { display:grid; grid-template-columns:280px minmax(0,1fr); gap:22px; align-items:center; padding:0 0 55px; }
.ref-contact-location > div > span { color:#368647; }
.ref-contact-location h2 { color:#103a1e; font-size:1.4rem; margin:.4rem 0 .5rem; }
.ref-contact-location p { color:#617766; font-size:.85rem; line-height:1.9; margin:0; }
.ref-contact-location iframe { width:100%; height:275px; border:1px solid #d7e7d9; border-radius:11px; background:#edf5ee; }
@media(max-width:850px) {
 .ref-contact-grid { grid-template-columns:1fr; }
 .ref-contact-info { display:grid; grid-template-columns:1fr 1.3fr; gap:18px; }
 .ref-contact-social { grid-column:1/-1; margin-top:0; }
 .ref-contact-location { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .ref-contact-wrap { width:min(100% - 28px,1060px); }
 .ref-contact-hero { min-height:260px; }
 .ref-contact-hero .ref-contact-wrap { padding-block:2rem; }
 .ref-contact-hero h1 { font-size:1.9rem; }
 .ref-contact-hero p { font-size:.82rem; }
 .ref-contact-grid { gap:17px; padding-block:22px; }
 .ref-contact-form-card,.ref-contact-info { padding:21px 18px; }
 .ref-contact-info { display:block; }
 .ref-contact-social { margin-top:1.2rem; }
 .ref-contact-fields { grid-template-columns:1fr; gap:12px; }
 .ref-contact-form-bottom { align-items:stretch; flex-direction:column; }
 .ref-contact-form-bottom button { width:100%; }
 .ref-contact-location { gap:12px; padding-bottom:34px; }
 .ref-contact-location iframe { height:250px; }
}

/* About page: editorial story and the shared home benefits. */
.ref-about { color:#173923; background:#f8fbf8; }
.ref-about-hero { display:flex; align-items:center; min-height:410px; color:#fff; background-image:linear-gradient(270deg,rgba(0,42,16,.96),rgba(0,51,21,.86) 48%,rgba(0,45,19,.36)),var(--about-hero-image); background-size:cover; background-position:center; }
.ref-about-hero-inner { width:100%; padding-block:3rem 3.7rem; }
.ref-about-breadcrumb { display:flex; align-items:center; gap:.65rem; margin-bottom:2.3rem; color:#d7ecdc; font-size:.78rem; }
.ref-about-breadcrumb a { color:inherit; text-decoration:none; }
.ref-about-kicker { display:inline-block; color:var(--ref-accent); font-size:.81rem; font-weight:900; }
.ref-about-hero h1 { max-width:720px; margin:.55rem 0 1rem; color:#fff; font-size:clamp(2.2rem,4.1vw,3.5rem); line-height:1.35; font-weight:900; }
.ref-about-hero p { max-width:650px; margin:0; color:#e3f0e5; font-size:1rem; line-height:2; }
.ref-about-story { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding-block:5.2rem; }
.ref-about-story-copy { min-width:0; }
.ref-about-story h2 { color:#08391a; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.45; font-weight:900; margin:.45rem 0 1.6rem; }
.ref-about-content { border-right:2px solid #d1e9d6; padding-right:1.3rem; color:#496253; font-size:.92rem; line-height:2.15; }
.ref-about-content > p { margin:0 0 1.2rem; }
.ref-about-content > p:first-child,.ref-about-content h4,.ref-about-content > p > strong { display:block; color:#0c5225; font-size:1.04rem; font-weight:900; line-height:1.7; }
.ref-about-content h4 { margin:1.8rem 0 .5rem; }
.ref-about-content > p:first-child { margin-bottom:.5rem; }
.ref-about-content > p:has(> strong) { margin:1.8rem 0 .5rem; }
.ref-about-content a { color:#0a8030; text-decoration:underline; text-underline-offset:3px; }
.ref-about-visual { position:relative; min-width:0; align-self:stretch; min-height:520px; }
.ref-about-visual img { display:block; width:100%; height:100%; min-height:520px; object-fit:cover; border-radius:14px; box-shadow:0 25px 50px rgba(5,50,20,.14); }
.ref-about-badge { position:absolute; inset-inline-end:20px; bottom:20px; display:flex; flex-direction:column; min-width:160px; padding:1rem 1.2rem; border-radius:9px; background:#fff; box-shadow:0 12px 36px rgba(0,0,0,.16); }
.ref-about-badge strong { color:#087d2c; font-size:1.7rem; font-weight:900; line-height:1.3; }
.ref-about-badge span { color:#4c6a55; font-size:.78rem; font-weight:750; }
.ref-about .ref-trust { padding-block:3.7rem; }
.ref-about-cta { color:#fff; background-color:#053209; background-image:var(--ref-hatch); }
.ref-about-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:3.6rem; }
.ref-about-cta h2 { max-width:670px; color:#fff; font-size:clamp(1.6rem,2.6vw,2.25rem); line-height:1.45; margin:.5rem 0 .6rem; }
.ref-about-cta p { max-width:650px; color:#d0e7d6; font-size:.88rem; line-height:1.9; margin:0; }
.ref-about-actions { display:flex; flex-wrap:wrap; gap:.7rem; flex:none; }
.ref-about-actions a { text-decoration:none; }
@media(max-width:900px) {
 .ref-about-story { grid-template-columns:1fr; padding-block:3.5rem; }
 .ref-about-visual { min-height:380px; }
 .ref-about-visual img { max-height:500px; min-height:380px; }
 .ref-about-cta-inner { display:block; }
 .ref-about-actions { margin-top:1.5rem; }
}
@media(max-width:600px) {
 .ref-about-hero { min-height:340px; }
 .ref-about-hero-inner { padding-block:2rem 2.8rem; }
 .ref-about-breadcrumb { margin-bottom:1.8rem; }
 .ref-about-hero h1 { font-size:2rem; }
 .ref-about-hero p { font-size:.85rem; }
 .ref-about-story { gap:1.5rem; padding-block:2.6rem; }
 .ref-about-content { padding-right:.9rem; font-size:.85rem; }
 .ref-about-visual,.ref-about-visual img { min-height:300px; }
 .ref-about-badge { inset-inline-end:12px; bottom:12px; }
 .ref-about-actions { flex-direction:column; align-items:stretch; }
}

/* Curated price guide: WooCommerce records are rendered before the legacy article. */
.ref-price-page { background:#f8fbf8; color:#153c22; }
.ref-price-page > .container { width:min(1140px,calc(100% - 36px)); }
.ref-price-hero { min-height:315px; display:flex; align-items:center; color:#fff; background-image:linear-gradient(270deg,rgba(0,44,17,.97),rgba(0,51,20,.88) 55%,rgba(0,52,20,.5)),var(--price-hero-image); background-position:center; background-size:cover; }
.ref-price-hero-inner { width:100%; padding-block:2.6rem 3.4rem; }
.ref-price-crumb { display:flex; align-items:center; gap:.6rem; margin-bottom:2rem; color:#d7eadd; font-size:.76rem; }
.ref-price-crumb a { color:inherit; text-decoration:none; }
.ref-price-eyebrow { display:block; color:#09d322; font-size:.82rem; font-weight:850; }
.ref-price-hero h1 { color:#fff; font-size:clamp(2.1rem,4vw,3.25rem); line-height:1.35; margin:.4rem 0 .7rem; font-weight:900; }
.ref-price-hero p { max-width:630px; color:#e2efe5; font-size:.94rem; line-height:2; margin:0; }
.ref-price-products { padding-block:3.4rem 4.6rem; }
.ref-price-heading { display:flex; justify-content:space-between; align-items:end; gap:1.5rem; margin-bottom:1.5rem; }
.ref-price-heading h2 { color:#0a371a; margin:.3rem 0 .4rem; font-size:clamp(1.7rem,3vw,2.25rem); line-height:1.4; font-weight:900; }
.ref-price-heading p { color:#647b69; line-height:1.9; font-size:.88rem; margin:0; }
.ref-price-count { flex:none; padding:.45rem .8rem; border-radius:100px; background:#e9f5ec; color:#287542; font-size:.78rem; font-weight:800; }
.ref-price-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ref-price-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #e2ebe4; border-radius:11px; background:#fff; box-shadow:0 8px 24px rgba(4,54,20,.045); transition:transform .2s ease,box-shadow .2s ease; }
.ref-price-card:hover { transform:translateY(-3px); box-shadow:0 15px 32px rgba(4,54,20,.10); }
.ref-price-card-image { display:block; background:#f1f6f2; aspect-ratio:1.23; overflow:hidden; }
.ref-price-card-image img { display:block; width:100%; height:100%; object-fit:contain; padding:12px; margin:0; mix-blend-mode:multiply; }
.ref-price-card-body { display:flex; flex-direction:column; flex:1; min-width:0; padding:15px 15px 17px; }
.ref-price-card-kicker { color:#419455; font-size:.69rem; font-weight:800; }
.ref-price-card h3 { font-size:.9rem; line-height:1.75; min-height:3.2em; margin:.35rem 0 .9rem; font-weight:900; }
.ref-price-card h3 a { color:#173d24; text-decoration:none; }
.ref-price-card h3 a:hover { color:#098e32; }
.ref-price-card-price { display:flex; align-items:center; min-height:48px; margin-top:auto; color:#0b6628; font-size:.88rem; font-weight:900; line-height:1.9; }
.ref-price-card-price .price { color:inherit; }
.ref-price-card-price del { color:#98a89c; font-size:.72rem; font-weight:500; margin-left:.3rem; }
.ref-price-card-price ins { color:#08712c; text-decoration:none; }
.ref-price-card-price .woocommerce-Price-currencySymbol { font-size:.72rem; }
.ref-price-card-actions { display:flex; align-items:center; gap:8px; margin-top:.7rem; }
.ref-price-card-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:37px; padding:7px 10px; border-radius:6px; text-decoration:none; font-size:.73rem; font-weight:850; line-height:1.35; text-align:center; }
.ref-price-card-actions .ref-price-cart { flex:1; color:#063d19; background:#0bd228; border:1px solid #0bd228; }
.ref-price-card-actions .ref-price-cart:hover { color:#063d19; background:#06bd22; }
.ref-price-card-actions .ref-price-details { color:#345a3c; border:1px solid #dbe9de; background:#fff; }
.ref-price-card-actions .ref-price-details:hover { border-color:#09c127; }
.ref-price-empty { padding:2rem; border:1px solid #dce9de; border-radius:10px; }
.ref-price-guide { background:#fff; border-block:1px solid #e5efe7; padding-block:3.8rem 4.5rem; }
.ref-price-guide-inner { max-width:920px; }
.ref-price-guide h2 { font-size:clamp(1.7rem,2.7vw,2.2rem); color:#123f22; margin:.35rem 0 1.4rem; }
.ref-price-editorial { color:#4a6251; line-height:2.1; font-size:.91rem; }
.ref-price-editorial h2,.ref-price-editorial h3,.ref-price-editorial h4 { color:#123f22; line-height:1.55; margin:2.1rem 0 .7rem; font-size:1.32rem; }
.ref-price-editorial h2:first-child { display:none; }
.ref-price-editorial p { margin:0 0 1.1rem; }
.ref-price-editorial a { color:#087e2d; text-underline-offset:3px; }
.ref-price-cta { background-color:#053209; background-image:var(--ref-hatch); color:#fff; }
.ref-price-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:3rem; }
.ref-price-cta h2 { color:#fff; font-size:1.6rem; margin:.4rem 0 .6rem; }
.ref-price-cta p { color:#d3e5d7; line-height:1.9; font-size:.88rem; margin:0; }
.ref-price-cta a { flex:none; color:#063e1b; background:#0bd228; border-radius:7px; padding:.85rem 1.25rem; font-size:.86rem; font-weight:900; text-decoration:none; }
@media(max-width:1000px) { .ref-price-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) { .ref-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ref-price-cta-inner { align-items:flex-start; flex-direction:column; } }
@media(max-width:560px) {
 .ref-price-page > .container { width:min(100% - 28px,1140px); }
 .ref-price-hero { min-height:275px; }
 .ref-price-hero-inner { padding-block:1.8rem 2.6rem; }
 .ref-price-crumb { margin-bottom:1.5rem; }
 .ref-price-hero h1 { font-size:2rem; }
 .ref-price-hero p { font-size:.84rem; }
 .ref-price-products { padding-block:2.2rem 3rem; }
 .ref-price-heading { align-items:flex-start; flex-direction:column; gap:.6rem; }
 .ref-price-grid { grid-template-columns:1fr; gap:14px; }
 .ref-price-card-image { aspect-ratio:1.6; }
 .ref-price-card h3 { min-height:0; }
 .ref-price-guide { padding-block:2.6rem 3rem; }
 .ref-price-cta-inner { padding-block:2.7rem; }
 .ref-price-cta a { width:100%; text-align:center; }
}

/* Parts and repair: editorial pages in the same green visual language. */
.ref-editorial-page { color:#143b21; background:#f8fbf8; }
.ref-editorial-page > .container,.ref-editorial-page .ref-parts-products > .container,.ref-editorial-page .ref-repair-process > .container { width:min(1120px,calc(100% - 36px)); }
.ref-editorial-hero { display:flex; align-items:center; min-height:340px; background-image:linear-gradient(270deg,rgba(0,42,18,.98),rgba(0,51,22,.9) 54%,rgba(0,50,20,.5)),var(--editorial-image); background-size:cover; background-position:center; color:#fff; }
.ref-editorial-hero-inner { width:100%; padding-block:2.8rem 3.2rem; }
.ref-editorial-crumb { display:flex; gap:.6rem; align-items:center; color:#d9eadc; font-size:.76rem; margin-bottom:2rem; }
.ref-editorial-crumb a { color:inherit; text-decoration:none; }
.ref-editorial-kicker { display:block; color:#0bd32a; font-size:.8rem; font-weight:900; }
.ref-editorial-hero h1 { max-width:820px; color:#fff; font-size:clamp(2rem,3.7vw,3.2rem); line-height:1.35; font-weight:900; margin:.5rem 0 .8rem; }
.ref-editorial-hero p { max-width:650px; color:#e1f0e5; font-size:.95rem; line-height:2; margin:0 0 1.4rem; }
.ref-editorial-hero-cta { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:40px; padding:.55rem 1rem; border-radius:5px; background:#0bd32a; color:#064019; text-decoration:none; font-size:.8rem; font-weight:900; }
.ref-editorial-options { padding-block:4rem 4.5rem; scroll-margin-top:90px; }
.ref-editorial-section-head { margin-bottom:1.8rem; }
.ref-editorial-section-head h2 { color:#0d3d1e; font-size:clamp(1.65rem,2.7vw,2.3rem); line-height:1.4; font-weight:900; margin:.35rem 0 .5rem; }
.ref-editorial-section-head p { color:#627969; font-size:.88rem; line-height:1.9; margin:0; }
.ref-editorial-cards { display:grid; gap:20px; }
.ref-parts-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ref-repair-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ref-editorial-card { min-width:0; display:flex; flex-direction:column; border:1px solid #dfebe1; border-radius:12px; background:#fff; overflow:hidden; box-shadow:0 12px 30px rgba(7,58,24,.055); }
.ref-editorial-card-image { display:block; height:215px; overflow:hidden; background:#eef5ef; }
.ref-editorial-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.ref-editorial-card:hover .ref-editorial-card-image img { transform:scale(1.035); }
.ref-parts-cards .ref-editorial-card-image { height:285px; }
.ref-parts-cards .ref-editorial-card-image img { object-fit:contain; padding:10px; }
.ref-editorial-card > div:last-child { display:flex; flex-direction:column; flex:1; padding:1.3rem 1.4rem 1.45rem; }
.ref-editorial-card > div:last-child > span { color:#288748; font-size:.7rem; font-weight:850; }
.ref-editorial-card h3 { color:#123d21; font-size:1.12rem; line-height:1.5; margin:.4rem 0 .6rem; font-weight:900; }
.ref-editorial-card p { color:#617468; font-size:.83rem; line-height:1.85; margin:0 0 1.1rem; }
.ref-editorial-card-link { display:inline-flex; align-items:center; gap:.5rem; align-self:flex-start; margin-top:auto; color:#076d2b; font-size:.82rem; font-weight:900; text-decoration:none; }
.ref-editorial-card-link:hover { color:#05aa27; }
.ref-parts-products { padding-block:3.8rem 4rem; background:#ecf5ee; }
.ref-parts-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.ref-parts-product { display:flex; flex-direction:column; min-width:0; padding:12px; border:1px solid #dce9df; border-radius:9px; color:#143e23; background:#fff; text-decoration:none; }
.ref-parts-product:hover { border-color:#36bd51; }
.ref-parts-product img { display:block; width:100%; height:155px; object-fit:contain; background:#f6f9f6; border-radius:6px; margin:0 0 .8rem; }
.ref-parts-product span { font-size:.8rem; line-height:1.6; font-weight:850; min-height:2.8em; }
.ref-parts-product strong { color:#08702f; font-size:.78rem; line-height:1.8; margin-top:auto; padding-top:.7rem; }
.ref-parts-product del { color:#849989; font-size:.68rem; font-weight:500; }
.ref-parts-product ins { text-decoration:none; }
.ref-parts-all { display:inline-flex; margin-top:1.5rem; padding:.7rem 1rem; border:1px solid #b3dac0; border-radius:6px; color:#0c6029; background:#fff; font-size:.8rem; font-weight:850; text-decoration:none; }
.ref-repair-process { background:#ecf5ee; padding-block:3.7rem 4rem; }
.ref-repair-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.ref-repair-steps > div { padding:1.4rem; border-radius:10px; border:1px solid #d8e8dc; background:#fff; }
.ref-repair-steps b { display:grid; place-items:center; width:39px; height:39px; color:#0a7530; border-radius:8px; background:#dff9e4; font-size:1rem; }
.ref-repair-steps h3 { color:#133d21; font-size:1rem; margin:1rem 0 .45rem; }
.ref-repair-steps p { color:#687b6b; font-size:.81rem; line-height:1.8; margin:0; }
.ref-editorial-guide { padding-block:4rem 4.7rem; background:#fff; }
.ref-editorial-guide-inner { max-width:900px; }
.ref-editorial-guide h2 { color:#123e21; font-size:clamp(1.7rem,2.8vw,2.2rem); line-height:1.4; margin:.3rem 0 1.4rem; }
.ref-editorial-copy { color:#496153; font-size:.91rem; line-height:2.1; }
.ref-editorial-copy h2,.ref-editorial-copy h3,.ref-editorial-copy h4,.ref-editorial-copy h5 { color:#123e21; font-size:1.3rem; line-height:1.5; margin:2rem 0 .75rem; }
.ref-parts-page .ref-editorial-copy h2:first-child { display:none; }
.ref-editorial-copy p { margin:0 0 1rem; }
.ref-editorial-copy p:has(>img) { margin-block:1.3rem 1.6rem; }
.ref-editorial-copy img { display:block; width:auto; max-width:100%; height:auto; max-height:420px; object-fit:contain; border-radius:10px; }
.ref-editorial-copy a { color:#09752d; font-weight:850; text-underline-offset:3px; }
.ref-editorial-cta { color:#fff; background-color:#053209; background-image:var(--ref-hatch); }
.ref-editorial-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:3.2rem; }
.ref-editorial-cta h2 { color:#fff; font-size:1.65rem; margin:.4rem 0 .7rem; }
.ref-editorial-cta p { color:#d3e7d8; font-size:.87rem; line-height:1.9; margin:0; }
.ref-editorial-cta a { flex:none; border-radius:6px; background:#0bd32a; color:#073b1b; font-size:.83rem; font-weight:900; padding:.85rem 1.15rem; text-decoration:none; }
@media(max-width:900px) { .ref-repair-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .ref-parts-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) {
 .ref-editorial-page > .container,.ref-editorial-page .ref-parts-products > .container,.ref-editorial-page .ref-repair-process > .container { width:min(100% - 28px,1120px); }
 .ref-editorial-hero { min-height:340px; }
 .ref-editorial-hero-inner { padding-block:1.7rem 2.4rem; }
 .ref-editorial-crumb { margin-bottom:1.5rem; }
 .ref-editorial-hero h1 { font-size:1.95rem; }
 .ref-editorial-hero p { font-size:.84rem; }
 .ref-editorial-options { padding-block:2.7rem 3rem; }
 .ref-editorial-cards,.ref-repair-steps { grid-template-columns:1fr; gap:14px; }
 .ref-editorial-card-image,.ref-parts-cards .ref-editorial-card-image { height:215px; }
 .ref-editorial-card > div:last-child { padding:1.1rem; }
 .ref-repair-process,.ref-parts-products { padding-block:2.7rem 3rem; }
 .ref-editorial-guide { padding-block:2.8rem 3rem; }
 .ref-editorial-cta-inner { flex-direction:column; align-items:stretch; padding-block:2.8rem; }
 .ref-editorial-cta a { text-align:center; }
}

/* Product family landing: category-filtered, automatically advancing carousels. */
.ref-products-landing { color:#163d24; background:#fff; }
.ref-products-landing .container { width:min(1140px,calc(100% - 36px)); }
.ref-products-hero { min-height:305px; display:flex; align-items:center; color:#fff; background-image:linear-gradient(270deg,rgba(0,43,18,.97),rgba(0,53,22,.88) 53%,rgba(0,50,20,.42)),var(--products-hero-image); background-size:cover; background-position:center; }
.ref-products-hero-inner { width:100%; padding-block:2.6rem 3.3rem; }
.ref-products-crumb { display:flex; gap:.6rem; color:#d5e9db; font-size:.76rem; margin-bottom:2rem; }
.ref-products-crumb a { color:inherit; text-decoration:none; }
.ref-products-kicker { color:#09d328; font-size:.81rem; font-weight:900; }
.ref-products-hero h1 { color:#fff; font-size:clamp(2.1rem,4vw,3.3rem); line-height:1.35; font-weight:900; margin:.5rem 0 .7rem; }
.ref-products-hero p { max-width:675px; color:#e1f0e5; font-size:.94rem; line-height:1.95; margin:0; }
.ref-products-jump { display:flex; flex-wrap:wrap; gap:.6rem; padding-block:1.4rem; }
.ref-products-jump a { padding:.55rem .85rem; border:1px solid #d8e9dd; border-radius:6px; background:#f2f8f3; color:#285136; text-decoration:none; font-size:.76rem; font-weight:800; }
.ref-products-jump a:hover,.ref-products-jump a:focus-visible { border-color:#0bc72d; color:#075f24; }
.ref-products-category { padding-block:3.5rem 4rem; scroll-margin-top:90px; }
.ref-products-category:nth-of-type(even) { background:#f3f8f4; }
.ref-products-section-head { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.4rem; }
.ref-products-section-head h2 { color:#103b20; font-size:clamp(1.6rem,2.7vw,2.2rem); line-height:1.4; margin:.35rem 0 .45rem; font-weight:900; }
.ref-products-section-head p { color:#637b69; font-size:.85rem; line-height:1.9; margin:0; }
.ref-products-all { flex:none; padding:.7rem .9rem; border:1px solid #cce1d0; border-radius:6px; background:#fff; color:#145e2c; font-size:.76rem; font-weight:850; text-decoration:none; }
.ref-products-all:hover { border-color:#0ac52c; color:#076e2a; }
.ref-products-track { gap:16px; padding-bottom:3px; }
.ref-products-card { position:relative; width:calc((100% - 48px)/4); min-width:0; display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid #dfeae2; border-radius:10px; box-shadow:0 8px 22px rgba(5,52,22,.055); }
.ref-products-card-image { display:block; aspect-ratio:1.22; background:#f0f5f1; overflow:hidden; }
.ref-products-card-image img { display:block; width:100%; height:100%; object-fit:contain; padding:10px; margin:0; mix-blend-mode:multiply; }
.ref-products-card-content { display:flex; flex-direction:column; flex:1; padding:14px 15px 16px; }
.ref-products-card-type { color:#3a8a4c; font-size:.69rem; font-weight:800; }
.ref-products-card h3 { min-height:3.1em; font-size:.9rem; line-height:1.7; font-weight:900; margin:.35rem 0 .7rem; }
.ref-products-card h3 a { color:#173d25; text-decoration:none; }
.ref-products-card h3 a:hover { color:#07832e; }
.ref-products-card-price { display:flex; align-items:center; min-height:43px; color:#0b702e; font-size:.84rem; line-height:1.8; font-weight:900; margin-top:auto; }
.ref-products-card-price del { color:#9aa99d; font-size:.7rem; font-weight:500; margin-left:.3rem; }
.ref-products-card-price ins { color:#08702d; text-decoration:none; }
.ref-products-card-actions { margin-top:.65rem; }
.ref-products-card-actions a { display:flex; justify-content:center; gap:.35rem; padding:.6rem .7rem; color:#0a4b22; border:1px solid #cfecd6; border-radius:5px; background:#e5f8e9; text-decoration:none; font-size:.73rem; font-weight:850; }
.ref-products-card-actions a:hover { border-color:#05bf26; background:#d6f6de; }
.ref-products-controls { justify-content:flex-end; margin-top:1.2rem; }
.ref-products-controls button { width:37px; height:37px; }
.ref-products-empty { border:1px solid #dce9de; border-radius:8px; padding:1.3rem; color:#627b68; }
@media(max-width:980px) { .ref-products-card { width:calc((100% - 32px)/3); } }
@media(max-width:720px) { .ref-products-card { width:calc((100% - 16px)/2); } .ref-products-section-head { align-items:flex-start; flex-direction:column; gap:.9rem; } }
@media(max-width:540px) {
 .ref-products-landing .container { width:min(100% - 28px,1140px); }
 .ref-products-hero { min-height:285px; }
 .ref-products-hero-inner { padding-block:1.8rem 2.7rem; }
 .ref-products-crumb { margin-bottom:1.4rem; }
 .ref-products-hero h1 { font-size:2rem; }
 .ref-products-hero p { font-size:.84rem; }
 .ref-products-jump { gap:.45rem; padding-block:1rem; }
 .ref-products-jump a { font-size:.68rem; padding:.45rem .55rem; }
 .ref-products-category { padding-block:2.6rem 3rem; }
 .ref-products-card { width:calc(100% - 36px); }
 .ref-products-card-image { aspect-ratio:1.65; }
 .ref-products-card h3 { min-height:0; }
}

/* Article discussion and the native WordPress comment form. */
.single-post .comments-area { margin:3.5rem 0 4rem; color:#173d25; }
.single-post .comments-title { margin:0 0 1.1rem; font-size:1.45rem; color:#103b20; }
.single-post .comment-list { list-style:none; padding:0; margin:0 0 2.4rem; }
.single-post .comment-list .children { list-style:none; padding:0; margin:1rem 1.2rem 0 0; }
.single-post .comment-list .comment-body { padding:1.3rem 1.5rem; margin-bottom:1rem; border:1px solid #dbe9de; border-radius:12px; background:#fff; box-shadow:0 8px 25px rgba(6,55,22,.045); }
.single-post .comment-author { display:flex; align-items:center; gap:.65rem; font-size:.9rem; font-weight:800; }
.single-post .comment-author .avatar { width:38px; height:38px; border-radius:50%; }
.single-post .comment-author .says { font-weight:400; color:#607866; }
.single-post .comment-metadata { margin:.3rem 0 .7rem; font-size:.75rem; color:#68806e; }
.single-post .comment-metadata a { color:inherit; }
.single-post .comment-content { line-height:2; overflow-wrap:anywhere; }
.single-post .comment-content p { margin:.35rem 0; }
.single-post .comment-reply-link { display:inline-flex; padding:.3rem .75rem; border:1px solid #cce7d2; border-radius:6px; color:#176c33; text-decoration:none; font-size:.76rem; font-weight:800; }
.single-post .comment-navigation { margin-bottom:2rem; }
.single-post .comment-respond { position:relative; padding:2rem; overflow:hidden; scroll-margin-top:145px; border:1px solid #d6e7d9; border-radius:16px; background:linear-gradient(145deg,#f3faf4 0%,#fff 52%); box-shadow:0 14px 40px rgba(5,50,20,.07); }
.single-post .comment-respond::before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,#0abf35,#035926); }
.single-post .comment-reply-title { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; color:#073b1b; font-size:1.6rem; font-weight:900; line-height:1.5; margin:0 0 .5rem; }
.single-post .comment-respond > .ref-comment-intro { margin:0 0 1.35rem; color:#5d7564; font-size:.88rem; line-height:1.9; }
.single-post #cancel-comment-reply-link { padding:.3rem .7rem; border:1px solid #cfe3d4; border-radius:6px; background:#fff; color:#286a3b; text-decoration:none; font-size:.75rem; font-weight:700; }
.single-post .ref-comment-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.2rem; }
.single-post .ref-comment-form > p { margin:0; min-width:0; }
.single-post .ref-comment-form .logged-in-as,.single-post .ref-comment-form .ref-comment-intro,.single-post .ref-comment-form .comment-notes,.single-post .ref-comment-form .comment-form-comment,.single-post .ref-comment-form .comment-form-url,.single-post .ref-comment-form .comment-form-cookies-consent,.single-post .ref-comment-form .form-submit { grid-column:1 / -1; }
.single-post .ref-comment-form .ref-comment-intro,.single-post .ref-comment-form .comment-notes { color:#5d7564; font-size:.88rem; line-height:1.9; }
.single-post .ref-comment-form .logged-in-as { padding:.7rem .9rem; border-radius:8px; background:#e8f5eb; color:#315c3b; font-size:.83rem; line-height:1.9; }
.single-post .ref-comment-form .logged-in-as a { color:#08712d; font-weight:800; }
.single-post .ref-comment-form .required-field-message { display:inline-block; color:#617e68; }
.single-post .ref-comment-form label { display:block; margin-bottom:.45rem; font-size:.85rem; font-weight:800; color:#1a4a29; }
.single-post .ref-comment-form .required { color:#c44a35; }
.single-post .ref-comment-form input:not([type="hidden"]):not([type="checkbox"]):not([type="submit"]),.single-post .ref-comment-form textarea { display:block; width:100%; min-width:0; padding:.85rem 1rem; border:1px solid #cbded0; border-radius:9px; outline:none; background:#fff; color:#173d25; box-shadow:none; transition:border-color .2s,box-shadow .2s; }
.single-post .ref-comment-form textarea { min-height:175px; resize:vertical; line-height:1.9; }
.single-post .ref-comment-form textarea::placeholder,.single-post .ref-comment-form input::placeholder { color:#91a99a; }
.single-post .ref-comment-form input:focus-visible,.single-post .ref-comment-form textarea:focus-visible { border-color:#14a847; box-shadow:0 0 0 3px rgba(20,168,71,.13); }
.single-post .ref-comment-form .comment-form-cookies-consent { display:flex; align-items:flex-start; gap:.55rem; color:#587260; font-size:.78rem; line-height:1.8; }
.single-post .ref-comment-form .comment-form-cookies-consent input { flex:none; width:17px; height:17px; margin:.3rem 0 0; accent-color:#08852e; }
.single-post .ref-comment-form .comment-form-cookies-consent label { margin:0; color:inherit; font-weight:500; }
.single-post .ref-comment-form .form-submit { margin-top:.3rem; }
.single-post .ref-comment-form .ref-comment-submit { min-height:48px; padding:.65rem 1.8rem; border:1px solid #05792b; border-radius:8px; background:#087d31; color:#fff; font-weight:850; cursor:pointer; transition:background .2s,transform .2s; }
.single-post .ref-comment-form .ref-comment-submit:hover { background:#056324; transform:translateY(-1px); }
.single-post .ref-comment-form .ref-comment-submit:focus-visible { outline:3px solid rgba(9,136,49,.3); outline-offset:3px; }
@media(max-width:600px) {
 .single-post .comments-area { margin:2.4rem 0 3rem; }
 .single-post .comment-respond { padding:1.3rem 1rem; border-radius:12px; }
 .single-post .comment-reply-title { font-size:1.3rem; }
 .single-post .ref-comment-form { grid-template-columns:minmax(0,1fr); gap:.9rem; }
 .single-post .comment-list .comment-body { padding:1rem; }
 .single-post .comment-list .children { margin-right:.7rem; }
 .single-post .ref-comment-form .ref-comment-submit { width:100%; }
}

/* Editorial blog archive. */
.ref-blog { color:#173d25; background:#fff; }
.ref-blog .container { width:min(1140px,calc(100% - 36px)); }
.ref-blog-hero { position:relative; overflow:hidden; padding:2.2rem 0 3.6rem; color:#fff; background-color:#053209; background-image:var(--ref-hatch); }
.ref-blog-hero::after { content:""; position:absolute; width:430px; height:430px; inset:auto auto -300px -110px; border:1px solid rgba(104,213,119,.22); border-radius:50%; box-shadow:0 0 0 68px rgba(104,213,119,.035),0 0 0 135px rgba(104,213,119,.025); pointer-events:none; }
.ref-blog-hero .container { position:relative; z-index:1; }
.ref-blog-crumb { display:flex; align-items:center; gap:.5rem; margin-bottom:2.1rem; color:#b5d5ba; font-size:.78rem; }
.ref-blog-crumb a { color:inherit; text-decoration:none; }
.ref-blog-eyebrow { display:block; color:#0bda42; font-size:.82rem; font-weight:900; }
.ref-blog-hero h1 { color:#fff; font-size:clamp(2.1rem,4vw,3.3rem); margin:.4rem 0 .75rem; font-weight:900; }
.ref-blog-hero p { max-width:700px; color:#d7e9db; font-size:.94rem; line-height:2; margin:0; }
.ref-blog-articles { padding-block:3.4rem 4.7rem; }
.ref-blog-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.55rem; }
.ref-blog-heading .ref-blog-eyebrow { color:#11883b; }
.ref-blog-heading h2 { color:#0c3c20; font-size:clamp(1.55rem,2.4vw,2rem); margin:.3rem 0 0; font-weight:900; }
.ref-blog-count { color:#4e7259; background:#edf7ef; border:1px solid #d8eadc; border-radius:99px; padding:.42rem .85rem; font-size:.77rem; font-weight:800; white-space:nowrap; }
.ref-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ref-blog-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #dce9de; border-radius:12px; background:#fff; box-shadow:0 8px 26px rgba(4,49,19,.055); transition:transform .2s,box-shadow .2s; }
.ref-blog-card:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(4,49,19,.1); }
.ref-blog-photo { display:block; overflow:hidden; aspect-ratio:1.55; background:#e9f4eb; }
.ref-blog-photo img { display:block; width:100%; height:100%; margin:0; object-fit:cover; transition:transform .25s; }
.ref-blog-card:hover .ref-blog-photo img { transform:scale(1.035); }
.ref-blog-photo-placeholder { display:grid; place-items:center; width:100%; height:100%; color:#419456; font-size:2.5rem; font-weight:900; background:linear-gradient(135deg,#e5f4e9,#c6e9cf); }
.ref-blog-card-body { display:flex; flex-direction:column; flex:1; padding:1.25rem 1.3rem 1.35rem; }
.ref-blog-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; color:#688470; font-size:.72rem; }
.ref-blog-meta a { color:#0c7931; text-decoration:none; font-weight:800; }
.ref-blog-meta a::after { content:"•"; display:inline-block; margin-inline-start:.6rem; color:#a9c5af; }
.ref-blog-card h3 { color:#0f3d22; font-size:1.02rem; line-height:1.7; margin:.7rem 0 .5rem; font-weight:900; }
.ref-blog-card h3 a { color:inherit; text-decoration:none; }
.ref-blog-card h3 a:hover,.ref-blog-read:hover { color:#087d32; }
.ref-blog-card p { color:#607568; font-size:.8rem; line-height:1.95; margin:0 0 1.1rem; }
.ref-blog-read { display:inline-flex; align-items:center; gap:.4rem; margin-top:auto; color:#0c7430; text-decoration:none; font-size:.79rem; font-weight:900; }
.ref-blog-feature { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; min-height:310px; }
.ref-blog-feature .ref-blog-photo { aspect-ratio:auto; min-height:310px; }
.ref-blog-feature .ref-blog-card-body { justify-content:center; padding:2rem 2.3rem; }
.ref-blog-feature h3 { font-size:clamp(1.35rem,2.2vw,1.85rem); line-height:1.6; }
.ref-blog-feature p { font-size:.88rem; }
.ref-blog-pagination { margin-top:2.8rem; }
.ref-blog-pagination ul.page-numbers { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:.5rem; margin:0; padding:0; list-style:none; }
.ref-blog-pagination ul.page-numbers li { margin:0; padding:0; }
.ref-blog-pagination a.page-numbers,.ref-blog-pagination span.page-numbers { display:grid; place-items:center; min-width:42px; min-height:42px; padding:.45rem .75rem; border:1px solid #cfe4d3; border-radius:8px; background:#fff; color:#245e35; font-size:.83rem; font-weight:850; text-decoration:none; transition:background .2s,border-color .2s; }
.ref-blog-pagination a.page-numbers:hover,.ref-blog-pagination a.page-numbers:focus-visible { border-color:#0a9c36; background:#eaf8ec; outline:none; }
.ref-blog-pagination span.page-numbers.current { border-color:#087d31; background:#087d31; color:#fff; }
.ref-blog-pagination a.prev,.ref-blog-pagination a.next { padding-inline:1rem; }
.ref-blog-empty { border:1px solid #d7e9db; border-radius:10px; padding:2rem; color:#54705b; }
@media(max-width:900px) { .ref-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) {
 .ref-blog .container { width:min(100% - 28px,1140px); }
 .ref-blog-hero { padding:1.5rem 0 2.7rem; }
 .ref-blog-crumb { margin-bottom:1.4rem; }
 .ref-blog-hero h1 { font-size:2.15rem; }
 .ref-blog-hero p { font-size:.83rem; }
 .ref-blog-articles { padding-block:2.5rem 3.5rem; }
 .ref-blog-grid { grid-template-columns:minmax(0,1fr); gap:15px; }
 .ref-blog-feature { display:flex; min-height:0; }
 .ref-blog-feature .ref-blog-photo { aspect-ratio:1.55; min-height:0; }
 .ref-blog-feature .ref-blog-card-body { padding:1.25rem 1.3rem 1.35rem; }
 .ref-blog-feature h3 { font-size:1.1rem; }
 .ref-blog-pagination { margin-top:2.2rem; }
 .ref-blog-pagination a.page-numbers,.ref-blog-pagination span.page-numbers { min-width:38px; min-height:38px; padding:.4rem .6rem; }
}

/* PET strap width choices: WooCommerce remains the source of price, stock and cart state. */
body.postid-15564 .ref-product-purchase { margin-top:1.25rem; padding:1.3rem; border:1px solid #dceadd; border-radius:12px; background:#f8fcf9; }
body.postid-15564 .ref-product-purchase table.variations { margin:0; }
body.postid-15564 .ref-product-purchase table.variations tbody,body.postid-15564 .ref-product-purchase table.variations tr { display:block; }
body.postid-15564 .ref-product-purchase table.variations th,body.postid-15564 .ref-product-purchase table.variations td { display:block; width:100%; padding:0; text-align:right; }
body.postid-15564 .ref-product-purchase table.variations th { color:#15452a; font-size:.9rem; margin-bottom:.7rem; }
body.postid-15564 .ref-width-native { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip-path:inset(50%); border:0 !important; }
body.postid-15564 .ref-width-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin:0 0 .9rem; padding:0; border:0; min-width:0; }
body.postid-15564 .ref-width-choice { position:relative; display:flex; align-items:center; justify-content:flex-start; gap:.7rem; min-height:53px; padding:.7rem .85rem; border:1px solid #cadfce; border-radius:8px; background:#fff; color:#264f31; cursor:pointer; font-size:.87rem; font-weight:800; transition:border-color .2s,box-shadow .2s,background .2s; }
body.postid-15564 .ref-width-choice:hover { border-color:#38a754; background:#f2faf3; }
body.postid-15564 .ref-width-choice:has(input:checked) { border-color:#087c31; background:#e8f7eb; box-shadow:0 0 0 2px rgba(8,124,49,.12); color:#07592a; }
body.postid-15564 .ref-width-choice:has(input:focus-visible) { outline:3px solid rgba(9,147,51,.3); outline-offset:2px; }
body.postid-15564 .ref-width-choice:has(input:disabled) { opacity:.45; cursor:not-allowed; }
body.postid-15564 .ref-width-choice input { appearance:none; width:19px; height:19px; flex:none; margin:0; border:2px solid #86a98f; border-radius:4px; background:#fff; cursor:inherit; }
body.postid-15564 .ref-width-choice input:checked { border-color:#087c31; background:#087c31; }
body.postid-15564 .ref-width-choice input:checked::after { content:"✓"; display:block; color:#fff; font-size:15px; font-weight:900; line-height:15px; text-align:center; }
body.postid-15564 .ref-product-purchase .reset_variations { display:inline-flex; margin:.1rem 0 .75rem; color:#327744; font-size:.75rem; }
body.postid-15564 .ref-product-summary.ref-variable-selected > .ref-product-price { display:none; }
body.postid-15564 .ref-product-purchase .single_variation { margin:.3rem 0 .7rem; }
body.postid-15564 .ref-product-purchase .woocommerce-variation-price .price { color:#06762e; font-size:1.1rem; font-weight:900; }
body.postid-15564 .ref-product-purchase .woocommerce-variation-availability .stock { margin:.35rem 0; color:#197843; font-size:.8rem; font-weight:800; }
body.postid-15564 .ref-product-purchase .ref-variation-limit { margin:.2rem 0 .9rem; color:#516b59; font-size:.77rem; }
body.postid-15564 .ref-product-purchase .woocommerce-variation-add-to-cart { display:grid; grid-template-columns:1fr; gap:.65rem; clear:both; }
body.postid-15564 .ref-product-purchase .ref-quantity-label { color:#15452a; font-size:.84rem; font-weight:800; }
body.postid-15564 .ref-width-enhanced:not(.ref-width-selected) .ref-quantity-label,body.postid-15564 .ref-width-enhanced:not(.ref-width-selected) .quantity { display:none !important; }
body.postid-15564 .ref-product-purchase .quantity { float:none !important; width:100%; margin:0 !important; }
body.postid-15564 .ref-product-purchase .quantity input.qty { width:100%; min-height:44px; text-align:center; background:#fff; }
body.postid-15564 .woocommerce article.product .ref-product-purchase .single_add_to_cart_button,body.postid-15564 .ref-product-purchase .single_add_to_cart_button { float:none; width:100%; min-height:46px; margin:0; background:#087c31; color:#fff; font-weight:900; }
body.postid-15564 .ref-product-purchase .single_add_to_cart_button.disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:430px) { body.postid-15564 .ref-width-options { grid-template-columns:1fr; } }

/* Inquiry list: separate from WooCommerce checkout and styled as a preliminary proforma. */
.ref-quote-card-form { margin:0; }
.ref-quote-card-form button { font-family:inherit; cursor:pointer; }
.ref-product-foot .ref-quote-card-form button { border:1px solid var(--ref-accent); line-height:1.3; }
.ref-quote-card-form .ref-quote-remove-button { color:#fff; background:#bf3030; border-color:#bf3030; }
.ref-quote-card-form .ref-quote-remove-button:hover { background:#a82323; color:#fff; }
.ref-product-actions .ref-quote-add-form { margin:0; }
.ref-product-actions .ref-quote-add-form button { font:inherit; font-size:.8rem; }
.ref-product-actions .ref-quote-add-form button:disabled { opacity:.5; cursor:not-allowed; }
.ref-product-actions .ref-quote-add-form .ref-quote-remove-button { color:#fff; background:#bf3030; border-color:#bf3030; }
.ref-product-actions .ref-quote-add-form .ref-quote-remove-button:hover { background:#9d2020; color:#fff; }
.ref-product-actions .ref-quote-view { color:#145b30; background:#eef9f0; border:1px solid #cee7d2; }
.ref-quote-page { background:#fff; color:#173b24; }
.ref-quote-page .container { width:min(1120px,calc(100% - 36px)); }
.ref-quote-hero { background-color:#053209; background-image:var(--ref-hatch); color:#fff; padding:2.2rem 0 3.2rem; }
.ref-quote-hero nav { display:flex; gap:.6rem; margin-bottom:1.7rem; color:#b8d7bf; font-size:.78rem; }
.ref-quote-hero nav a { color:inherit; text-decoration:none; }
.ref-quote-hero .container > span { color:#20df4d; font-size:.82rem; font-weight:900; }
.ref-quote-hero h1 { color:#fff; font-size:clamp(2rem,3.5vw,2.9rem); margin:.35rem 0 .65rem; }
.ref-quote-hero p { color:#d3e8d8; max-width:710px; margin:0; line-height:1.95; font-size:.89rem; }
.ref-quote-layout { display:grid; grid-template-columns:minmax(0,1fr) 315px; align-items:start; gap:1.5rem; padding-block:3rem 4rem; }
.ref-quote-list-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.2rem; }
.ref-quote-list-head h2 { font-size:1.5rem; color:#0d3e20; margin:0; }
.ref-quote-list-head span { color:#598066; background:#eaf6ed; padding:.3rem .75rem; border-radius:99px; font-size:.75rem; }
.ref-quote-row { display:grid; grid-template-columns:128px minmax(0,1fr) 150px; gap:1.1rem; align-items:center; padding:1rem; margin-bottom:1rem; border:1px solid #dce9de; border-radius:11px; background:#fff; box-shadow:0 7px 22px rgba(4,52,20,.045); }
.ref-quote-image { display:block; width:128px; height:118px; border-radius:8px; overflow:hidden; background:#f2f7f3; }
.ref-quote-image img { width:100%; height:100%; object-fit:contain; }
.ref-quote-row-main { min-width:0; }
.ref-quote-row-main > span { color:#6a8370; font-size:.72rem; }
.ref-quote-row-main h3 { font-size:1rem; line-height:1.6; margin:.35rem 0; }
.ref-quote-row-main h3 a { color:#143e25; text-decoration:none; }
.ref-quote-row-main p { color:#467653; font-size:.77rem; margin:.25rem 0; }
.ref-quote-row-main strong { color:#087c31; font-size:.9rem; }
.ref-quote-row-actions { display:grid; gap:.5rem; }
.ref-quote-update { display:grid; grid-template-columns:1fr auto; gap:.35rem; }
.ref-quote-update label { grid-column:1/-1; color:#54715b; font-size:.73rem; }
.ref-quote-update input { width:65px; min-height:36px; border:1px solid #cfe0d2; border-radius:6px; text-align:center; }
.ref-quote-update button,.ref-quote-remove button { min-height:36px; padding:.35rem .65rem; border:1px solid #cde2d2; border-radius:6px; background:#eff8f1; color:#1e6d35; font-size:.72rem; font-weight:800; cursor:pointer; }
.ref-quote-remove button { width:100%; color:#b63232; border-color:#f0d0d0; background:#fff2f2; }
.ref-quote-update button:hover { background:#e1f3e6; }.ref-quote-remove button:hover { background:#fce3e3; }
.ref-quote-summary { position:sticky; top:105px; padding:1.4rem; border:1px solid #d6e8d9; border-radius:12px; background:#f5fbf6; }
.ref-quote-summary h2 { margin:0 0 1.2rem; color:#0a3d1e; font-size:1.15rem; }
.ref-quote-summary > div { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.65rem 0; border-bottom:1px solid #dce9df; color:#506c59; font-size:.83rem; }
.ref-quote-summary > div strong { color:#1a4c29; }
.ref-quote-summary .ref-quote-total { align-items:flex-start; border:0; margin:.45rem 0; font-weight:900; }
.ref-quote-summary .ref-quote-total strong { color:#087e31; font-size:1.1rem; white-space:nowrap; }
.ref-quote-summary p { color:#67816d; font-size:.72rem; line-height:1.9; margin:.7rem 0 1.3rem; }
.ref-quote-submit,.ref-quote-continue,.ref-quote-empty a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:.55rem .8rem; border-radius:7px; font-size:.81rem; font-weight:850; text-decoration:none; }
.ref-quote-submit,.ref-quote-empty a { color:#fff; background:#087c31; }.ref-quote-submit:hover,.ref-quote-empty a:hover { color:#fff; background:#056a29; }
.ref-quote-continue { margin-top:.55rem; color:#155c2c; background:#fff; border:1px solid #d2e6d6; }
.ref-quote-empty { grid-column:1/-1; text-align:center; padding:4rem 1rem; border:1px solid #dce9de; border-radius:14px; background:#f8fcf8; }
.ref-quote-empty > span { color:#5ab66d; font-size:3.5rem; }.ref-quote-empty h2 { color:#0d3e20; margin:.3rem 0; }.ref-quote-empty p { color:#617b68; }
.ref-quote-empty a { width:max-content; margin:1.4rem auto 0; }
@media(max-width:950px) { .ref-quote-layout { grid-template-columns:1fr; }.ref-quote-summary { position:static; } }
@media(max-width:630px) {
 .ref-quote-page .container { width:min(100% - 28px,1120px); }
 .ref-quote-hero { padding:1.6rem 0 2.4rem; }.ref-quote-hero p { font-size:.82rem; }
 .ref-quote-layout { padding-block:2.2rem 3rem; }
 .ref-quote-row { grid-template-columns:92px minmax(0,1fr); gap:.8rem; padding:.8rem; }
 .ref-quote-image { width:92px; height:92px; }.ref-quote-row-actions { grid-column:1/-1; display:flex; align-items:end; justify-content:space-between; }
 .ref-quote-update { grid-template-columns:65px auto; }.ref-quote-remove button { width:auto; }
}
@media print { .site-header,.topbar,.ref-footer,.ref-quote-row-actions,.ref-quote-submit,.ref-quote-continue { display:none !important; }.ref-quote-hero { color:#153d24; background:#fff; }.ref-quote-hero h1 { color:#153d24; }.ref-quote-layout { display:block; }.ref-quote-summary { position:static; } }

/* Project archive and case studies, populated from the WordPress Projects menu. */
.ref-projects-page,.ref-project-detail { background:#fff; color:#123d24; }
.ref-projects-hero,.ref-project-detail-hero { color:#fff; background-color:#053209; background-image:var(--ref-hatch); padding:2rem 0 3.7rem; }
.ref-projects-hero nav,.ref-project-detail-hero nav { display:flex; gap:.65rem; flex-wrap:wrap; align-items:center; color:#b7d9bd; font-size:.76rem; margin-bottom:2.1rem; }
.ref-projects-hero nav a,.ref-project-detail-hero nav a { color:inherit; text-decoration:none; }
.ref-projects-eyebrow,.ref-project-detail-meta { color:#23da4d; font-size:.78rem; font-weight:900; }
.ref-projects-hero h1,.ref-project-detail-hero h1 { color:#fff; font-size:clamp(2.1rem,4vw,3.3rem); line-height:1.35; margin:.45rem 0 .7rem; }
.ref-projects-hero p,.ref-project-detail-hero p { color:#d1e8d7; font-size:.9rem; line-height:2; max-width:680px; margin:0; }
.ref-projects-hero-note { display:inline-flex; align-items:center; gap:.6rem; color:#ddf2df; background:#ffffff12; border:1px solid #ffffff31; border-radius:8px; padding:.55rem .85rem; margin-top:1.6rem; font-size:.78rem; }
.ref-projects-hero-note strong { color:#39ec60; font-size:1.2rem; }
.ref-projects-content { padding-block:3.5rem 4.5rem; }
.ref-projects-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }
.ref-projects-heading span { color:#17803d; font-size:.76rem; font-weight:900; }
.ref-projects-heading h2 { margin:.3rem 0 0; color:#103b21; font-size:1.7rem; }
.ref-projects-heading p,.ref-projects-heading > a { color:#6c826f; font-size:.8rem; margin:0; }
.ref-projects-heading > a { color:#087c31; font-weight:800; }
.ref-project-filters { display:flex; flex-wrap:wrap; gap:.55rem; border-bottom:1px solid #e4ede6; padding-bottom:1.2rem; margin-bottom:1.6rem; }
.ref-project-filters a { display:inline-flex; align-items:center; gap:.4rem; color:#326443; background:#f3f9f4; border:1px solid #d9e9dc; border-radius:99px; padding:.45rem .85rem; font-size:.78rem; font-weight:800; text-decoration:none; }
.ref-project-filters a:hover,.ref-project-filters a.is-active { color:#fff; background:#087c31; border-color:#087c31; }
.ref-project-filters small { opacity:.75; font-size:.68rem; }
.ref-project-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.ref-project-archive-card { min-width:0; overflow:hidden; border:1px solid #dfebe2; border-radius:10px; background:#fff; box-shadow:0 10px 30px rgba(9,62,23,.055); transition:transform .2s,box-shadow .2s; }
.ref-project-archive-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(9,62,23,.12); }
.ref-project-archive-image { display:grid; place-items:center; height:220px; overflow:hidden; color:#1e8843; background:#e8f4eb; font-size:2.2rem; font-weight:900; }
.ref-project-archive-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.ref-project-archive-card:hover img { transform:scale(1.045); }
.ref-project-archive-copy { padding:1.3rem 1.35rem 1.5rem; }
.ref-project-archive-meta { display:flex; gap:.55rem; flex-wrap:wrap; align-items:center; color:#25864b; font-size:.72rem; }
.ref-project-archive-meta span { font-weight:900; }.ref-project-archive-meta a { color:#39764a; background:#ecf7ee; border-radius:99px; padding:.2rem .55rem; text-decoration:none; }
.ref-project-archive-copy h3 { color:#123d24; margin:.7rem 0 .4rem; font-size:1.1rem; line-height:1.6; }.ref-project-archive-copy h3 a { color:inherit; text-decoration:none; }
.ref-project-archive-copy p { color:#617a68; line-height:1.95; font-size:.79rem; min-height:3.3rem; margin:0 0 1rem; }
.ref-project-archive-more { display:inline-flex; gap:.4rem; color:#087b32; font-size:.76rem; font-weight:900; text-decoration:none; }
.ref-projects-content .navigation.pagination { margin-top:2rem; }.ref-projects-content .nav-links { display:flex; justify-content:center; gap:.5rem; flex-wrap:wrap; }
.ref-projects-content .page-numbers { display:grid; place-items:center; min-width:38px; min-height:38px; padding:.3rem .65rem; color:#24623a; background:#f0f8f1; border:1px solid #d7e9da; border-radius:6px; text-decoration:none; }
.ref-projects-content .page-numbers.current,.ref-projects-content .page-numbers:hover { color:#fff; background:#087c31; border-color:#087c31; }
.ref-projects-empty { text-align:center; padding:3rem; background:#f4faf5; border-radius:10px; }.ref-projects-empty a { color:#087c31; }
.ref-projects-cta { background:#eaf7ed; padding:2.5rem 0; }.ref-projects-cta .container { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.ref-projects-cta span { color:#20813e; font-size:.76rem; font-weight:900; }.ref-projects-cta h2 { margin:.3rem 0 0; color:#103c22; font-size:1.4rem; }
.ref-projects-cta a,.ref-project-detail-aside > a:not(.ref-project-detail-back) { display:inline-flex; align-items:center; justify-content:center; min-height:43px; padding:.5rem 1.1rem; color:#fff; background:#087c31; border-radius:6px; font-size:.8rem; font-weight:900; text-decoration:none; white-space:nowrap; }
.ref-project-detail-meta { display:flex; gap:.75rem; align-items:center; }.ref-project-detail-meta a { color:#ddf5e1; border:1px solid #ffffff3b; padding:.2rem .65rem; border-radius:99px; text-decoration:none; }
.ref-project-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:2rem; align-items:start; padding-block:3rem 2rem; }
.ref-project-detail-article { min-width:0; }.ref-project-detail-image { margin:0 0 2rem; height:420px; border-radius:11px; overflow:hidden; background:#e7f3e9; }.ref-project-detail-image img { width:100%; height:100%; object-fit:cover; }
.ref-project-detail-body { color:#334f3b; line-height:2.15; font-size:.94rem; }.ref-project-detail-body h2 { color:#123d24; font-size:1.4rem; }
.ref-project-detail-aside { position:sticky; top:105px; padding:1.45rem; border:1px solid #d6e7d9; border-radius:10px; background:#f5faf6; }
.ref-project-detail-aside > span { color:#238445; font-size:.74rem; font-weight:900; }.ref-project-detail-aside h2 { margin:.4rem 0 1.2rem; font-size:1.15rem; color:#103d22; }
.ref-project-detail-aside > div { display:flex; justify-content:space-between; padding:.65rem 0; gap:1rem; border-bottom:1px solid #e0ece2; }.ref-project-detail-aside small { color:#67806e; }.ref-project-detail-aside strong { color:#1d5f33; font-size:.82rem; }
.ref-project-detail-aside p { color:#6b806f; font-size:.76rem; line-height:1.9; }.ref-project-detail-aside > a:not(.ref-project-detail-back) { display:flex; }
.ref-project-detail-back { display:block; color:#17823b; text-align:center; margin-top:.9rem; font-size:.75rem; }
.ref-project-related { padding-bottom:4rem; }.ref-project-no-image { display:grid; place-items:center; width:45%; background:#e8f4eb; color:#268b46; font-size:2rem; font-weight:900; }
@media(max-width:900px) { .ref-project-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.ref-project-detail-layout { grid-template-columns:1fr; }.ref-project-detail-aside { position:static; } }
@media(max-width:620px) { .ref-projects-hero,.ref-project-detail-hero { padding:1.5rem 0 2.6rem; }.ref-projects-hero nav,.ref-project-detail-hero nav { margin-bottom:1.4rem; }.ref-projects-content { padding-block:2.4rem 3rem; }.ref-projects-heading { display:block; }.ref-projects-heading p { margin-top:.6rem; }.ref-project-archive-grid { grid-template-columns:1fr; }.ref-project-archive-image { height:210px; }.ref-projects-cta .container { display:block; }.ref-projects-cta a { margin-top:1rem; }.ref-project-detail-image { height:260px; }.ref-project-detail-layout { padding-block:2rem; } }
