/* =========================================================
   Products page
   - made-to-specification intro with product pills
   - one screen per product: photos part to reveal it
   - product emblems that act out what each product does
   - woven grades with an illustrative weave viewer
   - coir log specification diagram, allied range
   ========================================================= */

/* ---------- Made to specification ---------- */
.spec .eyebrow{display:block;text-align:center;margin-bottom:22px}
.spec-h{font-size:clamp(30px,3.6vw,52px);line-height:1.25;text-align:center;max-width:1040px;margin:0 auto;color:var(--green)}
.pill{display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:.92em;border:1.5px solid var(--bronze);border-radius:999px;vertical-align:middle;margin:0 .12em;overflow:hidden;position:relative;top:-.06em}
.pill svg{width:78%;height:78%;fill:none;stroke:var(--bronze);stroke-width:2;stroke-linecap:round}
.pill-weave .w{animation:weaveSlide 3.2s linear infinite}
@keyframes weaveSlide{from{transform:translateX(0)}to{transform:translateX(60px)}}
.pill-log svg{stroke-width:1.8}
.pill-log .spin{transform-box:fill-box;transform-origin:center;animation:logSpin 4s linear infinite}
@keyframes logSpin{to{transform:rotate(360deg)}}
.spec-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;margin-top:64px;align-items:start;max-width:1040px;margin-left:auto;margin-right:auto}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start}
.chips li{border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:500;color:var(--green);background:var(--white);transition:border-color .4s var(--out),background-color .4s var(--out),color .4s var(--out)}
.chips li:hover{border-color:var(--bronze);background:var(--cream)}
.spec-copy{gap:18px}
.spec-copy p{font-size:16.5px;line-height:1.75;color:var(--ink);margin:0}

/* ---------- The range: one screen per product ---------- */
.spread{position:relative;overflow:hidden;padding:110px 0}
.spread-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px) minmax(0,1fr);align-items:center;gap:48px}
.sp-img{margin:0;aspect-ratio:4/5;max-height:64vh;width:100%;justify-self:center;background-size:cover;background-position:center;box-shadow:0 30px 60px rgba(0,0,0,.35);border-radius:6px;display:flex;align-items:flex-end;justify-content:flex-start;padding:14px;transition:transform 1.3s var(--out),opacity 1s var(--out);will-change:transform}
.sp-img span{font-size:10.5px}
.sp-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;transition:opacity .9s var(--out) .35s,transform 1.1s var(--out) .35s}
.sp-copy h2{font-size:clamp(34px,3.4vw,50px);line-height:1.05;color:var(--white);margin:0}
.sp-copy p{margin:0;font-size:16px;line-height:1.65}
.sp-specs{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.sp-specs li{font-size:12.5px;letter-spacing:.04em;padding:6px 12px;border:1px solid rgba(176,133,80,.55);color:#E4D3BC;border-radius:999px}
.sp-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}
/* before the screen arrives: photos stacked in the middle, copy hidden */
html.js .spread:not(.in) .sp-l{transform:translateX(62%) rotate(0deg) scale(.92)}
html.js .spread:not(.in) .sp-r{transform:translateX(-62%) rotate(0deg) scale(.92)}
html.js .spread:not(.in) .sp-copy{opacity:0;transform:scale(.94)}
.spread.in .sp-l{transform:rotate(-3deg)}
.spread.in .sp-r{transform:rotate(3deg)}
.spread.in .sp-l:hover,.spread.in .sp-r:hover{transform:rotate(0) scale(1.02);transition-duration:.7s}

/* ---------- Product emblems (play once when the product arrives) ---------- */
.emblem{width:150px;height:68px;fill:none;stroke:var(--bronze);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:4px}
.emblem .ground{stroke:rgba(176,133,80,.45);stroke-width:1.5}
/* woven: warp lines drop in, then the weft is woven across */
.em-weave line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .7s var(--out)}
.em-weave .warp line{transition-delay:calc(var(--d) * 70ms)}
.em-weave .weft line{transition-duration:.9s;transition-delay:calc(450ms + var(--d) * 160ms)}
.spread.in .em-weave line{stroke-dashoffset:0}
/* coir log: rolls into place, then is staked */
.em-log .roll{transform:translateX(-46px);opacity:0;transition:transform 1.4s cubic-bezier(.2,.8,.25,1),opacity .5s}
.em-log .end{transform-box:fill-box;transform-origin:center;transform:rotate(-200deg);transition:transform 1.4s cubic-bezier(.2,.8,.25,1)}
.em-log .net{stroke-width:1.2;opacity:.7}
.em-log .stakes{transform:translateY(-16px);opacity:0;transition:transform .5s cubic-bezier(.3,1.4,.5,1) 1.3s,opacity .3s 1.3s}
.spread.in .em-log .roll{transform:none;opacity:1}
.spread.in .em-log .end{transform:none}
.spread.in .em-log .stakes{transform:none;opacity:1}
/* blanket: unrolls across the ground, then seed shows */
.em-blanket .sheet{fill:rgba(176,133,80,.28);stroke:var(--bronze);stroke-width:1.2;transform-box:fill-box;transform-origin:left center;transform:scaleX(0);transition:transform 1.5s cubic-bezier(.3,.7,.3,1)}
.em-blanket .roll{transition:transform 1.5s cubic-bezier(.3,.7,.3,1)}
.em-blanket .seeds circle{fill:var(--bronze);stroke:none;opacity:0;transition:opacity .4s calc(1.4s + var(--d) * 70ms)}
.spread.in .em-blanket .sheet{transform:none}
.spread.in .em-blanket .roll{transform:translateX(120px)}
.spread.in .em-blanket .seeds circle{opacity:1}
/* silt fence: stakes go in, fence is strung, silt settles behind it */
.em-fence .stakes line{transform:translateY(-14px);opacity:0;transition:transform .45s cubic-bezier(.3,1.4,.5,1) calc(var(--d) * 150ms),opacity .3s calc(var(--d) * 150ms)}
.em-fence .fence{stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .6s var(--out) .45s}
.em-fence .silt circle{fill:var(--bronze);stroke:none;opacity:0;transform:translateY(-12px);transition:transform .6s cubic-bezier(.3,1.3,.5,1) calc(1s + var(--d) * 90ms),opacity .3s calc(1s + var(--d) * 90ms)}
.spread.in .em-fence .stakes line,.spread.in .em-fence .silt circle{transform:none;opacity:1}
.spread.in .em-fence .fence{stroke-dashoffset:0}

/* ---------- Woven grades + weave viewer ---------- */
.gr-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
.gr-table tbody tr{cursor:pointer;transition:background-color .35s var(--out)}
.gr-table tbody tr:hover{background:rgba(176,133,80,.06)}
.gr-table tbody tr.on{background:rgba(176,133,80,.13)}
.gr-table td.g button{font:inherit;font-weight:600;color:var(--green);background:none;border:0;padding:0;cursor:pointer;text-align:left}
.gr-table tbody tr.on td.g button{color:var(--bronze-text)}
.gr-table tbody tr.on td.g button::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--bronze);margin-right:8px;vertical-align:middle}
.weave-view{margin:0;background:var(--white);border-top:3px solid var(--bronze);padding:18px;box-shadow:0 18px 40px rgba(19,40,31,.07)}
.weave-view svg{display:block;width:100%;height:auto;border-radius:3px}
.weave-view .soil{fill:#6B4E33}
.weave-view .yarn line{stroke:#D9B98C;stroke-linecap:round;transition:all .6s var(--out)}
.weave-view figcaption{display:flex;flex-direction:column;gap:2px;margin-top:12px}
.weave-view .wv-g{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--green);line-height:1.1}
.weave-view figcaption span{font-size:12px;color:var(--muted)}
.gr-foot{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:30px}
.gr-foot p{margin:0;max-width:720px;font-size:14.5px;line-height:1.65;color:var(--muted)}

/* ---------- Coir log specification ---------- */
.ls-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.log-diagram{margin:0}
.log-diagram svg{width:100%;height:auto;display:block}
.lg-body rect{fill:#B48A5A;stroke:#8A6337;stroke-width:2}
.lg-net{stroke:#6E4C28;stroke-width:1.6;fill:none;opacity:.6}
.lg-end{fill:#C9A06A;stroke:#8A6337;stroke-width:2}
.lg-fibre{fill:none;stroke:#8A6337;stroke-width:1.4;opacity:.8}
.dim path{stroke:var(--green);stroke-width:1.6;fill:none}
.dim text{font-family:var(--serif);font-size:22px;font-weight:700;fill:var(--green)}
.log-diagram .lg-body{transform:translateX(-30px);opacity:0;transition:transform 1.2s var(--out),opacity .8s}
.log-diagram .dim{opacity:0;transition:opacity .8s .9s}
.log-diagram.in .lg-body{transform:none;opacity:1}
.log-diagram.in .dim{opacity:1}
.ls-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ls-list li{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.ls-list li:last-child{border-bottom:1px solid var(--line)}
.ls-list .n{font-family:var(--serif);font-size:24px;color:var(--bronze-text);line-height:1.2}
.ls-list h3{margin:0 0 4px;font-size:19px;color:var(--green)}
.ls-list p{margin:0;font-size:14.5px;line-height:1.6;color:var(--muted)}

/* ---------- Allied range ---------- */
.al-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.al-card{background:var(--white);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);min-height:300px}
.al-img{background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:12px}
.al-copy{padding:28px;display:flex;flex-direction:column;gap:10px}
.al-copy h3{margin:0;font-size:24px;color:var(--green)!important}
.bg-deep .al-copy p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink)}
.al-copy .eyebrow{color:var(--bronze-text)!important}
.al-link{margin-top:auto;font-weight:600;font-size:14px;color:var(--green);text-decoration:none;background:linear-gradient(var(--bronze),var(--bronze)) left bottom/0 2px no-repeat;padding-bottom:3px;align-self:flex-start;transition:background-size .5s var(--out)}
.al-link:hover{background-size:100% 2px}

/* ---------- Paged desktop on shorter screens ---------- */
@media (max-height:900px){
  html.paged .sp-img{max-height:56vh}
  html.paged .spec-grid{margin-top:40px}
  html.paged .al-card{min-height:250px}
}

/* ---------- Tablets and phones ---------- */
@media (max-width:960px){
  .spread{padding:80px 0}
  .spread-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .sp-copy{grid-column:1 / -1;grid-row:2;margin-top:18px}
  .sp-img{max-height:none}
  html.js .spread:not(.in) .sp-l{transform:translateX(30%) scale(.94)}
  html.js .spread:not(.in) .sp-r{transform:translateX(-30%) scale(.94)}
  .spec-grid,.ls-grid,.gr-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .weave-view{max-width:340px}
  .gr-foot{flex-direction:column;align-items:flex-start}
  .al-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .al-card{grid-template-columns:minmax(0,1fr)}
  .al-img{min-height:200px}
  .spec-h{font-size:27px}
  .sp-img{aspect-ratio:3/4}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html.js .spread:not(.in) .sp-l,html.js .spread:not(.in) .sp-r,html.js .spread:not(.in) .sp-copy{transform:none;opacity:1}
  .pill-weave .w,.pill-log .spin{animation:none}
  .emblem *,.log-diagram *{transition:none!important;transform:none!important;opacity:1!important;stroke-dashoffset:0!important}
}

/* Section breathing room, clear of the fixed header */
.spec,.grades,.logspec,.allied{padding:110px 0}
.gr-table td:nth-child(4),.gr-table td:nth-child(5),.gr-table th:nth-child(5){white-space:nowrap}
@media (max-width:960px){.spec,.grades,.logspec,.allied{padding:96px 0 72px}}
@media (max-height:980px){
  html.paged .gr-table th,html.paged .gr-table td{padding-top:12px;padding-bottom:12px}
  html.paged .gr-foot{margin-top:20px}
  html.paged .grades .sec-head{margin-bottom:24px}
}

/* =========================================================
   Product pages (products/<product>/)
   ========================================================= */
.pintro,.pbenefits,.options,.papps,.pfaq,.talk,.related{padding:110px 0}

/* ---------- Overview ---------- */
.pi-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}
.pi-copy{display:flex;flex-direction:column;gap:18px}
.pi-h{font-size:clamp(34px,3.6vw,54px);line-height:1.1;color:var(--green);margin:0;font-weight:500}
.pi-h b{font-weight:700}
.pi-copy p{margin:0;font-size:16.5px;line-height:1.75;color:var(--ink)}
.pi-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.pi-art{position:relative}
.pi-photo{aspect-ratio:5/4;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:14px}
.pi-emblem{position:absolute;left:-28px;bottom:-28px;background:var(--green-deep);padding:18px 22px;box-shadow:0 20px 40px rgba(19,40,31,.25)}
.pi-emblem .emblem{display:block;margin:0}

/* ---------- Benefits: a slow looping row of cards, then the big outline line ---------- */
.pbenefits{overflow:hidden}
.pbenefits .fs,.pbenefits{flex-direction:column;justify-content:center}
.bmarq{display:flex;width:max-content;margin-top:8px}
.bm-track{display:flex;gap:20px;padding:0 10px;margin:0;list-style:none;animation:bmMove 48s linear infinite}
.bmarq:hover .bm-track{animation-play-state:paused}
@keyframes bmMove{to{transform:translateX(-100%)}}
.bcard{width:260px;min-height:230px;background:var(--green-deep);color:#C9D4CE;padding:26px 24px;display:flex;flex-direction:column;gap:10px;transition:transform .5s var(--out),background-color .5s var(--out)}
.bcard svg{color:var(--bronze);margin-bottom:8px}
.bcard h3{margin:0;font-size:19px;color:var(--white)!important}
.bcard p{margin:0;font-size:14px;line-height:1.6;color:#B8C6BE!important}
.bcard:hover{transform:translateY(-6px);background:var(--green)}
.bigline{white-space:nowrap;margin-top:48px;font-family:var(--serif);font-weight:700;font-size:clamp(56px,8vw,120px);line-height:1;color:transparent;-webkit-text-stroke:1.2px rgba(19,40,31,.28);letter-spacing:.04em}
.bigline span{display:inline-block;will-change:transform}

/* ---------- Options ---------- */
.opt-grid{display:grid;gap:26px;grid-template-columns:repeat(4,minmax(0,1fr))}
.opt-grid.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.opt-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}
.opt{display:flex;flex-direction:column;gap:6px}
.opt-vis{position:relative;aspect-ratio:1/1;overflow:hidden;margin-bottom:12px}
.opt-sw,.opt-ph{display:block;width:100%;height:100%;transition:transform 1s var(--out)}
.opt-ph{background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:12px}
.opt:hover .opt-sw,.opt:hover .opt-ph{transform:scale(1.06)}
.opt-cta{position:absolute;left:0;right:0;bottom:0;background:var(--bronze);color:var(--green-deep);text-align:center;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:12px;transform:translateY(100%);transition:transform .5s var(--out)}
.opt:hover .opt-cta,.opt-cta:focus-visible{transform:none}
.opt-k{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--bronze)}
.opt h3{margin:0;font-size:22px}
.opt p{margin:0;font-size:14.5px;line-height:1.55}
.opt-note{margin:28px 0 0;font-size:13.5px;color:#9FB2A7!important}

/* ---------- Applications ---------- */
.papps{overflow:hidden;flex-direction:column;justify-content:center}
.pa-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:end;margin-bottom:44px}
.pa-h{font-size:clamp(26px,2.6vw,38px);line-height:1.3;color:var(--green);margin:0;font-weight:500}
.pa-disc{display:flex;flex-direction:column;gap:10px}
.pa-disc p{margin:0;font-size:15px;line-height:1.65;color:var(--muted)}
.pa-disc ul{margin:4px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;font-size:14px;color:var(--green);font-weight:500}
.pa-disc li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--bronze);margin-right:8px;vertical-align:middle}
.pa-marq{display:flex;width:max-content}
.pa-track{display:flex;gap:18px;padding:0 9px;margin:0;list-style:none;animation:bmMove 60s linear infinite}
.pa-marq:hover .pa-track{animation-play-state:paused}
.pa-track li{width:280px;position:relative}
.ap-img{aspect-ratio:4/5;background-size:cover;background-position:center;display:flex;align-items:flex-start;padding:12px;transition:filter .5s}
.pa-track li::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(transparent,rgba(13,28,21,.85));pointer-events:none}
.pa-track .ap-k,.pa-track strong{position:absolute;left:18px;z-index:1}
.pa-track .ap-k{bottom:46px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze)}
.pa-track strong{bottom:18px;font-family:var(--serif);font-size:24px;color:var(--white)}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:56px;align-items:start}
.faq-i{border-top:1px solid rgba(255,255,255,.12)}
.faq-i:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.faq-i summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-weight:600;font-size:16.5px;color:var(--white)}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary:hover{color:var(--bronze)}
.pm{position:relative;flex:0 0 18px;height:18px}
.pm::before,.pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--bronze);transition:transform .4s var(--out)}
.pm::after{transform:rotate(90deg)}
.faq-i[open] .pm::after{transform:rotate(0)}
.faq-a{overflow:hidden;transition:height .45s var(--out)}
.faq-a p{margin:0 0 20px;font-size:15px;line-height:1.7;max-width:640px}
.ask{background:var(--green);padding:34px 30px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;position:relative;overflow:hidden}
.ask-q{position:absolute;right:-10px;top:-40px;font-family:var(--serif);font-size:220px;font-weight:700;line-height:1;color:rgba(176,133,80,.22)}
.ask h3{margin:0;font-size:28px;position:relative}
.ask p{margin:0 0 6px;font-size:15px;line-height:1.6;position:relative}

/* ---------- Talk to the business head (no photo, goes to LinkedIn) ---------- */
.talk-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:center}
.talk-mark{aspect-ratio:1/1;background:var(--green-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;position:relative;overflow:hidden;background-image:repeating-linear-gradient(0deg,rgba(176,133,80,.08) 0 2px,transparent 2px 22px),repeating-linear-gradient(90deg,rgba(176,133,80,.08) 0 2px,transparent 2px 22px)}
.talk-mark img{width:42%;height:auto}
.talk-mark span{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);font-weight:600}
.talk-copy{display:flex;flex-direction:column;gap:16px}
.talk-copy h2{margin:0;color:var(--green)}
.talk-copy p{margin:0;font-size:16.5px;line-height:1.75;color:var(--ink);max-width:620px}
.talk-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px;max-width:620px}
.tt{display:flex;align-items:center;gap:14px;padding:20px 22px;background:var(--white);border:1px solid var(--line);color:var(--green);text-decoration:none;transition:transform .5s var(--spring),box-shadow .5s var(--out),border-color .4s}
.tt span{display:flex;flex-direction:column;font-weight:700;font-size:15.5px;line-height:1.3}
.tt small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.tt b{margin-left:auto;font-size:20px;color:var(--bronze);transition:transform .5s var(--spring)}
.tt:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(19,40,31,.12);border-color:var(--bronze)}
.tt:hover b{transform:translateX(5px)}
.tt-in svg{color:#0A66C2}
.tt-wa svg{color:#1F8A4C}

/* ---------- More from the range ---------- */
.rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.rel{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--green)}
.rel-img{aspect-ratio:4/3;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:12px;margin-bottom:10px}
.rel strong{font-family:var(--serif);font-size:26px;font-weight:600}
.rel em{font-style:normal;font-size:13.5px;font-weight:600;color:var(--bronze-text)}

@media (max-height:900px){
  html.paged .pintro,html.paged .pbenefits,html.paged .options,html.paged .papps,html.paged .pfaq,html.paged .talk,html.paged .related{padding:96px 0 56px}
  html.paged .bigline{margin-top:30px;font-size:clamp(48px,6.5vw,96px)}
  html.paged .bcard{min-height:200px}
  html.paged .pa-head{margin-bottom:28px}
  html.paged .ap-img{aspect-ratio:1/1}
  html.paged .opt-vis{aspect-ratio:4/3}
  html.paged .talk-mark{max-height:58vh;margin:0 auto;width:100%;max-width:58vh}
  html.paged .rel-img{aspect-ratio:16/10}
}
@media (max-width:960px){
  .pintro,.pbenefits,.options,.papps,.pfaq,.talk,.related{padding:96px 0 72px}
  .pi-grid,.pa-head,.faq-grid,.talk-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .pi-emblem{left:12px;bottom:-24px}
  .opt-grid,.opt-grid.n3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rel-grid{grid-template-columns:minmax(0,1fr)}
  .talk-mark{max-width:360px}
  .bcard{width:230px}
  .pa-track li{width:220px}
}
@media (max-width:560px){
  .opt-grid,.opt-grid.n3,.opt-grid.n2,.talk-tiles{grid-template-columns:minmax(0,1fr)}
  .pa-disc ul{grid-template-columns:minmax(0,1fr)}
  .opt-cta{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .bm-track,.pa-track{animation:none}
  .bmarq,.pa-marq{width:auto;overflow-x:auto}
  .bm-track[aria-hidden],.pa-track[aria-hidden]{display:none}
}
.pbenefits,.papps{align-items:flex-start}
.talk-copy h2{font-size:clamp(34px,3.4vw,52px);line-height:1.1}
.opt-sw{background-color:#6B4E33;background-image:repeating-linear-gradient(90deg,#D9B98C 0 var(--w),transparent var(--w) var(--g)),repeating-linear-gradient(0deg,#D9B98C 0 var(--w),transparent var(--w) var(--g))}

/* ---------- Single centred phrase under the benefit cards ---------- */
.bigline{align-self:stretch;width:100%;text-align:center;white-space:normal;margin:52px 0 0;padding:0 24px;font-family:var(--serif);font-weight:700;font-size:clamp(44px,6.4vw,104px);line-height:1;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1.5px rgba(19,40,31,.55)}
@supports not (-webkit-text-stroke:1px black){.bigline{color:rgba(19,40,31,.25)}}

/* ---------- Specification and comparison tables ---------- */
.pspec,.pcompare,.pinstall{padding:110px 0}
.tech-box{overflow-x:auto;background:var(--white);border-top:3px solid var(--bronze);box-shadow:0 18px 40px rgba(19,40,31,.07)}
.tech{width:100%;min-width:0;border-collapse:collapse;font-size:14.5px;line-height:1.45}
.tech th,.tech td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top;background:none;color:var(--ink);letter-spacing:normal}
.tech thead th{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);background:var(--cream);padding-top:15px;padding-bottom:15px}
.tech tbody th{font-weight:600;color:var(--green);width:24%}
.tech tbody tr::after{display:none}
.tech tbody tr:hover td,.tech tbody tr:hover th{background:rgba(176,133,80,.05)}
.tech td.tm{font-size:12.5px;color:var(--muted);white-space:nowrap}
.tech .hi{background:rgba(176,133,80,.09)!important;color:var(--green);font-weight:600}
.tech thead th.hi{color:var(--bronze-text)}
.tech .lot{font-size:12px;color:var(--muted);font-style:italic}
.tech-note{margin:18px 0 0;font-size:13px;line-height:1.6;color:var(--muted);max-width:820px}
.cmp-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:start}
.cmp2-h{margin:0 0 14px;font-size:22px;color:var(--green)}

/* ---------- Installation steps ---------- */
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:s}
.steps4 li{border-top:2px solid var(--bronze);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.steps4 .n{font-family:var(--serif);font-size:40px;line-height:1;color:var(--bronze)}
.steps4 h3{margin:0;font-size:20px}
.steps4 p{margin:0;font-size:14.5px;line-height:1.65}

@media (max-height:900px){
  html.paged .pspec,html.paged .pcompare,html.paged .pinstall{padding:96px 0 56px}
  html.paged .tech th,html.paged .tech td{padding-top:9px;padding-bottom:9px}
}
@media (max-width:960px){
  .pspec,.pcompare,.pinstall{padding:96px 0 72px}
  .steps4,.cmp-grid{grid-template-columns:minmax(0,1fr)}
  .tech{min-width:560px}
  .tech th,.tech td{padding:11px 12px;font-size:13.5px}
}

/* ---------- Big statement line: solid bronze, same serif ---------- */
.bigline{color:var(--bronze);-webkit-text-stroke:0}

/* ---------- Benefit and application rows that fit on screen sit still, centred ---------- */
.bmarq.still,.pa-marq.still{width:100%;justify-content:center}
.bmarq.still .bm-track,.pa-marq.still .pa-track{animation:none;flex-wrap:wrap;justify-content:center}

/* ---------- Let's talk: the mark without its dark panel ---------- */
.talk-mark{background:none;background-image:none;aspect-ratio:auto;padding:24px 0;gap:18px}
.talk-mark img{width:min(46%,220px)}
.talk-mark span{color:var(--green);font-size:13px;letter-spacing:.3em}

/* ---------- Lot testing ---------- */
.ptest{padding:110px 0}
.test-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:start}
.labs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.lab{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.lab:last-child{border-bottom:1px solid var(--line)}
.lab .n{font-family:var(--serif);font-size:24px;color:var(--bronze-text);line-height:1.2}
.lab h3{margin:0;font-size:18px;color:var(--green)}
.lab-k{display:block;margin:3px 0 6px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--bronze-text)}
.lab p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.ptest .tech td.tm{white-space:normal}
@media (max-height:900px){html.paged .ptest{padding:96px 0 56px} html.paged .lab{padding:11px 0}}
@media (max-width:960px){.ptest{padding:96px 0 72px}.test-grid{grid-template-columns:minmax(0,1fr)}}

/* "View details" link under each option card (links to the grade page) */
.opt-more{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);min-height:44px}
.opt-more span{transition:transform .3s}
.opt-more:hover span{transform:translateX(4px)}
@media (max-width:560px){
  .opt-grid,.opt-grid.n3,.opt-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .opt h3{font-size:18px}
  .opt p{font-size:13.5px}
  .opt-cta{font-size:11px;letter-spacing:.12em;padding:10px 6px}
}

/* language links on English family pages */
.lang-alt{margin-top:14px;font-size:13.5px;letter-spacing:.04em;color:rgba(255,255,255,.85)}
.lang-alt a{color:#fff;font-weight:600;padding:10px 2px;display:inline-block}
.lang-alt a:hover{color:var(--bronze)}
