/* Scoped to the approved Private Label module; surrounding site tokens remain intact. */
.pl-section { --pl-bg:#eef4f2; --pl-teal:#08797b; --pl-muted:#526b8a; --pl-gutter:clamp(20px,5vw,72px); padding:clamp(72px,9vw,124px) 0 0; background:var(--pl-bg); scroll-margin-top:112px; }
.pl-shell { padding-inline:var(--pl-gutter); }
.pl-top { display:grid; grid-template-columns:minmax(0,2.3fr) minmax(0,1fr); gap:16px; align-items:stretch; }
.pl-stage { position:relative; min-width:0; isolation:isolate; }
.pl-copy { position:relative; z-index:1; width:60%; padding:0; }
/* Keep copy readable over the full-size packaging image without shrinking it. */
.pl-copy h2, .pl-intro, .pl-moq { background:var(--pl-bg); }
.pl-eyebrow { margin:0 0 18px; color:var(--gold); font-size:clamp(15px,1.1vw,20px); line-height:1.25; font-weight:800; text-transform:uppercase; }
.pl-copy h2 { margin:0 0 18px; line-height:1.04; letter-spacing:0; font-weight:800; white-space:pre-line; max-width:700px; }
.pl-intro { margin:0 0 20px; font-size:clamp(14px,1.05vw,17px); line-height:1.5; color:var(--pl-muted); }
.pl-moq { display:inline-block; margin:0 0 18px; color:#087178; font-size:clamp(15px,1.25vw,20px); line-height:1.5; font-weight:750; padding:7px 10px; border:2px solid #b77804; border-radius:50%; }
.pl-cta { display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:16px 22px; min-height:52px; background:var(--coral); color:white; font-size:22px; font-weight:750; border-radius:6px; line-height:1.4; transition:background .15s ease; }
.pl-cta:hover { background:#b83e2b; }
.pl-cta:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.pl-cta img { width:23px; height:23px; filter:invert(1); }
.pl-hero { position:relative; z-index:0; display:block; width:66%; height:auto; margin:-300px 0 0 34%; }
.pl-selector { background:white; border-radius:12px; padding:24px 20px 14px; min-width:0; }
.pl-selector h3 { margin:0 0 10px; font-size:clamp(24px,2.5vw,38px); line-height:1.08; letter-spacing:-.025em; }
.pl-custom { margin:0 0 18px; font-size:clamp(14px,1.1vw,17px); line-height:1.45; color:var(--pl-muted); }
.pl-spools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.pl-spool { margin:0; padding:4px 9px 10px; text-align:center; min-width:0; }
.pl-spool:nth-child(odd) { border-inline-end:1px solid #dce3e7; }
.pl-spool:nth-child(-n+2) { border-bottom:1px solid #dce3e7; }
.pl-spool-photo { height:140px; overflow:hidden; }
.pl-spool img { display:block; width:100%; height:100%; object-fit:contain; transform:scale(1.15); }
.pl-spool:nth-child(2) img { transform:scale(1.25); }
.pl-spool:nth-child(3) img { transform:scale(1.35); }
.pl-spool:nth-child(4) img { transform:scale(1.15); }
.pl-spool h4 { margin:6px 0 3px; color:#087178; font-size:clamp(15px,1.1vw,18px); line-height:1.3; overflow-wrap:anywhere; }
.pl-spool p { color:var(--pl-muted); font-size:clamp(12px,.9vw,15px); margin:0; line-height:1.35; overflow-wrap:anywhere; }
.pl-capabilities { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:16px; }
.pl-capability { min-width:0; background:white; border-radius:12px; padding:20px 16px 16px; display:flex; flex-direction:column; }
.pl-card-head { display:flex; gap:12px; align-items:flex-start; margin-bottom:12px; }
.pl-icon { background:var(--pl-teal); width:46px; height:46px; border-radius:50%; display:grid; place-items:center; flex:none; }
.pl-icon img { width:28px; height:28px; filter:invert(1); }
.pl-card-head h3 { margin:0 0 5px; font-size:clamp(17px,1.4vw,23px); line-height:1.15; letter-spacing:-.025em; }
.pl-card-head p { margin:0; font-size:clamp(13px,1.05vw,16px); line-height:1.4; color:var(--pl-muted); }
.pl-card-image { width:100%; height:auto; aspect-ratio:1.5; object-fit:contain; margin-top:auto; }
.pl-colours .pl-card-image { aspect-ratio:2; }
.pl-formats .pl-card-image { aspect-ratio:326/146; }
/* Keep desktop refills close to their specs instead of bottom-aligning them. */
@media(min-width:1151px) { .pl-formats .pl-card-image { margin-top:12px; } }
.pl-card-foot { color:var(--pl-muted); font-size:clamp(13px,1vw,16px); line-height:1.4; margin:8px 0 0; }
.pl-card-foot span { display:block; }
.pl-weight-labels { display:grid; grid-template-columns:repeat(3,1fr); text-align:center; color:#087178; font-size:17px; line-height:1.3; font-weight:750; margin-top:-4px; }
.pl-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:#08797b; color:white; padding:22px var(--pl-gutter); margin-top:24px; gap:16px; }
.pl-benefit { display:flex; gap:14px; align-items:center; padding-inline-end:14px; min-width:0; }
.pl-benefit:not(:last-child) { border-inline-end:1px solid #75b3b3; }
.pl-benefit img { width:36px; height:36px; filter:invert(1); flex:none; }
.pl-benefit h3 { margin:0 0 3px; font-size:14px; line-height:1.35; }
.pl-benefit p { margin:0; font-size:12px; line-height:1.4; }
@media(min-width:1650px) { .pl-hero { margin-top:-300px; } }
@media(max-width:1150px) { .pl-top { grid-template-columns:1.6fr 1fr; } .pl-copy { width:100%; padding:0; } .pl-hero { width:100%; margin:0; } .pl-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); } .pl-card-image { max-height:220px; } .pl-spool-photo { height:150px; } .pl-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); } .pl-benefit:nth-child(2) { border:none; } }
@media(max-width:740px) { .pl-section { padding:48px 0 0; --pl-gutter:16px; scroll-margin-top:94px; } .pl-top { grid-template-columns:1fr; gap:18px; } .pl-copy { padding:0; } .pl-eyebrow { margin-bottom:18px; }  .pl-intro { font-size:15px; line-height:1.6; } .pl-moq { border-radius:24px; padding:6px 10px; font-size:16px; } .pl-cta { font-size:17px; } .pl-hero { margin-top:16px; } .pl-selector { padding:22px 16px 12px; } .pl-selector h3 { font-size:28px; } .pl-custom { font-size:15px; } .pl-spool-photo { height:120px; } .pl-spool:nth-child(n) img { transform:scale(1.1); } .pl-spool:nth-child(3) img { transform:scale(1.25); } .pl-spool h4 { font-size:16px; } .pl-spool p { font-size:13px; } .pl-capabilities { grid-template-columns:1fr; gap:14px; } .pl-capability { padding:22px 18px; } .pl-card-head h3 { font-size:23px; } .pl-card-head p { font-size:16px; } .pl-card-image { max-width:280px; max-height:190px; align-self:center; } .pl-weight-labels { width:min(100%,280px); align-self:center; } .pl-card-foot { font-size:16px; } .pl-weight-labels { font-size:18px; } .pl-benefits { margin-top:18px; padding:20px 16px; } }
@media(max-width:390px) { .pl-spool-photo { height:105px; } .pl-selector { padding-inline:12px; } .pl-spool { padding-inline:6px; } .pl-benefits { grid-template-columns:1fr; } .pl-benefit:not(:last-child) { border-inline-end:none; border-bottom:1px solid #75b3b3; padding-bottom:14px; }  }
@media(prefers-reduced-motion:reduce) { .pl-cta { transition:none; } }
