:root{--green:#1c5b4b;--green2:#153f36;--ink:#141716;--muted:#68706d;--line:#e4e7e5;--paper:#f7f8f6;--cream:#f0efe9;--side:#111716;--side2:#1a2220;--white:#fff;--radius:16px;--shadow:0 18px 55px rgba(14,30,25,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:var(--ink);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-shell{margin-left:480px;min-height:100vh}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.topbar nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:650}.topbar nav a:hover{color:var(--green)}.topbar .portal{background:var(--ink);color:white;padding:11px 15px;border-radius:9px}.collections-button{display:none;border:0;background:transparent;font:inherit;font-weight:700;cursor:pointer}.mega-sidebar{position:fixed;inset:0 auto 0 0;width:480px;background:var(--side);color:#eef4f1;z-index:60;box-shadow:6px 0 30px rgba(0,0,0,.16);overflow:hidden}.side-brand{height:88px;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.side-brand img{width:158px;height:auto}.side-brand button{display:none;border:0;background:transparent;color:white;font-size:30px;cursor:pointer}.side-search{padding:15px 18px;position:relative;border-bottom:1px solid rgba(255,255,255,.08)}.side-search input{width:100%;border:1px solid rgba(255,255,255,.12);background:#202826;color:white;border-radius:10px;padding:12px 40px 12px 13px;outline:0}.side-search input:focus{border-color:#6ba992}.side-search span{position:absolute;right:32px;top:26px;color:#9cb1a9}.side-columns{height:calc(100vh - 151px);display:grid;grid-template-columns:245px 235px}.tree-pane{overflow:auto;border-right:1px solid rgba(255,255,255,.08);padding:14px 10px 30px}.pane-label{font-size:10px;letter-spacing:.14em;color:#879b94;font-weight:800;padding:7px 10px 12px;display:flex;justify-content:space-between}.tree-group{border-bottom:1px solid rgba(255,255,255,.06)}.tree-group summary{list-style:none;display:flex;align-items:center;gap:8px;padding:11px 8px;cursor:pointer;font-size:12px;font-weight:750;color:#dce7e2}.tree-group summary::-webkit-details-marker{display:none}.tree-group summary .count{margin-left:auto;color:#789087;font-size:10px}.tree-group[open] .folder-icon{transform:rotate(90deg)}.folder-icon{transition:.15s;color:#70a28f}.tree-items{padding:0 0 8px}.tree-item{display:flex;align-items:center;justify-content:space-between;padding:8px 9px 8px 24px;border-radius:7px;color:#aebdb8;font-size:12px;transition:.15s}.tree-item:hover,.tree-item.active{background:#26332f;color:white}.tree-item.active{box-shadow:inset 3px 0 0 #71ad96}.tree-item.hide{display:none}.side-links{display:grid;gap:2px;margin-top:14px}.side-links a{padding:9px 10px;color:#94aaa2;font-size:12px}.side-links a:hover{color:white}.preview-pane{padding:16px;overflow:auto;background:linear-gradient(180deg,#17201e,#121817)}.preview-image{aspect-ratio:1/1.08;border-radius:12px;overflow:hidden;background:#29312f;margin-bottom:16px}.preview-image img{width:100%;height:100%;object-fit:cover}.eyebrow{display:block;color:var(--green);font-size:10px;letter-spacing:.16em;font-weight:850;margin-bottom:10px}.preview-pane .eyebrow{color:#7db39e}.preview-pane h3{font-family:Georgia,serif;font-size:25px;line-height:1.05;margin:0 0 10px}.preview-pane p{color:#98aaa4;font-size:12px;margin:0 0 15px}.text-link{color:var(--green);font-size:13px;font-weight:800}.preview-pane .text-link{color:#8bc4ad}.side-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:50}main{min-height:calc(100vh - 160px)}.hero{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(420px,1.2fr);min-height:650px;background:var(--paper)}.hero-copy{padding:92px 58px 70px;display:flex;flex-direction:column;justify-content:center}.hero h1,.page-head h1,.range-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}.hero h1{font-size:64px;line-height:.98;margin:0 0 24px}.hero h1 em{font-weight:400;color:var(--green)}.hero-copy>p{font-size:17px;color:var(--muted);max-width:600px}.hero-actions{display:flex;gap:12px;margin:24px 0 34px}.button{border:1px solid transparent;padding:13px 18px;border-radius:9px;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.button.primary{background:var(--green);color:white}.button.primary:hover{background:var(--green2)}.button.secondary{background:white;border-color:#d8ddda;color:var(--ink)}.button.light{background:white;color:var(--ink)}.hero-stats{display:flex;gap:28px;border-top:1px solid #dfe3e0;padding-top:23px}.hero-stats div{display:grid}.hero-stats strong{font-family:Georgia,serif;font-size:26px;font-weight:500}.hero-stats span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.hero-photo{position:relative;min-height:650px;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover}.hero-badge{position:absolute;left:24px;bottom:24px;background:rgba(17,23,22,.9);color:#dce8e4;padding:14px 18px;border-radius:10px;font-size:11px;letter-spacing:.04em}.hero-badge strong{color:white}.section{padding:72px 48px}.section.soft{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading h2,.prose h2,.contact-card h2{font-family:Georgia,serif;font-size:36px;line-height:1.05;font-weight:500;margin:0}.section-heading>p{color:var(--muted);max-width:500px;font-size:13px}.range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.range-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.range-card{border:1px solid var(--line);background:white;border-radius:14px;overflow:hidden;transition:.2s}.range-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.range-card-image{aspect-ratio:1.25/1;overflow:hidden;background:#ecefec}.range-card-image img{width:100%;height:100%;object-fit:cover;transition:.3s}.range-card:hover .range-card-image img{transform:scale(1.025)}.range-card-body{padding:16px 18px 18px}.mini-label{font-size:9px;letter-spacing:.14em;color:#84918c;font-weight:850}.range-card h3{font-family:Georgia,serif;font-size:24px;font-weight:500;margin:5px 0 7px}.range-card h3 a:hover{color:var(--green)}.range-card p{font-size:12px;color:var(--muted);min-height:38px;margin:0 0 12px}.admin-proof{margin:0;padding:64px 50px;background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;gap:40px}.admin-proof .eyebrow{color:#b9d8cd}.admin-proof h2{font-family:Georgia,serif;font-size:38px;font-weight:500;max-width:760px;margin:0 0 12px}.admin-proof p{color:#d5e6df;max-width:800px}.page-head{background:var(--paper);padding:82px 50px 68px;border-bottom:1px solid var(--line)}.page-head h1{font-size:58px;line-height:1;margin:0 0 20px}.page-head p{color:var(--muted);font-size:17px;max-width:800px}.products-list{padding-top:36px}.products-toolbar{display:flex;justify-content:space-between;margin-bottom:22px;color:var(--muted);font-size:13px}.pager{display:flex;justify-content:center;gap:8px;margin-top:40px}.pager a{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;font-weight:750}.pager a.current,.pager a:hover{background:var(--green);color:white;border-color:var(--green)}.range-hero{display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(400px,.88fr);min-height:590px;border-bottom:1px solid var(--line)}.range-hero-image{min-height:590px;background:#edf0ed}.range-hero-image img{width:100%;height:100%;object-fit:cover}.range-hero-copy{padding:66px 48px;display:flex;flex-direction:column;justify-content:center}.breadcrumbs{font-size:11px;color:#8b9591;margin-bottom:28px}.breadcrumbs span{padding:0 7px}.range-hero h1{font-size:58px;line-height:1;margin:0 0 20px}.range-hero-copy>p{color:var(--muted);font-size:15px;max-width:660px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 24px}.chips span{font-size:10px;letter-spacing:.06em;text-transform:uppercase;background:var(--paper);border:1px solid var(--line);padding:7px 9px;border-radius:99px;font-weight:800}.range-hero-copy .button{align-self:flex-start}.sheet-section{background:#eef0ed}.sheet-note{color:var(--muted)}.pdf-sheet{display:grid;gap:22px;justify-items:center}.pdf-page-wrap{width:min(100%,1120px);background:white;border-radius:4px;box-shadow:0 7px 24px rgba(20,30,25,.11);overflow:hidden}.pdf-page-wrap canvas{display:block;width:100%;height:auto}.pdf-loading{padding:50px;text-align:center;color:var(--muted)}.spinner{display:inline-block;width:15px;height:15px;border:2px solid #c7cfcb;border-top-color:var(--green);border-radius:50%;margin-right:8px;vertical-align:-2px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pdf-fallback{text-align:center;font-size:11px;color:#78827e;margin-top:18px}.pdf-fallback a{text-decoration:underline}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.tile-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.tile-image{aspect-ratio:1/1;background:#ecefec;overflow:hidden}.tile-image img{width:100%;height:100%;object-fit:cover}.tile-card h3{font-size:13px;line-height:1.3;padding:13px 14px;margin:0;font-weight:700}.prose{max-width:1000px}.prose p{font-size:17px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-card{padding:28px;border:1px solid var(--line);border-radius:14px}.contact-card p{color:var(--muted)}.footer{padding:30px 42px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;background:#fff}.footer>img{width:110px}.footer>div{display:grid;font-size:12px}.footer>div span{color:var(--muted)}.footer nav{margin-left:auto;display:flex;gap:20px;font-size:12px;font-weight:700}
@media(max-width:1280px){.site-shell{margin-left:390px}.mega-sidebar{width:390px}.side-columns{grid-template-columns:210px 180px}.preview-pane{padding:12px}.range-grid{grid-template-columns:repeat(2,1fr)}.range-grid.compact{grid-template-columns:repeat(2,1fr)}.tile-grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:52px}.hero-copy{padding-left:40px;padding-right:40px}}
@media(max-width:980px){.site-shell{margin-left:0}.mega-sidebar{transform:translateX(-100%);transition:.22s;width:min(480px,92vw)}.mega-sidebar.open{transform:translateX(0)}.side-backdrop.show{display:block}.side-brand button{display:block}.topbar{padding:0 20px}.collections-button{display:block}.topbar nav a:not(.portal){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 28px}.hero-photo{min-height:440px}.range-hero{grid-template-columns:1fr}.range-hero-image{min-height:420px}.range-hero-copy{padding:46px 28px}.section{padding:54px 28px}.page-head{padding:60px 28px}.admin-proof{padding:50px 28px;flex-direction:column;align-items:flex-start}.footer{padding:26px 28px;flex-wrap:wrap}.footer nav{width:100%;margin:0}.contact-grid{grid-template-columns:1fr}}
@media(max-width:680px){.side-columns{grid-template-columns:1fr}.preview-pane{display:none}.hero h1,.page-head h1,.range-hero h1{font-size:43px}.hero-stats{gap:17px}.hero-stats strong{font-size:22px}.hero-actions{flex-direction:column;align-items:stretch}.range-grid,.range-grid.compact,.tile-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:flex-start;flex-direction:column}.range-card p{display:none}.range-card h3{font-size:20px}.footer nav{flex-wrap:wrap}.topbar .portal{padding:9px 10px;font-size:11px}}
@media(max-width:430px){.range-grid,.range-grid.compact,.tile-grid{grid-template-columns:1fr}.hero-stats{flex-wrap:wrap}.tile-card h3{font-size:12px}}

/* JC_PUBLIC_LOGO_FIX_V2 */
.mega-sidebar { display:flex !important; flex-direction:column !important; }
.side-brand { height:190px !important; min-height:190px !important; max-height:190px !important; flex:0 0 190px !important; padding:18px 22px !important; overflow:hidden !important; position:relative !important; z-index:1 !important; }
.side-brand a { display:flex !important; align-items:center !important; height:154px !important; }
.side-brand img { width:150px !important; height:150px !important; max-width:150px !important; max-height:150px !important; object-fit:contain !important; display:block !important; }
.side-search { position:relative !important; z-index:2 !important; flex:0 0 auto !important; margin-top:0 !important; }
.side-columns { min-height:0 !important; flex:1 1 auto !important; }

/* JC_SEARCH_BAR_DOWN_V3 */
.side-search { margin-top:90px; }
.side-columns { height:calc(100vh - 241px); }

/* JC_MOBILE_SIDEBAR_FIX_V4 */
@media (max-width:980px) {
  .mega-sidebar { display:flex !important; flex-direction:column !important; }
  .side-brand { height:245px !important; min-height:245px !important; max-height:245px !important; flex:0 0 245px !important; padding:18px 22px !important; overflow:hidden !important; position:relative !important; }
  .side-brand a { height:209px !important; display:flex !important; align-items:center !important; }
  .side-brand img { width:190px !important; height:190px !important; max-width:190px !important; max-height:190px !important; object-fit:contain !important; display:block !important; }
  .side-brand button { position:absolute !important; top:18px !important; right:18px !important; z-index:5 !important; }
  .side-search { margin-top:0 !important; flex:0 0 auto !important; position:relative !important; z-index:3 !important; }
  .side-columns { height:auto !important; min-height:0 !important; flex:1 1 auto !important; overflow:hidden !important; }
  .tree-pane { height:100% !important; }
}

/* JC_CLOUDFLARE_CMS_V2 */
.contact-form-wrap{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:42px;align-items:start}.contact-form{display:grid;gap:14px;background:#fff;border:1px solid #e1e6e3;border-radius:14px;padding:22px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#3b4642}.contact-form input,.contact-form textarea{width:100%;border:1px solid #d7ddda;border-radius:9px;padding:11px 12px;font:inherit;background:#fff}.contact-form textarea{min-height:145px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:#77a593;box-shadow:0 0 0 3px #e7f0ec}.form-status{min-height:20px;margin:0;font-size:12px;color:#315e4d}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.maintenance-page{min-height:100vh;display:grid;place-items:start center;align-content:center;text-align:center;padding:30px;background:#f5f7f5}.maintenance-page img{width:min(230px,60vw);margin-bottom:28px}.maintenance-page h1{font-family:Georgia,serif;font-size:clamp(38px,6vw,64px);font-weight:500;margin:12px 0}.maintenance-page p{max-width:700px;color:#66716d;line-height:1.7}.contact-card a{color:inherit}
@media(max-width:760px){.contact-form-wrap{grid-template-columns:1fr;gap:24px}.contact-fields{grid-template-columns:1fr}}

/* JC Labs approved menu + gallery revision — October 2026.
   Non-destructive overrides: preserves the original site palette and product cards. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-shell{transition:margin-left .24s ease}
.mega-sidebar{transition:transform .24s ease;will-change:transform}
.collections-button{display:inline-flex!important;align-items:center;gap:8px;cursor:pointer;color:var(--green);padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#f7f9f7;font-size:14px;white-space:nowrap}
.collections-button:hover,.collections-button:focus-visible{background:#eaf2ed;outline-offset:2px}
.side-brand button{display:flex!important;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:#27332f!important;line-height:1}
.side-brand button:hover,.side-brand button:focus-visible{background:#3c5147!important;outline:2px solid #b2dfc8;outline-offset:1px}
.sidebar-collapsed .mega-sidebar{transform:translateX(-101%)}
.sidebar-collapsed .site-shell{margin-left:0!important}
.search-empty{padding:12px 10px;color:#bdcfc6;font-size:13px}
.search-empty[hidden]{display:none}
.tree-group summary:focus-visible,.tree-item:focus-visible{outline:2px solid #a7dbc1;outline-offset:-2px}
.tree-group .tree-items{padding-bottom:10px}
.topbar{gap:16px}
.topbar nav{flex-wrap:wrap;justify-content:flex-end}

/* An easy-to-browse, large image gallery: never a wall of tiny photos. */
.slideshow-section{background:#fff}
.gallery-count{font-size:12px;color:var(--muted)}
.range-slideshow{max-width:1180px;margin:0 auto}
.slideshow-stage{height:clamp(340px,53vw,640px);position:relative;background:#e9eeea;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.slideshow-image{width:100%;height:100%;object-fit:contain}
.slideshow-arrow,.slideshow-expand{position:absolute;cursor:pointer;border:1px solid rgba(255,255,255,.78);background:rgba(12,26,21,.76);color:#fff;box-shadow:0 4px 20px rgba(0,0,0,.1)}
.slideshow-arrow{top:50%;transform:translateY(-50%);height:52px;width:44px;font-size:37px;line-height:1;border-radius:10px}
.slideshow-prev{left:16px}
.slideshow-next{right:16px}
.slideshow-expand{right:16px;top:16px;border-radius:9px;font-size:16px;padding:8px 12px;display:flex;align-items:center;gap:8px}
.slideshow-expand span{font-size:11px;font-weight:750}
.slideshow-arrow:hover,.slideshow-expand:hover,.slideshow-arrow:focus-visible,.slideshow-expand:focus-visible{background:#143f35;outline-offset:3px}
.slideshow-info{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 1px 12px}
.slideshow-caption{font-size:14px;font-weight:700}
.slideshow-counter{font-size:12px;white-space:nowrap;color:var(--muted)}
.slideshow-thumbs{display:flex;gap:10px;overflow-x:auto;padding:3px 3px 10px;scrollbar-width:thin}
.slideshow-thumb{padding:0;flex:0 0 90px;height:74px;background:#eef2ef;border:3px solid transparent;border-radius:9px;overflow:hidden;cursor:pointer}
.slideshow-thumb img{width:100%;height:100%;object-fit:cover}
.slideshow-thumb.active,.slideshow-thumb[aria-pressed="true"]{border-color:var(--green)}
.slideshow-thumb:hover{border-color:#6ba992}
.gallery-lightbox{border:0;padding:0;margin:auto;max-width:100vw;max-height:100vh;width:100vw;height:100vh;background:#101713;color:white}
.gallery-lightbox::backdrop{background:rgba(0,0,0,.95)}
.lightbox-top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:13px;color:#c2cfc7}
.lightbox-close{border:0;background:#28362e;color:white;cursor:pointer;font-size:32px;width:45px;height:44px;border-radius:8px}
.lightbox-stage{height:calc(100% - 132px);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px}
.lightbox-stage img{min-width:0;max-width:calc(100% - 110px);max-height:100%;object-fit:contain}
.lightbox-back,.lightbox-forward{flex:none;border:0;background:#273b30;color:#fff;border-radius:9px;width:45px;height:60px;font-size:36px;cursor:pointer}
.lightbox-stage button[hidden]{display:none}
.lightbox-stage:has(.lightbox-back[hidden]) img{max-width:100%}
.lightbox-caption{text-align:center;font-size:14px;color:#cbd8cf;margin:12px 12px 20px}

/* The sheet is initially closed; PDF.js is lazy-loaded on first expansion. */
.sheet-section{padding-top:28px!important;padding-bottom:28px!important}
.product-sheet-disclosure{width:min(100%,1180px);margin:auto;border:1px solid #d7e0d9;border-radius:13px;overflow:hidden;background:#fff}
.sheet-summary{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none}
.sheet-summary::-webkit-details-marker{display:none}
.sheet-summary-copy{display:flex;flex-direction:column;gap:4px}
.sheet-summary-copy strong{font-size:clamp(20px,2.2vw,28px);font-weight:700}
.sheet-summary-copy small{font-size:12px;color:var(--muted)}
.sheet-chevron{font-size:33px;line-height:1;transition:transform .2s;color:var(--green)}
.product-sheet-disclosure[open] .sheet-chevron{transform:rotate(180deg)}
.sheet-summary:hover,.sheet-summary:focus-visible{background:#f5faf6;outline-offset:-3px}
.sheet-body{padding:22px;border-top:1px solid #e0e6e0;background:#f4f6f4}
.sheet-actions{display:flex;justify-content:flex-end;padding-bottom:18px}
.pdf-sheet{width:100%}
.pdf-page-wrap{width:100%;max-width:1180px;background:#fff;box-shadow:0 10px 32px #13231616;overflow:hidden}
.pdf-page-wrap canvas{display:block;width:100%;height:auto}
.pdf-loading{padding:32px;color:#56655b;text-align:center;background:#fff}
.pdf-fallback{font-size:12px;margin-top:12px;text-align:center;color:#6c786f}
.pdf-fallback a{color:var(--green);text-decoration:underline}

/* Structured technical fields render only when explicitly provided by catalogue. */
.range-facts{background:#f7f9f7}
.facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.facts-grid>div{border:1px solid var(--line);padding:16px;background:#fff;border-radius:10px}
.facts-grid dt{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.facts-grid dd{font-size:15px;font-weight:700;margin:4px 0 0;overflow-wrap:anywhere}

@media(max-width:1100px){
  .site-shell,.sidebar-collapsed .site-shell{margin-left:0!important}
  .mega-sidebar,.sidebar-collapsed .mega-sidebar{transform:translateX(-101%);width:min(480px,92vw)}
  .mega-sidebar.open,.sidebar-collapsed .mega-sidebar.open{transform:translateX(0)}
  .side-backdrop.show{display:block}
  .side-brand button{display:flex!important}
}
@media(max-width:700px){
  .topbar{padding:0 15px;gap:10px}
  .collections-button{font-size:12px;padding:8px 9px}
  .slideshow-stage{height:clamp(300px,76vw,490px)}
  .slideshow-arrow{height:46px;width:37px;font-size:30px}
  .slideshow-expand span{display:none}
  .slideshow-thumbs .slideshow-thumb{flex-basis:72px;height:66px}
  .facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sheet-summary{padding:17px}
  .sheet-body{padding:11px}
  .lightbox-stage{padding:0 4px;gap:3px}
  .lightbox-back,.lightbox-forward{width:31px;height:46px;font-size:26px}
  .lightbox-stage img{max-width:calc(100% - 67px)}
}
@media(prefers-reduced-motion:reduce){.mega-sidebar,.site-shell,.sheet-chevron{transition:none!important}}

/* JC_LABS_SPECS_FIX_V1 — comprehensive public catalogue metadata from IP site */
.tree-item{align-items:center;gap:6px;padding:10px 7px 10px 12px;border-bottom:1px solid rgba(255,255,255,.045)}
.tree-item-copy{display:flex;flex-direction:column;min-width:0;gap:2px;flex:1}
.tree-item-name{font-size:12px;color:#e1ece6;font-weight:750}
.tree-item-meta,.tree-item-sizes{display:block;line-height:1.4;font-size:10px;font-weight:450;color:#b5c8bd;overflow-wrap:anywhere}
.tree-item-sizes{color:#a1d1bc}
.tree-item-arrow{flex:none;align-self:flex-start;font-size:15px;color:#829c8f}
.tree-item:hover .tree-item-name,.tree-item:focus-visible .tree-item-name{color:#fff}
.preview-pane .side-spec-list{display:grid;gap:7px;margin:14px 0;min-width:0}
.side-spec-row{border-bottom:1px solid rgba(255,255,255,.075);padding:0 0 7px}
.side-spec-row[hidden]{display:none!important}
.side-spec-row dt{color:#a7bdaf;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:750}
.side-spec-row dd{font-size:12px;margin:3px 0 0;color:#f2f7f4;overflow-wrap:anywhere}
#sidePreviewDesc{max-height:120px;overflow:auto;font-size:11px;line-height:1.5;color:#becbc3}
.collection-filter-panel{padding:6px 5px 12px}
.collection-filter-toggle{border:1px solid #3a4c42;border-radius:9px;overflow:hidden}
.collection-filter-toggle>summary{cursor:pointer;padding:10px;display:flex;gap:7px;justify-content:space-between;align-items:center;font-weight:750;font-size:11px;color:#dcece2;list-style:none}
.collection-filter-toggle>summary::-webkit-details-marker,.side-filter-group summary::-webkit-details-marker{display:none}
.collection-filter-toggle>summary .count{font-size:9px;font-weight:450;color:#b0c4b9;margin:0}
.side-filter-groups{padding:0 8px}
.side-filter-group{border-top:1px solid rgba(255,255,255,.08)}
.side-filter-group>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:8px 3px;color:#e0efe7;font-size:11px;list-style:none}
.side-filter-options{display:grid;gap:3px;max-height:160px;overflow:auto;padding:3px 1px 10px 8px;scrollbar-width:thin}
.side-filter-choice{display:flex;gap:7px;align-items:flex-start;color:#ccdcd2;font-size:10px;cursor:pointer;padding:4px 0}
.side-filter-choice input{accent-color:#76b89b;margin-top:1px;cursor:pointer}
.clear-filters{display:block;border:0;background:transparent;color:#a6d1b8;text-decoration:underline;cursor:pointer;padding:9px;font-size:10px;text-align:left}
.range-card-specs,.range-card-sizes{font-size:12px!important;font-weight:650;margin:6px 0!important;line-height:1.45}
.range-card-sizes{color:#386a58!important}
@media (max-width:680px){.tree-pane{width:100%}.tree-item{padding:9px 12px}}


/* ========================================================================
   LABS ORIGINAL THEME RESTORATION -- sidebar ONLY
   Retains the VPS-style menu order, collection links and functional filters.
   Original Labs colour tokens, typography, accents, rounded styling.
   Nothing here changes public product cards, product pages or portal.
   ======================================================================== */
.site-shell{margin-left:280px!important}
.vps-sidebar{
  position:fixed;inset:0 auto 0 0;display:flex!important;flex-direction:column!important;
  width:280px!important;overflow:hidden;
  background:var(--side,#111716)!important;color:#eef4f1!important;
  box-shadow:6px 0 30px rgba(0,0,0,.16)!important;
  border-right:1px solid rgba(255,255,255,.08);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.vps-brand{
  height:88px;flex:0 0 88px;display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:14px 18px 14px 20px;border-bottom:1px solid rgba(255,255,255,.08);
  background:var(--side,#111716);
}
.vps-brand a{display:flex;align-items:center;height:62px;min-width:0}
.vps-brand img{width:158px;max-width:100%;max-height:62px;object-fit:contain}
.vps-brand button{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:32px;height:35px;padding:0;line-height:1;font-size:30px;
  border:0;border-radius:7px;background:transparent;color:#eef4f1;cursor:pointer;
}
.vps-brand button:hover,.vps-brand button:focus-visible{background:#26332f;color:#fff}
.vps-menu-scroll{
  flex:1 1 auto;min-height:0;padding:12px 12px 28px 12px;
  overflow-y:auto!important;overflow-x:hidden!important;
  overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;
  scrollbar-color:#52675e #17201e;
}
.vps-sidebar .filter-title{
  display:flex;align-items:center;justify-content:space-between;
  padding:17px 10px 12px;border-bottom:1px solid rgba(255,255,255,.08);
  color:#879b94;font-size:10px;font-weight:800;letter-spacing:.12em;
}
.vps-sidebar .filter-title strong{font-weight:800}
.vps-sidebar .filter-title button{background:transparent;border:0;color:#8bc4ad;font-size:11px;letter-spacing:normal;font-weight:750;cursor:pointer}
.vps-sidebar .filter-title button:hover{text-decoration:underline;color:#fff}
.vps-sidebar .filter-group{border-bottom:1px solid rgba(255,255,255,.07)}
.vps-sidebar .filter-group>summary{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:13px 10px;cursor:pointer;list-style:none;
  color:#dce7e2;font-size:12px;font-weight:750;
  border-radius:7px;
}
.vps-sidebar .filter-group>summary::-webkit-details-marker{display:none}
.vps-sidebar .filter-group>summary:hover,.vps-sidebar .filter-group>summary:focus-visible{background:#26332f;color:#fff}
.vps-sidebar .filter-group>summary span{color:#70a28f;font-size:15px}
.vps-sidebar .filter-group>div:not(.vps-range-links){
  display:grid;gap:5px;padding:0 9px 14px 10px;
  max-height:230px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;
}
.vps-sidebar .filter-check{
  display:flex;align-items:flex-start;gap:9px;padding:4px 2px;
  color:#b5c6bf;font-size:11px;line-height:1.5;font-weight:400;cursor:pointer;
}
.vps-sidebar .filter-check:hover{color:#fff}
.vps-sidebar .filter-check input{accent-color:#71ad96;margin:2px 0 0;cursor:pointer}
.vps-search-label{display:block;margin:15px 7px 6px;color:#94aaa2;font-weight:750;font-size:11px}
.vps-search{
  width:calc(100% - 14px);margin:0 7px 9px;
  padding:11px 12px;border:1px solid rgba(255,255,255,.12);
  border-radius:10px;background:#202826;color:#eef4f1;font-size:12px;outline:0;
}
.vps-search::placeholder{color:#94aaa2}
.vps-search:focus{border-color:#6ba992;box-shadow:0 0 0 2px rgba(107,169,146,.14)}
.vps-sidebar .vps-collections>.vps-range-links{
  display:grid;gap:2px;max-height:none!important;overflow:visible!important;
  visibility:visible!important;padding:2px 0 12px;
}
.vps-sidebar .vps-collections:not([open])>.vps-range-links{display:none!important}
.vps-range-link{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 10px 9px 24px;border-radius:7px;
  color:#aebdb8;font-size:12px;line-height:1.5;border:0;
  transition:background .15s,color .15s;
}
.vps-range-link span{color:#70a28f;font-size:15px}
.vps-range-link:hover,.vps-range-link.current,.vps-range-link:focus-visible{
  background:#26332f;color:#fff;font-weight:650;
}
.vps-range-link.current{box-shadow:inset 3px 0 0 #71ad96}
.vps-range-link[hidden],[data-catalogue-card][hidden],.vps-results-empty[hidden],.vps-empty[hidden]{display:none!important}
.vps-empty{color:#c2d2c8;font-size:12px;padding:9px}
.vps-sort-label{display:flex;align-items:center;gap:8px;font-size:11px}
.vps-sort-label select{font:inherit;border:1px solid var(--line);background:white;padding:5px}
.vps-results-empty{text-align:center;padding:40px 20px;background:var(--paper);font-size:14px}
.vps-results-empty button{background:transparent;border:0;cursor:pointer;color:var(--green);font-weight:800}
.sidebar-collapsed .site-shell{margin-left:0!important}
.sidebar-collapsed .vps-sidebar{transform:translateX(-101%)!important}
.vps-sidebar.open{transform:translateX(0)}
@media(max-width:980px){
 .site-shell,.sidebar-collapsed .site-shell{margin-left:0!important}
 .vps-sidebar,.sidebar-collapsed .vps-sidebar{width:min(320px,92vw)!important;transform:translateX(-101%)!important}
 .vps-sidebar.open,.sidebar-collapsed .vps-sidebar.open{transform:translateX(0)!important}
 .vps-sidebar .vps-menu-scroll{padding-right:18px}
}

/* JC_LABS_SINGLE_SCROLL_V1
   ONE scrollbar only: the sidebar body scrolls, expanded groups use natural height.
   Does not change Labs colours, type, layout, product pages or sidebar ordering. */
.vps-sidebar {
  height:100vh !important;
  height:100dvh !important;
  overflow:hidden !important;
}
.vps-sidebar > .vps-menu-scroll {
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior-y:contain;
  scrollbar-width:thin;
}
/* Override the old max-height:230px/overflow:auto rules that caused
   FIVE additional scrollbars on Look/Colour/Finish/Size/Application. */
.vps-sidebar .vps-menu-scroll .filter-group > div,
.vps-sidebar .vps-menu-scroll .filter-group > div:not(.vps-range-links),
.vps-sidebar .vps-menu-scroll .vps-collections > .vps-range-links {
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  overscroll-behavior:auto !important;
  scrollbar-width:none !important;
}
.vps-sidebar .vps-menu-scroll .filter-group {
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
/* Keep closed sections closed and preserve the full catalogue index. */
.vps-sidebar .vps-collections:not([open]) > .vps-range-links {display:none !important;}
.vps-sidebar .vps-range-link[hidden] {display:none !important;}
/* END_JC_LABS_SINGLE_SCROLL_V1 */

/* JC_LABS_VISUAL_BASELINE_V1
   SCOPED THEME FIX: Original Labs CSS colours, branding and desktop proportions.
   Only existing VPS-menu elements and site-shell offset are changed. The
   website's original product / hero / topbar CSS remains untouched.
   ======================================================================== */
:root {
  --green:#1c5b4b;
  --green2:#153f36;
  --ink:#141716;
  --muted:#68706d;
  --line:#e4e7e5;
  --paper:#f7f8f6;
  --cream:#f0efe9;
  --side:#111716;
  --side2:#1a2220;
}
@media(min-width:1281px){
  body:not(.sidebar-collapsed) .site-shell {margin-left:480px!important}
}
@media(min-width:981px) and (max-width:1280px){
  body:not(.sidebar-collapsed) .site-shell {margin-left:390px!important}
}
body.sidebar-collapsed .site-shell {margin-left:0!important}
body .vps-sidebar {
  position:fixed!important;inset:0 auto 0 0!important;
  display:flex!important;flex-direction:column!important;
  width:480px!important;height:100dvh!important;
  background:#111716!important;color:#eef4f1!important;
  box-shadow:6px 0 30px rgba(0,0,0,.16)!important;
  border:0!important;border-right:1px solid rgba(255,255,255,.08)!important;
  overflow:hidden!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:12px!important;
}
body .vps-sidebar .vps-brand {
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  height:190px!important;min-height:190px!important;max-height:190px!important;
  flex:0 0 190px!important;padding:18px 22px!important;
  background:#111716!important;color:#eef4f1!important;
  border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;
}
body .vps-sidebar .vps-brand a {height:154px!important;display:flex!important;align-items:center!important}
body .vps-sidebar .vps-brand img {
  display:block!important;width:150px!important;height:150px!important;
  max-width:150px!important;max-height:150px!important;object-fit:contain!important;
}
body .vps-sidebar #sideClose {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:transparent!important;border:0!important;border-radius:8px!important;
  color:white!important;font:inherit!important;font-size:30px!important;
  width:36px!important;height:36px!important;cursor:pointer!important;
}
body .vps-sidebar #sideClose:hover {background:#202826!important}
body .vps-sidebar > .vps-menu-scroll {
  flex:1 1 auto!important;min-height:0!important;padding:14px 18px 30px!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  overscroll-behavior-y:contain!important;scrollbar-gutter:stable!important;
  scrollbar-width:thin!important;scrollbar-color:#52675e #17201e!important;
  background:#111716!important;
}
body .vps-sidebar .vps-collections {border-bottom:1px solid rgba(255,255,255,.08)!important}
body .vps-sidebar .filter-group {
  display:block!important;height:auto!important;max-height:none!important;
  overflow:visible!important;border-color:rgba(255,255,255,.07)!important;
}
body .vps-sidebar .filter-group > summary {
  display:flex!important;justify-content:space-between!important;align-items:center!important;
  padding:12px 10px!important;border-radius:7px!important;
  background:transparent!important;color:#dce7e2!important;
  font-size:12px!important;font-weight:750!important;line-height:1.55!important;
  text-transform:none!important;letter-spacing:normal!important;
}
body .vps-sidebar .filter-group > summary:hover,
body .vps-sidebar .filter-group > summary:focus-visible {background:#202826!important;color:#fff!important}
body .vps-sidebar .filter-group > summary span {color:#7db39e!important}
body .vps-sidebar .filter-group > div,
body .vps-sidebar .filter-group > div:not(.vps-range-links),
body .vps-sidebar .vps-collections > .vps-range-links {
  height:auto!important;max-height:none!important;min-height:0!important;
  overflow:visible!important;overscroll-behavior:auto!important;
  scrollbar-width:none!important;
}
body .vps-sidebar .vps-range-links {
  display:grid!important;gap:1px!important;padding:0 0 12px!important;
}
body .vps-sidebar .vps-collections:not([open]) > .vps-range-links {display:none!important}
body .vps-sidebar .vps-range-link {
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  border:0!important;border-radius:7px!important;
  padding:9px 12px 9px 24px!important;
  background:transparent!important;color:#b5c6bf!important;
  font-size:12px!important;font-weight:500!important;letter-spacing:normal!important;
  line-height:1.5!important;text-decoration:none!important;
}
body .vps-sidebar .vps-range-link > span {color:#7db39e!important}
body .vps-sidebar .vps-range-link:hover,
body .vps-sidebar .vps-range-link.current,
body .vps-sidebar .vps-range-link:focus-visible {
  color:#fff!important;background:#202826!important;
}
body .vps-sidebar .vps-range-link.current {
  box-shadow:inset 3px 0 0 #7db39e!important;font-weight:750!important;
}
body .vps-sidebar .filter-title {
  display:flex!important;justify-content:space-between!important;
  padding:19px 10px 12px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  color:#879b94!important;font-size:10px!important;letter-spacing:.14em!important;
}
body .vps-sidebar .filter-title strong {color:#879b94!important;font-weight:800!important}
body .vps-sidebar #filterReset {background:transparent!important;color:#7db39e!important;border:0!important}
body .vps-sidebar #filterReset:hover {color:#fff!important}
body .vps-sidebar .vps-search-label {color:#b5c6bf!important}
body .vps-sidebar .vps-search {
  background:#202826!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:10px!important;font-family:inherit!important;
}
body .vps-sidebar .vps-search::placeholder {color:#9cb1a9!important}
body .vps-sidebar .vps-search:focus {border-color:#6ba992!important}
body .vps-sidebar .filter-check {
  color:#b5c6bf!important;background:transparent!important;
  font-size:11px!important;font-weight:400!important;
}
body .vps-sidebar .filter-check:hover {color:#fff!important}
body .vps-sidebar .filter-check input {accent-color:#7db39e!important}
body .vps-sidebar .vps-empty {color:#b5c6bf!important}
body .vps-sidebar .vps-range-link[hidden] {display:none!important}
@media(max-width:1280px) and (min-width:981px){
  body .vps-sidebar {width:390px!important}
}
@media(max-width:980px){
  body .site-shell {margin-left:0!important}
  body .vps-sidebar {width:min(480px,92vw)!important;transform:translateX(-101%)!important}
  body .vps-sidebar.open {transform:translateX(0)!important}
  body .vps-sidebar > .vps-menu-scroll {padding:14px 18px 28px!important}
  body .vps-sidebar .vps-brand {height:190px!important;min-height:190px!important;max-height:190px!important;flex-basis:190px!important}
}
/* END_JC_LABS_VISUAL_BASELINE_V1 */

/* JC_LABS_TOPBAR_DARK_V1
   Only the horizontal site header (not the left Collections sidebar).
   Keep all existing layout, spacing, typography, product pages and navigation logic.
*/
body .site-shell > .topbar {
  background: #111716 !important;
  color: #edf3f0 !important;
  border-bottom-color: #25332e !important;
}
body .site-shell > .topbar nav a:not(.portal) {
  color: #edf3f0 !important;
}
body .site-shell > .topbar nav a:not(.portal):hover,
body .site-shell > .topbar nav a:not(.portal):focus-visible,
body .site-shell > .topbar nav a.active:not(.portal) {
  color: #a8d4bc !important;
}
body .site-shell > .topbar .collections-button {
  background: #1a2822 !important;
  color: #edf3f0 !important;
  border-color: #345146 !important;
}
body .site-shell > .topbar .collections-button:hover,
body .site-shell > .topbar .collections-button:focus-visible {
  background: #254235 !important;
}
body .site-shell > .topbar nav a.portal {
  background: #1c5b4b !important;
  color: #fff !important;
}
body .site-shell > .topbar nav a.portal:hover,
body .site-shell > .topbar nav a.portal:focus-visible {
  background: #267761 !important;
}
/* END_JC_LABS_TOPBAR_DARK_V1 */
/* JC-UNIFIED-PREVIEW-V10 */
@media (min-width: 981px) {
  body #megaSidebar.vps-sidebar {
    width: 440px !important;
    max-width: 440px !important;
    overflow: hidden !important;
  }
  body:not(.sidebar-collapsed) .site-shell {
    margin-left: 440px !important;
  }
}
#jcRangePreviewV10 {
  position: fixed;
  z-index: 2147483000;
  display: flex;
  flex-direction: column;
  gap: 13px;
  box-sizing: border-box;
  padding: 25px;
  background: #141d1a;
  color: #edf3ef;
  border: 1px solid #33443d;
  border-radius: 0 18px 18px 0;
  box-shadow: 12px 8px 34px rgba(0, 0, 0, .28);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #577263 #1a2420;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}
#jcRangePreviewV10[hidden] { display: none !important; }
#jcRangePreviewV10 .jcp-image {
  flex: none;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 13px;
  overflow: hidden;
  background: #25352d;
}
#jcRangePreviewV10 .jcp-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#jcRangePreviewV10 .jcp-image img[hidden] { display: none; }
#jcRangePreviewV10 .jcp-eyebrow {
  color: #92c4b0;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 2px;
}
#jcRangePreviewV10 .jcp-title {
  margin: 0;
  color: #fff;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 750;
}
#jcRangePreviewV10 .jcp-description {
  display: block;
  margin: 0;
  color: #d4ded8;
  font-size: 14px;
  line-height: 1.65;
  white-space: normal;
  overflow: visible;
  max-height: none;
}
#jcRangePreviewV10 .jcp-facts {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#jcRangePreviewV10 .jcp-fact-label {
  margin-bottom: 7px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 1.3px;
  color: #96c6b2;
  text-transform: uppercase;
}
#jcRangePreviewV10 .jcp-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
#jcRangePreviewV10 .jcp-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 99px;
  border: 1px solid #3b4f45;
  background: #20312a;
  color: #e3eee7;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.25;
}
#jcRangePreviewV10 .jcp-colour {
  width: 14px;
  height: 14px;
  flex: none;
  border: 1px solid #81958b;
  border-radius: 50%;
}
#jcRangePreviewV10 .jcp-link {
  display: inline-block;
  margin: 6px 0 0;
  color: #91c7b0;
  font-weight: 750;
  font-size: 16px;
  text-decoration: none;
}
#jcRangePreviewV10 .jcp-link:hover { text-decoration: underline; }
@media (max-width: 900px) {
  #jcRangePreviewV10 { display: none !important; }
}

/* JC-LABS-SITEWIDE-PRODUCTS-V11 */
/* Changes only public product pages and range cards; sidebar/V10 preview untouched. */
.site-shell main .range-hero.jc-unified-detail {
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
  gap:0!important;
  min-height:0!important;
  align-items:stretch!important;
  background:#fff;
}
.site-shell main .range-hero.jc-unified-detail .jc-unified-media {
  min-width:0!important;
  min-height:0!important;
  padding:clamp(18px,2.8vw,42px)!important;
  background:#f5f7f5!important;
  display:flex!important;
  flex-direction:column!important;
  gap:17px;
}
.site-shell main .range-hero.jc-unified-detail .jc-unified-copy {
  min-width:0!important;
  padding:clamp(26px,4.3vw,64px)!important;
  align-items:flex-start;
  justify-content:flex-start!important;
  gap:7px;
  background:#fff;
}
.site-shell main .jc-unified-copy .breadcrumbs {margin:0 0 22px!important;}
.site-shell main .jc-unified-copy h1 {font-size:clamp(36px,3.8vw,58px)!important;margin:0 0 11px!important;}
.site-shell main .jc-unified-copy > p {font-size:15px!important;line-height:1.8!important;max-width:66ch!important;margin:6px 0 23px!important;color:#4e5c55!important;}
.site-shell main .jc-unified-copy .chips {margin:4px 0 8px!important;}
.site-shell main .jc-unified-slideshow {width:100%;min-width:0;}
.site-shell main .jc-unified-slideshow .slideshow-stage {
  height:auto!important;
  aspect-ratio:4/3;
  min-height:270px;
  max-height:620px;
  border-radius:14px;
  background:#e7ece7;
}
.site-shell main .jc-unified-slideshow .slideshow-image {object-fit:contain!important;}
.site-shell main .jc-unified-slideshow .slideshow-thumbs {padding-bottom:8px;}
.site-shell main .jc-unified-slideshow .slideshow-thumb {flex-basis:74px;height:66px;}
.site-shell main .jc-unified-slideshow .slideshow-info {padding:12px 2px 10px;}
.site-shell main .jc-unified-specifications {
  width:100%;
  margin-top:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #d9e2dc;
  border-radius:12px;
  color:#1e3128;
}
.site-shell main .jc-unified-specifications > summary {
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:16px 18px;
  font-size:14px;
  font-weight:800;
  list-style:none;
  user-select:none;
}
.site-shell main .jc-unified-specifications > summary::-webkit-details-marker {display:none;}
.site-shell main .jc-unified-specifications > summary:hover,
.site-shell main .jc-unified-specifications > summary:focus-visible {background:#eaf1ec;}
.site-shell main .jc-unified-specifications .jc-spec-toggle {color:#39765a;font-size:24px;line-height:1;transition:transform .2s;}
.site-shell main .jc-unified-specifications[open] .jc-spec-toggle {transform:rotate(180deg);}
.site-shell main .jc-unified-specifications .facts-grid {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px;
  padding:0 13px 13px;
}
.site-shell main .jc-unified-specifications .facts-grid > div {
  min-width:0;
  padding:12px;
  border-radius:9px;
  border:1px solid #e4eae6;
  background:#fafbfa;
}
.site-shell main .jc-unified-specifications dt {font-size:10px;color:#687d71;letter-spacing:.08em;}
.site-shell main .jc-unified-specifications dd {font-size:13px;font-weight:650;line-height:1.6;}
.site-shell main .jc-colour-choices {display:flex;flex-wrap:wrap;gap:7px;}
.site-shell main .jc-color-choice {
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid #e0e7e1;border-radius:99px;
  padding:3px 8px 3px 5px;
  background:#fff;
  font-size:12px;
  white-space:nowrap;
}
.site-shell main .jc-color-dot {
  width:13px;height:13px;border-radius:50%;
  border:1px solid #bbc4bd;
  flex:none;
}
.site-shell main .jc-unified-sheet {padding-top:38px!important;padding-bottom:46px!important;}
/* Modernised consistent range cards, without removing range summaries. */
.site-shell main .jc-unified-range-card {
  border:1px solid #dfe7e1;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 2px 9px rgba(15,35,24,.035);
}
.site-shell main .jc-unified-range-card:hover {box-shadow:0 12px 32px rgba(15,35,24,.13);transform:translateY(-3px);}
.site-shell main .jc-unified-range-card .range-card-image {aspect-ratio:1.18/1;}
.site-shell main .jc-unified-range-card .range-card-body {padding:16px 18px 20px;}
.site-shell main .jc-unified-range-card .mini-label {color:#43816a;}
.site-shell main .jc-unified-range-card h3 {font-size:clamp(19px,2vw,25px);}
.site-shell main .jc-unified-range-card .range-card-specs,
.site-shell main .jc-unified-range-card .range-card-sizes {min-height:0!important;margin:5px 0!important;}
.site-shell main .jc-unified-range-card .text-link {display:inline-block;margin-top:8px;}
@media(max-width:1100px) {
 .site-shell main .range-hero.jc-unified-detail {grid-template-columns:1fr!important;}
 .site-shell main .range-hero.jc-unified-detail .jc-unified-copy {padding:32px 28px!important;}
 .site-shell main .jc-unified-slideshow .slideshow-stage {max-height:540px;}
}
@media(max-width:620px) {
 .site-shell main .range-hero.jc-unified-detail .jc-unified-media {padding:15px!important;}
 .site-shell main .range-hero.jc-unified-detail .jc-unified-copy {padding:25px 20px!important;}
 .site-shell main .jc-unified-specifications .facts-grid {grid-template-columns:1fr!important;}
 .site-shell main .jc-unified-slideshow .slideshow-stage {min-height:220px;}
 .site-shell main .jc-unified-slideshow .slideshow-thumb {flex-basis:62px;height:57px;}
 .site-shell main .jc-unified-sheet {padding:22px 14px!important;}
 .site-shell main .jc-unified-range-card .range-card-body p {display:block!important;min-height:0!important;}
}

/* BEGIN_JC_LABS_VPS_HORIZONTAL_PRODUCT_CARDS_20261103 */
/* Products listing only: VPS-style photo-left/details-right cards.
   Intentionally leaves sidebar, filters, menus, product details and portal untouched. */
.site-shell main .products-list #catalogueGrid.range-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
}
.site-shell main .products-list #catalogueGrid > article.range-card {
  display: grid !important;
  grid-template-columns: minmax(0, 42%) minmax(0, 58%) !important;
  min-width: 0 !important;
  min-height: 228px !important;
  overflow: hidden !important;
  border: 1px solid #dfe5e0 !important;
  border-radius: 9px !important;
  background: #fff !important;
}
.site-shell main .products-list #catalogueGrid > article.range-card > a.range-card-image,
.site-shell main .products-list #catalogueGrid > article.range-card.jc-unified-range-card > a.range-card-image {
  display: block !important;
  position: relative !important;
  align-self: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 228px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #ecefec !important;
}
.site-shell main .products-list #catalogueGrid > article.range-card > a.range-card-image > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.site-shell main .products-list #catalogueGrid > article.range-card > .range-card-body,
.site-shell main .products-list #catalogueGrid > article.range-card.jc-unified-range-card > .range-card-body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 0 !important;
  min-width: 0 !important;
  padding: 19px 20px !important;
}
.site-shell main .products-list #catalogueGrid > article.range-card .mini-label {
  color: #648b43 !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
}
.site-shell main .products-list #catalogueGrid > article.range-card h3 {
  font-size: clamp(20px, 2vw, 27px) !important;
  line-height: 1.12 !important;
  margin: 6px 0 10px !important;
  overflow-wrap: anywhere !important;
}
.site-shell main .products-list #catalogueGrid > article.range-card .range-card-specs,
.site-shell main .products-list #catalogueGrid > article.range-card .range-card-sizes {
  display: block !important;
  min-height: 0 !important;
  margin: 4px 0 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  color: #646f68 !important;
  overflow-wrap: anywhere !important;
}
.site-shell main .products-list #catalogueGrid > article.range-card .range-card-body > p:not(.range-card-specs):not(.range-card-sizes) {
  display: none !important;
}
.site-shell main .products-list #catalogueGrid > article.range-card .text-link {
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  margin-top: 15px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
/* Collapse to one comfortable horizontal card per row when the sidebar reduces space. */
@media (max-width: 1279px) {
  .site-shell main .products-list #catalogueGrid.range-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 720px) {
  .site-shell main .products-list #catalogueGrid > article.range-card {
    grid-template-columns: minmax(0, 40%) minmax(0, 60%) !important;
    min-height: 180px !important;
  }
  .site-shell main .products-list #catalogueGrid > article.range-card > a.range-card-image,
  .site-shell main .products-list #catalogueGrid > article.range-card.jc-unified-range-card > a.range-card-image {
    min-height: 180px !important;
  }
  .site-shell main .products-list #catalogueGrid > article.range-card > .range-card-body,
  .site-shell main .products-list #catalogueGrid > article.range-card.jc-unified-range-card > .range-card-body {
    padding: 13px 14px !important;
  }
  .site-shell main .products-list #catalogueGrid > article.range-card h3 {
    font-size: 21px !important;
  }
}
@media (max-width: 470px) {
  .site-shell main .products-list #catalogueGrid > article.range-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .site-shell main .products-list #catalogueGrid > article.range-card > a.range-card-image,
  .site-shell main .products-list #catalogueGrid > article.range-card.jc-unified-range-card > a.range-card-image {
    height: 205px !important;
    min-height: 205px !important;
  }
  .site-shell main .products-list #catalogueGrid > article.range-card > .range-card-body,
  .site-shell main .products-list #catalogueGrid > article.range-card.jc-unified-range-card > .range-card-body {
    padding: 17px 18px !important;
  }
}
/* END_JC_LABS_VPS_HORIZONTAL_PRODUCT_CARDS_20261103 */

/* BEGIN_JC_LABS_HOMEPAGE_IMAGE_SIZES_20261103 */
/* Homepage only. Hero photo is half its original 650px height. */
.site-shell main > .hero {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  min-height: 0 !important;
  align-items: center;
  gap: clamp(16px, 2vw, 30px);
  padding: clamp(20px, 2.2vw, 34px);
}
.site-shell main > .hero > .hero-copy {
  min-width: 0;
  padding: clamp(16px, 1.7vw, 28px) !important;
}
.site-shell main > .hero .hero-copy h1 {
  font-size: clamp(34px, 3vw, 50px);
  line-height: 1.04;
}
.site-shell main > .hero > .hero-photo {
  position: relative;
  min-height: 0 !important;
  height: 325px !important;
  max-height: 325px !important;
  width: 100%;
  align-self: center;
  border-radius: 12px;
  overflow: hidden;
}
.site-shell main > .hero > .hero-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* Homepage Featured Collections and Latest Additions photos only. */
.site-shell main > .hero ~ .section .range-grid .range-card > .range-card-image {
  display: block;
  height: 205px !important;
  min-height: 0 !important;
  max-height: 205px !important;
  aspect-ratio: auto !important;
  overflow: hidden;
}
.site-shell main > .hero ~ .section .range-grid.compact .range-card > .range-card-image {
  height: 190px !important;
  max-height: 190px !important;
}
.site-shell main > .hero ~ .section .range-grid .range-card > .range-card-image > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
@media (max-width: 980px) {
  .site-shell main > .hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px;
  }
  .site-shell main > .hero > .hero-copy {
    padding: 16px 12px !important;
  }
  .site-shell main > .hero > .hero-photo {
    height: 240px !important;
    max-height: 240px !important;
  }
}
@media (max-width: 600px) {
  .site-shell main > .hero {padding: 16px;}
  .site-shell main > .hero > .hero-photo {
    height: 220px !important;
    max-height: 220px !important;
  }
  .site-shell main > .hero ~ .section .range-grid .range-card > .range-card-image,
  .site-shell main > .hero ~ .section .range-grid.compact .range-card > .range-card-image {
    height: 180px !important;
    max-height: 180px !important;
  }
}
/* END_JC_LABS_HOMEPAGE_IMAGE_SIZES_20261103 */

/* BEGIN_JC_LABS_HOME_NARROW_CARDS_20261103 */
/* Homepage only: centre narrower tile-collection cards; retain existing image heights. */
.site-shell main > .hero ~ .section .range-grid {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  justify-content: center;
}
.site-shell main > .hero ~ .section .range-grid.compact {
  max-width: 1320px;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
/* Remove the obsolete Open collection finder control from the homepage. */
.site-shell main > .hero #heroCollections {
  display: none !important;
}
/* When the sidebar leaves less room, keep cards readable rather than squeezing them. */
@media (max-width: 1350px) {
  .site-shell main > .hero ~ .section .range-grid,
  .site-shell main > .hero ~ .section .range-grid.compact {
    max-width: 900px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 620px) {
  .site-shell main > .hero ~ .section .range-grid,
  .site-shell main > .hero ~ .section .range-grid.compact {
    max-width: 430px;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* END_JC_LABS_HOME_NARROW_CARDS_20261103 */

/* BEGIN_JC_LABS_HERO_UNCROP_20261103 */
/* Homepage hero only. Keep its compact height; display the complete photo. */
.site-shell main > .hero > .hero-photo {
  background: var(--paper, #f7f8f6);
}
.site-shell main > .hero > .hero-photo > img {
  object-fit: contain !important;
  object-position: center center !important;
}
/* END_JC_LABS_HERO_UNCROP_20261103 */

/* BEGIN_JC_LABS_HERO_50_50_20261103 */
/* Homepage hero: equal-width text and image columns. No image cropping. */
.site-shell main > .hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  min-height: 0 !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 !important;
}
.site-shell main > .hero > .hero-copy {
  width: 100%;
  min-width: 0;
  padding: clamp(24px, 3vw, 60px) !important;
}
.site-shell main > .hero > .hero-photo {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  align-self: center !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.site-shell main > .hero > .hero-photo > img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
}
/* On narrower screens, stack the two halves so the text remains readable. */
@media (max-width: 1100px) {
  .site-shell main > .hero {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .site-shell main > .hero > .hero-copy {
    padding: 24px !important;
  }
  .site-shell main > .hero > .hero-photo {
    width: min(100%, 560px) !important;
    margin-inline: auto;
  }
}
/* END_JC_LABS_HERO_50_50_20261103 */

/* BEGIN_JC_LABS_HERO_WIDE_BOTTOM_20261103 */
/* 50/50 layout, hero image fills the right half, cropped wider, biased lower to show more bottom. */
@media (min-width: 1101px) {
  .site-shell main > .hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    min-height: 0 !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 20px 28px !important;
  }
  .site-shell main > .hero > .hero-copy {
    padding: 18px 20px !important;
  }
  .site-shell main > .hero > .hero-photo {
    width: 100% !important;
    height: 580px !important;
    max-height: 580px !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    overflow: hidden !important;
    position: relative !important;
    background: transparent !important;
  }
  .site-shell main > .hero > .hero-photo > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 85% !important;
  }
  .site-shell main > .hero > .hero-photo > .hero-badge {
    left: 12px !important;
    bottom: 10px !important;
  }
}
@media (max-width: 1100px) {
  .site-shell main > .hero > .hero-photo {
    height: 380px !important;
    max-height: 380px !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    overflow: hidden !important;
  }
  .site-shell main > .hero > .hero-photo > img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 78% !important;
  }
}
@media (max-width: 600px) {
  .site-shell main > .hero > .hero-photo {
    height: 280px !important;
    max-height: 280px !important;
  }
  .site-shell main > .hero > .hero-photo > img {
    object-position: center 75% !important;
  }
}
/* END_JC_LABS_HERO_WIDE_BOTTOM_20261103 */

/* BEGIN_JC_LABS_FEATURED_IMAGE_ROW_20261103 */
/* Homepage only: remove the hero caption overlay and show featured collections as a single image-link strip. */
.site-shell main > .hero .hero-badge {
  display: none !important;
}
/* The first section after the hero is Featured Collections, not Latest Additions. */
.site-shell main > .hero + .section > .section-heading {
  display: none !important;
}
.site-shell main > .hero + .section {
  padding-top: 28px !important;
  padding-bottom: 32px !important;
}
.site-shell main > .hero + .section > .range-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 3px 2px 14px !important;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.site-shell main > .hero + .section > .range-grid > .range-card {
  flex: 0 0 clamp(215px, 23vw, 320px) !important;
  width: clamp(215px, 23vw, 320px) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  scroll-snap-align: start;
  cursor: pointer;
}
.site-shell main > .hero + .section > .range-grid > .range-card > .range-card-body {
  display: none !important;
}
.site-shell main > .hero + .section > .range-grid > .range-card > .range-card-image {
  display: block !important;
  width: 100% !important;
  height: 210px !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  outline-offset: -4px;
}
.site-shell main > .hero + .section > .range-grid > .range-card > .range-card-image > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.site-shell main > .hero + .section > .range-grid > .range-card > .range-card-image:focus-visible {
  outline: 3px solid #1c5b4b !important;
}
@media (max-width: 620px) {
  .site-shell main > .hero + .section {
    padding: 20px 16px 26px !important;
  }
  .site-shell main > .hero + .section > .range-grid > .range-card {
    flex-basis: min(70vw, 260px) !important;
    width: min(70vw, 260px) !important;
  }
  .site-shell main > .hero + .section > .range-grid > .range-card > .range-card-image {
    height: 170px !important;
  }
}
/* END_JC_LABS_FEATURED_IMAGE_ROW_20261103 */

/* BEGIN_JC_LABS_PRODUCT_FILTER_VISIBILITY_FIX_20261103 */
/* The product-card layout sets display:grid!important. Honour the native [hidden]
   attribute that the existing search and facet-filter JavaScript toggles. */
.site-shell main .products-list #catalogueGrid > article.range-card[hidden] {
  display: none !important;
}
/* END_JC_LABS_PRODUCT_FILTER_VISIBILITY_FIX_20261103 */

/* BEGIN_JC_LABS_LATEST_IMAGE_ONLY_SPACING_20261103 */
/* Homepage: give the featured strip breathing room before the recent images. */
.site-shell main > .hero + .section + .section.soft {
  margin-top: 76px !important;
  padding-top: 34px !important;
}
/* Recent cards are image links only; hide the fallback heading and card copy. */
.site-shell main > .hero + .section + .section.soft > .section-heading {
  display: none !important;
}
.site-shell main > .hero + .section + .section.soft > .range-grid.compact > .range-card > .range-card-body {
  display: none !important;
}
.site-shell main > .hero + .section + .section.soft > .range-grid.compact > .range-card {
  overflow: hidden !important;
  border-radius: 12px !important;
}
.site-shell main > .hero + .section + .section.soft > .range-grid.compact > .range-card > .range-card-image {
  display: block !important;
  height: 205px !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 12px !important;
}
.site-shell main > .hero + .section + .section.soft > .range-grid.compact > .range-card > .range-card-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 680px) {
  .site-shell main > .hero + .section + .section.soft {
    margin-top: 48px !important;
    padding-top: 20px !important;
  }
  .site-shell main > .hero + .section + .section.soft > .range-grid.compact > .range-card > .range-card-image {
    height: 170px !important;
  }
}
/* END_JC_LABS_LATEST_IMAGE_ONLY_SPACING_20261103 */

/* BEGIN_JC_LABS_RECENT_HEADING_PORTAL_FIX_20261103 */
.site-shell main > .hero + .section + .section.soft > .section-heading {
  display: flex !important;
}
/* END_JC_LABS_RECENT_HEADING_PORTAL_FIX_20261103 */
