/* ==========================================================================
   PINNACLE PACKING — DESIGN SYSTEM
   Single layer, loaded last after style.css, responsive.css and
   seo-enhancements.css. Consolidates the earlier ad-hoc fix layer.

   Structural faults this replaces rather than papers over:
     - container was 1200px in the template but 1170px in the old fix layer
     - 34 padding steps (10px-300px) with no scale behind them
     - mrb-lg-*, pdb-lg-* used in the markup but defined in no stylesheet,
       so stacked cards and sections had zero spacing below 992px
     - .section-title carried a 60px bottom margin; .feature-content 45px
       of dead space at its base
     - cards in a row had no equal-height mechanism
     - two competing button systems (.cs-btn-one and .pp-btn)
     - .form-status-banner referenced by markup and JS but never styled
     - 16 fragmented breakpoints down to 320px, replaced by fluid type and
       spacing so per-device patches are unnecessary

   No heading level, copy, link, alt text or metadata is affected here.
   ========================================================================== */

/* -------------------------------------------------------------- 1. TOKENS */
:root{
  --pp-navy:#253c61;
  --pp-navy-dark:#151a33;
  --pp-red:#cf2127;
  --pp-red-dark:#a8171c;
  --pp-ink:#3e3e3e;
  --pp-muted:#6a7280;
  --pp-line:#e2e6f0;
  --pp-tint:#edf0fa;

  --pp-container:1200px;                    /* matches the template's own */
  --pp-gutter:clamp(16px, 4vw, 24px);
  --pp-measure:70ch;

  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px;

  --pp-section:clamp(44px, 6vw, 84px);
  --pp-section-tight:clamp(32px, 4vw, 56px);
  --pp-head-gap:clamp(24px, 3vw, 40px);

  --t-h1:clamp(28px, 1.4rem + 1.6vw, 44px);
  --t-h2:clamp(23px, 1.15rem + 0.9vw, 32px);
  --t-h3:clamp(19px, 1.05rem + 0.35vw, 23px);
  --t-h4:clamp(17px, 1rem + 0.2vw, 19px);
  --t-body:clamp(15.5px, 0.95rem + 0.1vw, 16.5px);
  --t-small:14px;

  --pp-radius:10px;
  --pp-radius-sm:8px;
  --pp-radius-pill:30px;
  --pp-shadow:0 2px 10px rgba(21,26,51,.06);
  --pp-shadow-lift:0 14px 34px rgba(21,26,51,.10);
}

/* ------------------------------------------- 2. CONTAINER + SECTION RHYTHM */
.container{
  max-width:var(--pp-container);
  padding-left:var(--pp-gutter);
  padding-right:var(--pp-gutter);
  margin-inline:auto;
}
@media (min-width:1600px){ :root{ --pp-gutter:32px; } }

.pp-section{ padding-block:var(--pp-section); }
.pp-section--tint{ background:var(--pp-tint); }
.pp-section__head{ max-width:820px; margin:0 auto var(--pp-head-gap); text-align:center; }
.pp-section__head p{ color:var(--pp-muted); margin-bottom:0; }
.pp-eyebrow{
  display:block; font-size:13px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--pp-red); margin-bottom:var(--s1);
}
.section-title{ margin-bottom:var(--pp-head-gap) !important; }
.section-title .sub-title, .sub-title{ margin-bottom:var(--s1); }
.page-title-section2{ padding-block:clamp(56px, 7vw, 96px); }

/* ------------------------------ 3. LEGACY SPACING UTILITIES, REMAPPED */
.pdt-105, .pdt-110, .pdt-115, .pdt-120{ padding-top:var(--pp-section) !important; }
.pdb-70, .pdb-80, .pdb-90, .pdb-100{ padding-bottom:var(--pp-section) !important; }
.pdb-60{ padding-bottom:var(--pp-section-tight) !important; }
.pdb-50{ padding-bottom:var(--s5) !important; }
.pdb-40{ padding-bottom:var(--s4) !important; }
.pdt-30{ padding-top:var(--s4) !important; }
.pdb-30{ padding-bottom:var(--s4) !important; }
.mrt-40, .mrt-50{ margin-top:var(--s5) !important; }
.mrt-30{ margin-top:var(--s4) !important; }
.mrt-25, .mrt-20{ margin-top:var(--s3) !important; }
.mrb-40{ margin-bottom:var(--s5) !important; }
.mrb-30, .mrb-25{ margin-bottom:var(--s4) !important; }
.mrb-20, .mrb-15{ margin-bottom:var(--s3) !important; }
.mrb-10{ margin-bottom:var(--s1) !important; }
.mrr-10{ margin-right:var(--s1) !important; }

/* used in the markup, defined nowhere until now */
@media (max-width:991px){
  .mrb-lg-40{ margin-bottom:var(--s3) !important; }
  .mrb-lg-60{ margin-bottom:var(--s4) !important; }
  .pdb-lg-70, .pdb-lg-80{ padding-bottom:var(--s5) !important; }
  .pdb-lg-90{ padding-bottom:var(--s6) !important; }
}

/* ---------------------------------------------------------- 4. TYPOGRAPHY */
body, p, li, td, th, label, input, select, textarea, button, a{
  font-family:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
body{ font-size:var(--t-body); line-height:1.75; color:var(--pp-ink); }
h1, .main-heading{ font-size:var(--t-h1); line-height:1.2; font-weight:800; color:var(--pp-navy-dark); }
h2{ font-size:var(--t-h2); line-height:1.28; font-weight:700; }
h3{ font-size:var(--t-h3); line-height:1.35; font-weight:700; }
h4{ font-size:var(--t-h4); line-height:1.4; font-weight:600; }
p{ font-size:var(--t-body); line-height:1.8; margin:0 0 var(--s3); }
p:last-child{ margin-bottom:0; }

:where(h2, h3, h4) + p,
:where(h2, h3, h4) + ul,
:where(h2, h3, h4) + ol,
:where(h2, h3, h4) + .pp-table-wrap{ margin-top:var(--s2); }
:where(.pp-section, .pp-article) :where(h2):not(:first-child){ margin-top:var(--s5); }
:where(.pp-section, .pp-article) :where(h3):not(:first-child){ margin-top:var(--s4); }
.pp-prose p, .pp-article p{ max-width:var(--pp-measure); }
.pp-section__head p, .text-center p{ max-width:none; }
.small-note{ font-size:var(--t-small); color:var(--pp-muted); line-height:1.7; }
.pp-note{ font-size:var(--t-small); line-height:1.8; color:#555; }

/* -------------------------------------------------- 5. IN-CONTENT LINKS */
p a, li a:not(.cs-btn-one):not(.pp-btn), td a, th a,
.accordion-body a, .product-row a:not(.cs-btn-one), .pp-prose a:not(.pp-btn), address a{
  font-family:inherit !important; font-size:inherit !important; font-weight:inherit !important;
  line-height:inherit !important; letter-spacing:inherit !important;
  color:var(--pp-red); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px;
}
p a:hover, li a:not(.cs-btn-one):hover, .pp-prose a:hover, .accordion-body a:hover{ color:var(--pp-red-dark); }
.main-menu a, .footer a, .breadcrumb a, .navbar-brand, .pp-card__link, .pp-header-quote{ text-decoration:none !important; }
.footer a{ font-size:15px; line-height:1.9; }

/* --------------------------------------------------------- 6. BUTTONS */
.pp-btn, a.pp-btn, button.pp-btn,
.cs-btn-one, a.cs-btn-one, button.cs-btn-one,
form button[type="submit"], form input[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--s1);
  min-height:52px; padding:14px 30px;
  font-size:15px; font-weight:600; line-height:1.2; letter-spacing:0;
  text-transform:none; text-align:center; text-decoration:none !important;
  border:2px solid transparent; border-radius:var(--pp-radius-sm);
  cursor:pointer; white-space:normal; transition:all .25s ease;
}
.pp-btn--primary, .cs-btn-one{ background:var(--pp-red); color:#fff; }
.pp-btn--primary:hover, .pp-btn--primary:focus,
.cs-btn-one:hover, .cs-btn-one:focus{ background:var(--pp-red-dark); color:#fff; }
.pp-btn.pp-btn--outline, a.pp-btn--outline{ background:transparent; color:var(--pp-navy); border-color:var(--pp-navy); }
.pp-btn.pp-btn--outline:hover, .pp-btn.pp-btn--outline:focus{ background:var(--pp-navy); color:#fff; border-color:var(--pp-navy); }
.pp-btn.pp-btn--light, a.pp-btn--light{ background:#fff; color:var(--pp-navy); }
.pp-btn--light:hover{ background:var(--pp-tint); color:var(--pp-navy); }
.btn-gradient-color{ background:linear-gradient(-20deg, #e91920, var(--pp-red)); color:#fff; }

.pp-btn-group{ display:flex; flex-wrap:wrap; align-items:stretch; gap:14px; margin-top:var(--s4); }
.pp-btn-group--center, .pp-center{ justify-content:center; }
@media (max-width:575px){
  .pp-btn-group{ gap:12px; }
  .pp-btn-group .pp-btn, .pp-btn-group .cs-btn-one{ flex:1 1 100%; }
}

/* ----------------------------------------------------------- 7. CARDS */
.pp-card-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(270px, 1fr)); gap:var(--s4); }
.pp-card{
  display:flex; flex-direction:column; height:100%;
  background:#fff; border:1px solid var(--pp-line); border-radius:var(--pp-radius);
  overflow:hidden; box-shadow:var(--pp-shadow); transition:box-shadow .25s ease, transform .25s ease;
}
.pp-card:hover{ box-shadow:var(--pp-shadow-lift); transform:translateY(-3px); }
.pp-card__media{ aspect-ratio:4 / 3; background:var(--pp-tint); overflow:hidden; }
.pp-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.pp-card__body{ display:flex; flex-direction:column; flex:1 1 auto; padding:var(--s3); }
.pp-card__body h3{ font-size:var(--t-h3); margin:0 0 var(--s1); color:var(--pp-navy); }
.pp-card__body p{ font-size:15px; margin-bottom:var(--s3); }
.pp-card__meta{ font-size:13px; color:var(--pp-muted); margin-bottom:var(--s1) !important; }
.pp-card__link{ margin-top:auto; font-size:14px; font-weight:600; color:var(--pp-red); }
.pp-card__link:hover{ color:var(--pp-red-dark); text-decoration:underline !important; }

/* template product cards: equal height across a row, no dead base space */
.row:has(> [class*="col-"] > .feature-box) > [class*="col-"]{ display:flex; }
.feature-box{
  display:flex; flex-direction:column; width:100%; height:100%; text-align:center;
  border-radius:var(--pp-radius); overflow:hidden; box-shadow:var(--pp-shadow); background:#fff;
}
.feature-thumb{ overflow:hidden; }
.feature-thumb img{ width:100%; aspect-ratio:4 / 3; object-fit:cover; display:block; border-radius:0 !important; }
.feature-content{ display:flex; flex-direction:column; flex:1 1 auto;
  padding:var(--s3) var(--s3) var(--s4) !important; }
.feature-content .title h3{ margin-bottom:var(--s1); }
.feature-content .para{ flex:1 1 auto; }
.feature-content .para p{ margin-bottom:var(--s3); }
.feature-content .pp-card__link{ margin-top:auto; }
.icon-box-block{ height:100%; }
.icon-box-title{ font-size:var(--t-h4); margin-bottom:var(--s1); color:var(--pp-navy); }

/* ------------------------- 8. TILES / LISTS / CALLOUTS / CTA / CHIPS */
.pp-industry-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:var(--s3); }
.pp-industry{ background:#fff; border:1px solid var(--pp-line); border-left:4px solid var(--pp-red);
  border-radius:var(--pp-radius); padding:var(--s3); }
.pp-industry h3{ font-size:var(--t-h4); margin-bottom:var(--s1); color:var(--pp-navy); }
.pp-industry p{ font-size:14.5px; margin-bottom:var(--s1); }
.pp-industry ul{ margin:0; padding-left:18px; }
.pp-industry li{ font-size:14px; line-height:1.7; }

.pp-benefits{ list-style:none; margin:var(--s3) 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:14px var(--s4); }
.pp-benefits li{ position:relative; padding-left:30px; font-size:15.5px; line-height:1.7; }
.pp-benefits li:before{ content:""; position:absolute; left:0; top:9px; width:14px; height:14px;
  border-radius:50%; background:var(--pp-red); box-shadow:0 0 0 4px rgba(207,33,39,.14); }
.pp-benefits li strong{ color:var(--pp-navy-dark); }

.pp-callout{ background:var(--pp-tint); border-left:4px solid var(--pp-navy);
  border-radius:var(--pp-radius); padding:var(--s3); margin:var(--s4) 0; }
.pp-callout ul{ margin-bottom:0; }

.pp-cta{ background:linear-gradient(135deg, var(--pp-navy) 0%, var(--pp-navy-dark) 100%); color:#fff;
  border-radius:var(--pp-radius); padding:clamp(26px, 3.5vw, 44px); }
.pp-cta h2, .pp-cta h3{ color:#fff; margin:0 0 var(--s2); }
.pp-cta p{ color:rgba(255,255,255,.86); margin:0; max-width:var(--pp-measure); }
.pp-cta a:not(.pp-btn){ color:#fff; text-decoration:underline; }
.pp-cta .pp-btn-group{ margin-top:var(--s3); }

.pp-service-areas{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:var(--s3) 0 0; }
.pp-service-areas li{ background:var(--pp-tint); color:var(--pp-navy); font-size:13.5px; font-weight:600;
  padding:8px 16px; border-radius:var(--pp-radius-pill); }
.pp-list-plain{ list-style:none; padding-left:0; }
.pp-list-row{ display:flex; align-items:flex-start; margin-bottom:12px; }
.pp-ico{ color:var(--pp-navy); margin-right:10px; flex:0 0 auto; }

/* ---------------------------------------------------------- 9. TABLES */
.pp-table-wrap{ width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:var(--s3) 0 var(--s4); }
table.pp-table{ width:100%; min-width:560px; border-collapse:collapse; font-size:15px; background:#fff; }
table.pp-table caption{ caption-side:top; text-align:left; font-size:14px; color:var(--pp-muted); padding-bottom:10px; }
table.pp-table th, table.pp-table td{ border:1px solid var(--pp-line); padding:12px 14px;
  text-align:left; vertical-align:top; line-height:1.6; }
table.pp-table thead th{ background:var(--pp-navy); color:#fff; font-weight:600; }
table.pp-table tbody tr:nth-child(even){ background:#f7f9fd; }

/* ------------------------------------------------ 10. ARTICLES / GUIDES */
.pp-article{ max-width:820px; margin-inline:auto; }
.pp-article__meta{ font-size:14px; color:var(--pp-muted); margin-bottom:var(--s4); }
.pp-article ul, .pp-article ol{ margin:0 0 var(--s3); padding-left:22px; }
.pp-article li{ line-height:1.8; margin-bottom:var(--s1); }
.pp-toc{ background:#fff; border:1px solid var(--pp-line); border-radius:var(--pp-radius);
  padding:var(--s3); margin:0 0 var(--s4); }
.pp-toc h2{ font-size:17px; margin:0 0 var(--s1); }
.pp-toc ol{ margin:0; padding-left:20px; }
.pp-toc li{ font-size:15px; margin-bottom:4px; }
.anchor-offset{ scroll-margin-top:110px; }

.pp-related{ border-top:1px solid var(--pp-line); margin-top:var(--s5); padding-top:var(--s4); }
.pp-related h2{ font-size:var(--t-h3); margin-bottom:var(--s3); }
.pp-related__list{ display:flex; flex-wrap:wrap; gap:12px; list-style:none; margin:0; padding:0; }
.pp-related__list li a{ display:inline-block; background:var(--pp-tint); border:1px solid var(--pp-line);
  border-radius:var(--pp-radius-pill); padding:9px 20px; font-size:14.5px; font-weight:600;
  color:var(--pp-navy) !important; text-decoration:none !important; }
.pp-related__list li a:hover{ background:var(--pp-navy); color:#fff !important; }

/* ------------------------------ 11. BREADCRUMB / HEADER / FOOTER */
.page-title-content .breadcrumb{ background:transparent; justify-content:center; flex-wrap:wrap; padding:0; margin:14px 0 0; }
.page-title-content .breadcrumb-item, .page-title-content .breadcrumb-item a{ color:#fff; font-size:14px; }
.page-title-content .breadcrumb-item a{ opacity:.85; }
.page-title-content .breadcrumb-item a:hover{ opacity:1; text-decoration:underline; }
.page-title-content .breadcrumb-item.active{ font-weight:600; }
.page-title-content .breadcrumb-item + .breadcrumb-item::before{ color:rgba(255,255,255,.6); }

.header-top-area{ padding-block:6px; }
.header-top-right-part{ display:flex; align-items:center; justify-content:flex-end; gap:18px; flex-wrap:wrap; }
.header-top-right-part .address{ font-size:13.5px; color:#fff; opacity:.92; }
.header-top-right-part .address i{ margin-right:6px; }
a.pp-header-quote{ display:inline-flex; align-items:center; background:#fff; color:var(--pp-navy) !important;
  font-size:13px; font-weight:700; padding:7px 16px; border-radius:var(--pp-radius-pill); }
a.pp-header-quote:hover{ background:var(--pp-red); color:#fff !important; }
.navbar-brand img, .logo img{ max-height:56px; width:auto; }
@media (max-width:991px){
  .header-top-right-part{ justify-content:center; }
  .header-top-area{ text-align:center; }
}

.footer .widget-title{ font-size:var(--t-h4); margin-bottom:var(--s3) !important; }
.footer ul{ list-style:none; padding-left:0; margin-bottom:0; }
.footer .text-light-gray{ line-height:1.9; }
@media (max-width:767px){
  .footer [class*="col-"]{ margin-bottom:var(--s4); }
  .footer [class*="col-"]:last-child{ margin-bottom:0; }
}

/* ------------------------------------- 12. FORMS + STATUS BANNER */
.pp-quote-form .form-group{ margin-bottom:var(--s3); }
.pp-quote-form .form-control,
.callback-form input, .callback-form select, .callback-form textarea{
  width:100%; min-height:52px; padding:13px 16px; font-size:15px; line-height:1.5;
  color:var(--pp-ink); background:#fff; border:1px solid var(--pp-line); border-radius:var(--pp-radius-sm);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.pp-quote-form textarea.form-control{ min-height:130px; resize:vertical; }
.pp-quote-form .form-control::placeholder{ color:#98a0ae; }
.pp-quote-form .form-control:focus,
.callback-form input:focus, .callback-form textarea:focus{
  border-color:var(--pp-navy); box-shadow:0 0 0 3px rgba(37,60,97,.12); outline:none;
}
.pp-quote-form .form-control:invalid:not(:placeholder-shown){ border-color:#d98b8b; }
#quote{ scroll-margin-top:130px; }

.form-status-banner{
  display:flex; align-items:flex-start; gap:12px; padding:16px 20px; margin:0 0 var(--s3);
  border-radius:var(--pp-radius-sm); font-size:15px; line-height:1.6; text-align:left;
}
.form-status-banner i{ font-size:18px; line-height:1.5; flex:0 0 auto; }
.form-status-banner.success{ background:#e3f2e1; border:1px solid #bcdcb8; color:#1f5c1a; }
.form-status-banner.error{ background:#fbe3e3; border:1px solid #f0bcbc; color:#8c1d1d; }

/* ------------------------------------------------------ 13. IMAGES */
img{ max-width:100%; height:auto; }
.product-img{ width:100%; aspect-ratio:4 / 3; object-fit:cover; border-radius:var(--pp-radius); display:block; }
.product-row{ margin-bottom:var(--s5); }
.product-row:last-child{ margin-bottom:0; }
.product-row .row{ align-items:center; }
@media (max-width:767px){
  .product-row{ margin-bottom:var(--s4); }
  .product-row .col-md-6 + .col-md-6{ margin-top:var(--s3); }
}

/* --------------------------------------------------- 14. ACCORDION */
.accordion-item{ margin-bottom:12px; }
.accordion-header .title{ font-size:16.5px; line-height:1.5; padding-right:12px; }
.accordion-body{ padding-block:var(--s2); }
.accordion-body p:last-child{ margin-bottom:0; }

/* ----------------------------------------------- 15. ACCESSIBILITY */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{
  outline:3px solid #ffb703; outline-offset:2px; border-radius:3px;
}
.pp-skip-link{ position:absolute; left:-9999px; top:0; z-index:9999;
  background:var(--pp-navy); color:#fff; padding:12px 20px; border-radius:0 0 6px 0; }
.pp-skip-link:focus{ left:0; }
.pp-visually-hidden{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* -------------------------------------------------- 16. RESPONSIVE */
html, body{ overflow-x:hidden; max-width:100%; }
pre, code{ white-space:pre-wrap; word-wrap:break-word; }
@media (max-width:1024px){
  .pp-card-grid{ grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:var(--s3); }
  .pp-benefits{ grid-template-columns:1fr 1fr; }
}
@media (max-width:767px){
  .pp-benefits{ grid-template-columns:1fr; gap:12px; }
  .pp-industry-grid{ grid-template-columns:1fr; }
  .pp-section__head{ margin-bottom:var(--s4); }
  .pp-related{ margin-top:var(--s4); padding-top:var(--s3); }
}
@media (max-width:575px){
  .pp-card-grid{ grid-template-columns:1fr; }
  .pp-cta p{ max-width:none; }
  table.pp-table{ font-size:14px; }
  .pp-article__meta{ margin-bottom:var(--s3); }
  .pp-service-areas li{ font-size:13px; padding:7px 14px; }
}

/* ------------------------------- 17. UTILITIES THAT REPLACED INLINE STYLES */
.pp-panel{ background:#f9fafc; padding:var(--s3); border-radius:var(--pp-radius); box-shadow:var(--pp-shadow); }
.pp-lead{ font-weight:600; margin-bottom:var(--s2); color:var(--pp-navy-dark); }
.pp-medium{ font-weight:500; }
.pp-logo-img{ max-width:250px; height:auto; }
.pp-panel--white{ background:#fff; padding:var(--s4); }
.pp-note-box{ background:#f9fafc; border-left:4px solid var(--pp-red); border-radius:var(--pp-radius-sm);
  padding:var(--s3); margin-bottom:var(--s3); }
.pp-note-box p:last-child{ margin-bottom:0; }
.pp-inline-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:var(--s4); }
.pp-list-row--last{ margin-bottom:0; }

/* ==========================================================================
   18. LEGACY RESPONSIVE OVERRIDES
   responsive.css contains device-specific rules that fight a fluid layout.
   The h2 rule below was the worst: every H2 jumped to 48px with !important
   under 425px, which overflowed headings and opened huge vertical gaps on
   phones. These overrides restore the type scale and make fixed heights
   fluid; the original file is left untouched so template updates still apply.
   ========================================================================== */
@media (max-width:575px){
  h2, .home-carousel .content-box h1{
    font-size:var(--t-h2) !important;
    line-height:1.28 !important;
  }
  h1, .main-heading{ font-size:var(--t-h1) !important; line-height:1.2 !important; }
}
.shadow-text{ font-size:clamp(34px, 6vw, 68px) !important; line-height:1.1; }
.about-image .experience h2{ font-size:clamp(40px, 4vw, 72px) !important; line-height:1.05 !important; }
.video-popup, .popup-video-block{ min-height:clamp(260px, 32vw, 420px) !important; }
.gmap_canvas, .gmap_canvas iframe{ height:clamp(280px, 38vw, 400px) !important; width:100%; border:0; }
.anim-object1, .anim-object2, .anim-object3{ pointer-events:none; }
@media (max-width:767px){
  .anim-object1, .anim-object2, .anim-object3,
  .anim-object2:before, .anim-object3:before{ display:none !important; }   /* decorative, caused overflow */
}

/* ==========================================================================
   19. CLASSES PRESENT IN THE MARKUP WITH NO RULE ANYWHERE
   Same fault as the -lg- utilities: the template ships hooks the stylesheet
   never defines, so intended spacing and alignment simply did not happen.
   Values follow the scale rather than the original oversized numbers
   (mrb-sm-110 would have put 110px of dead space below a block on phones).
   ========================================================================== */
.mb-20{ margin-bottom:var(--s3); }
@media (max-width:991px){
  .mrb-md-60{ margin-bottom:var(--s4) !important; }
  .mrt-md-0{ margin-top:0 !important; }
  .pdb-md-110{ padding-bottom:var(--pp-section) !important; }
}
@media (max-width:767px){
  .mrb-sm-30{ margin-bottom:var(--s3) !important; }
  .mrb-sm-110{ margin-bottom:var(--s4) !important; }
}

img.img-center{ display:block; margin-inline:auto; height:auto; }
.packaging-list{ margin-bottom:var(--s3); }
.packaging-list ul{ list-style:none; padding-left:0; margin:0; }
.packaging-list li{ position:relative; padding-left:26px; margin-bottom:10px; line-height:1.7; }
.packaging-list li:before{ content:"\f00c"; font-family:"Font Awesome 5 Free"; font-weight:900;
  position:absolute; left:0; top:2px; font-size:13px; color:var(--pp-red); }
.call-us-title{ font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  opacity:.85; margin-bottom:4px; }
h3.number{ font-size:var(--t-h3); font-weight:700; margin:0; }
.btn-round{ border-radius:var(--pp-radius-pill); }
.section-content{ position:relative; }
.section-left-sub-title{ margin-bottom:var(--s2); }
.header-middlee{ display:flex; align-items:center; }

/* ==========================================================================
   SECTION · HOME — "Our Packaging Solutions" intro  (.pp-intro)  v3
   Image + intro copy at equal height. The product list that used to sit
   under it duplicated the "Our Products" section directly below, so it now
   lives only there.
   ========================================================================== */
.pp-intro{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 10px rgba(21,26,51,.06);
  --shadow-lift:0 16px 36px rgba(21,26,51,.10);
  padding:clamp(48px, 6vw, 88px) 0;
  background:#fff; color:var(--ink);
}
.pp-intro__top{ display:grid; grid-template-columns:1fr; gap:32px; align-items:stretch; }
@media (min-width:992px){
  .pp-intro__top{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(40px, 4.5vw, 64px); }
}
.pp-intro__figure{
  position:relative; margin:0; min-height:320px;
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lift);
}
.pp-intro__figure img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
@media (min-width:992px){
  .pp-intro__figure{ height:100%; }
  .pp-intro__figure img{ position:absolute; inset:0; }
}
.pp-intro__badge{
  position:absolute; left:16px; bottom:16px; max-width:calc(100% - 32px);
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 16px; border-radius:var(--radius-sm);
  background:rgba(255,255,255,.96); box-shadow:var(--shadow);
  font-size:13px; line-height:1.5; color:var(--ink);
}
.pp-intro__badge i{ color:var(--red); font-size:15px; line-height:1.5; }
.pp-intro__badge strong{ display:block; font-size:14px; color:var(--navy-dark); }

.pp-intro__copy{ align-self:center; }
.pp-intro__eyebrow{
  margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red);
}
.pp-intro__copy h2{
  margin:0 0 20px; color:var(--navy-dark);
  font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2;
}
.pp-intro__copy p{
  margin:0 0 14px; max-width:62ch;
  font-size:clamp(15px, .92rem + .1vw, 16px); line-height:1.75;
}
.pp-intro__lead{ color:var(--navy-dark); }

.pp-intro__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.pp-intro__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:13px 28px;
  font-size:15px; font-weight:600; line-height:1.2; white-space:nowrap;
  border:2px solid transparent; border-radius:var(--radius-sm);
  text-decoration:none !important; text-transform:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.pp-intro__btn--primary{ background:var(--red); color:#fff !important; }
.pp-intro__btn--primary:hover{ background:var(--red-dark); }
.pp-intro__btn--outline{ background:#fff; color:var(--navy) !important; border-color:var(--navy); }
.pp-intro__btn--outline:hover{ background:var(--navy); color:#fff !important; }
.pp-intro__btn:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }

@media (min-width:576px) and (max-width:991px){
  .pp-intro__figure{ aspect-ratio:16 / 10; min-height:0; }
}
@media (max-width:575px){
  .pp-intro__figure{ aspect-ratio:4 / 3; min-height:0; }
  .pp-intro__badge{ left:12px; bottom:12px; max-width:calc(100% - 24px); padding:10px 14px; }
  .pp-intro__btn{ flex:1 1 100%; white-space:normal; }
}

/* ==========================================================================
   SECTION · HOME — "Our Products"  (.pp-products)
   One 6-card grid instead of two separate rows; images at their native 3:2
   so nothing is cropped; equal-height cards with links pinned to the base;
   tinted background separates it from the white intro above.
   ========================================================================== */
.pp-products{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 10px rgba(21,26,51,.06);
  --shadow-lift:0 18px 38px rgba(21,26,51,.12);
  padding:clamp(48px, 6vw, 88px) 0;
  background:#f4f6fb; color:var(--ink);
}
.pp-products__head{ max-width:720px; margin:0 auto clamp(28px, 3.5vw, 44px); text-align:center; }
.pp-products__eyebrow{
  margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red);
}
.pp-products__head h2{
  margin:0; color:var(--navy-dark);
  font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2;
}

.pp-products__grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:clamp(18px, 2vw, 28px);
  grid-template-columns:1fr;
}
@media (min-width:640px){ .pp-products__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1100px){ .pp-products__grid{ grid-template-columns:repeat(3, 1fr); } }

.pp-products__card{
  display:flex; flex-direction:column; height:100%;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow);
  transition:box-shadow .25s ease, transform .25s ease;
}
.pp-products__card:hover{ box-shadow:var(--shadow-lift); transform:translateY(-4px); }

.pp-products__media{ display:block; aspect-ratio:3 / 2; overflow:hidden; background:#e9edf5; }
.pp-products__media img{
  display:block; width:100%; height:100%; object-fit:cover;
  transition:transform .5s ease;
}
.pp-products__card:hover .pp-products__media img{ transform:scale(1.04); }

.pp-products__body{ display:flex; flex-direction:column; flex:1 1 auto; padding:22px 24px 24px; }
.pp-products__body h3{
  margin:0 0 8px; font-size:clamp(18px, 1rem + .3vw, 20px); line-height:1.3; color:var(--navy-dark);
}
.pp-products__body p{ margin:0 0 18px; font-size:15px; line-height:1.65; color:var(--muted); }

/* specificity + !important beat the site-wide in-content link rule */
.pp-products .pp-products__body a.pp-products__link{
  margin-top:auto; display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  font-size:14.5px !important; font-weight:600 !important; line-height:1.3 !important;
  color:var(--red) !important; text-decoration:none !important;
}
.pp-products__link i{ transition:transform .2s ease; }
.pp-products__card:hover .pp-products__link i{ transform:translateX(4px); }
.pp-products .pp-products__body a.pp-products__link:hover{ color:var(--red-dark) !important; }

.pp-products__foot{
  max-width:760px; margin:clamp(32px, 4vw, 48px) auto 0; text-align:center;
}
.pp-products__foot p{ margin:0; font-size:15.5px; line-height:1.7; color:var(--ink); }
.pp-products__foot p + p{ margin-top:6px; }
.pp-products__also{ font-size:14.5px !important; color:var(--muted) !important; }
.pp-products .pp-products__also a{ color:var(--red) !important; text-decoration:underline !important; text-underline-offset:2px; }
.pp-products__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; margin-top:22px; padding:13px 30px;
  font-size:15px; font-weight:600; line-height:1.2;
  background:var(--navy); color:#fff !important; border-radius:var(--radius-sm);
  text-decoration:none !important; transition:background .2s ease;
}
.pp-products__btn:hover{ background:var(--navy-dark); }
.pp-products__btn:focus-visible,
.pp-products a:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }

@media (max-width:575px){
  .pp-products__body{ padding:18px 18px 20px; }
  .pp-products__btn{ width:100%; }
}

/* ==========================================================================
   SECTION · HOME — "Packaging Built Around How You Ship"  (.pp-ind)
   ========================================================================== */
.pp-ind{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 10px rgba(21,26,51,.06);
  --shadow-lift:0 18px 38px rgba(21,26,51,.12);
  padding:clamp(48px, 6vw, 88px) 0;
  background:#f4f6fb; color:var(--ink);
}
.pp-ind__head{ max-width:760px; margin:0 auto clamp(28px, 3.5vw, 44px); text-align:center; }
.pp-ind__eyebrow{
  margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red);
}
.pp-ind__head h2{
  margin:0 0 14px; color:var(--navy-dark);
  font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2;
}
.pp-ind__head p:not(.pp-ind__eyebrow){ margin:0; font-size:16px; line-height:1.75; color:var(--muted); }

.pp-ind__grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:clamp(18px, 2vw, 24px); grid-template-columns:1fr;
}
@media (min-width:640px){ .pp-ind__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1100px){ .pp-ind__grid{ grid-template-columns:repeat(3, 1fr); } }

.pp-ind__card{
  display:flex; flex-direction:column; height:100%;
  padding:26px 24px 24px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow);
  transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.pp-ind__card:hover{ box-shadow:var(--shadow-lift); transform:translateY(-4px); border-color:#cdd3e3; }
.pp-ind__icon{
  width:48px; height:48px; margin-bottom:18px; border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--navy); color:#fff; font-size:19px;
  transition:background .25s ease;
}
.pp-ind__card:hover .pp-ind__icon{ background:var(--red); }
.pp-ind__card h3{ margin:0 0 8px; font-size:19px; line-height:1.3; color:var(--navy-dark); }
.pp-ind__card > p{ margin:0 0 18px; font-size:15px; line-height:1.65; color:var(--muted); }

.pp-ind__links{
  list-style:none; margin:auto 0 0; padding:16px 0 0;
  border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; gap:8px;
}
.pp-ind .pp-ind__links a{
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 12px; border-radius:30px;
  background:#f4f6fb; border:1px solid var(--line);
  font-size:13.5px !important; font-weight:600 !important; line-height:1.3 !important;
  color:var(--navy) !important; text-decoration:none !important;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.pp-ind .pp-ind__links a::after{
  content:"\f061"; font-family:"Font Awesome 5 Free"; font-weight:900; font-size:10px; color:var(--red);
}
.pp-ind .pp-ind__links a:hover{ background:var(--navy); border-color:var(--navy); color:#fff !important; }
.pp-ind .pp-ind__links a:hover::after{ color:#fff; }

.pp-ind__actions{
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px;
  margin-top:clamp(32px, 4vw, 44px);
}
.pp-ind__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:13px 28px;
  font-size:15px; font-weight:600; line-height:1.2;
  border:2px solid transparent; border-radius:var(--radius-sm);
  text-decoration:none !important; text-transform:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.pp-ind__btn--primary{ background:var(--navy); color:#fff !important; }
.pp-ind__btn--primary:hover{ background:var(--navy-dark); }
.pp-ind__btn--outline{ background:#fff; color:var(--navy) !important; border-color:var(--navy); }
.pp-ind__btn--outline:hover{ background:var(--navy); color:#fff !important; }
.pp-ind a:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }
@media (max-width:575px){
  .pp-ind__card{ padding:22px 18px 20px; }
  .pp-ind__btn{ flex:1 1 100%; }
}

/* ==========================================================================
   SECTION · HOME — "Local Supply Across Toronto, Mississauga & the GTA"  (.pp-area)
   ========================================================================== */
.pp-area{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0;
  --radius:12px; --radius-sm:8px;
  --shadow-lift:0 18px 38px rgba(21,26,51,.12);
  padding:clamp(48px, 6vw, 88px) 0;
  background:#fff; color:var(--ink);
}
.pp-area__grid{ display:grid; grid-template-columns:1fr; gap:36px; align-items:center; }
@media (min-width:992px){
  .pp-area__grid{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(40px, 5vw, 72px); }
}
.pp-area__eyebrow{
  margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red);
}
.pp-area__copy h2{
  margin:0 0 20px; color:var(--navy-dark);
  font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2;
}
.pp-area__copy p{ margin:0 0 14px; max-width:64ch; font-size:16px; line-height:1.75; }
.pp-area .pp-area__copy p a{ color:var(--red) !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }

.pp-area__chips{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.pp-area__chips li{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px; border-radius:30px;
  background:#f4f6fb; border:1px solid var(--line);
  font-size:13.5px; font-weight:600; color:var(--navy);
}
.pp-area__chips li::before{
  content:"\f3c5"; font-family:"Font Awesome 5 Free"; font-weight:900; font-size:11px; color:var(--red);
}

.pp-area__guides{
  padding:clamp(24px, 3vw, 32px);
  background:linear-gradient(145deg, #253c61 0%, #151a33 100%);
  border-radius:var(--radius); box-shadow:var(--shadow-lift); color:#fff;
}
.pp-area__guides-head{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.pp-area__guides-icon{
  flex:0 0 44px; width:44px; height:44px; border-radius:10px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.12); color:#fff; font-size:18px;
}
.pp-area__guides h3{ margin:0; font-size:20px; line-height:1.3; color:#fff; }
.pp-area__guide-list{ list-style:none; margin:0; padding:0; }
.pp-area__guide-list li{ border-top:1px solid rgba(255,255,255,.14); }
.pp-area__guide-list li:last-child{ border-bottom:1px solid rgba(255,255,255,.14); }
.pp-area .pp-area__guide-list a{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:13px 0;
  font-size:15px !important; font-weight:500 !important; line-height:1.45 !important;
  color:rgba(255,255,255,.92) !important; text-decoration:none !important;
  transition:color .2s ease, padding-left .2s ease;
}
.pp-area .pp-area__guide-list a::after{
  content:"\f061"; font-family:"Font Awesome 5 Free"; font-weight:900; font-size:11px;
  color:#ff6b70; flex:0 0 auto; transition:transform .2s ease;
}
.pp-area .pp-area__guide-list a:hover{ color:#fff !important; padding-left:4px; }
.pp-area .pp-area__guide-list a:hover::after{ transform:translateX(3px); }
.pp-area .pp-area__all{
  display:inline-flex; align-items:center; gap:8px; margin-top:20px;
  font-size:14.5px; font-weight:600; color:#fff !important; text-decoration:none !important;
}
.pp-area .pp-area__all:hover{ color:#ffd3d4 !important; }
.pp-area a:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }
@media (max-width:575px){
  .pp-area__chips li{ font-size:13px; padding:7px 12px; }
}

/* ==========================================================================
   SECTION · ABOUT — intro  (.pp-about)
   ========================================================================== */
.pp-about{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0; --tint:#f4f6fb;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 10px rgba(21,26,51,.06);
  --shadow-lift:0 18px 38px rgba(21,26,51,.12);
  padding:clamp(48px, 6vw, 88px) 0;
  background:#fff; color:var(--ink);
}
.pp-about__grid{ display:grid; grid-template-columns:1fr; gap:36px; align-items:stretch; }
@media (min-width:992px){
  .pp-about__grid{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(40px, 5vw, 72px); }
}

/* copy */
.pp-about__copy h1{
  margin:0 0 12px; color:var(--navy-dark);
  font-size:clamp(28px, 1.3rem + 1.5vw, 42px) !important; line-height:1.18 !important; font-weight:800;
  letter-spacing:-.01em;
}
.pp-about__tagline{
  margin:0 0 24px; font-size:clamp(16px, .95rem + .3vw, 19px); font-weight:600; color:var(--red);
}
.pp-about__copy > p{
  margin:0 0 14px; max-width:64ch; font-size:16px; line-height:1.75;
}
.pp-about__copy > p strong{ color:var(--navy-dark); }

.pp-about__quote{
  margin:24px 0; padding:20px 22px;
  background:var(--tint); border-left:4px solid var(--red); border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
.pp-about__quote p{ margin:0; font-size:16px; line-height:1.7; font-weight:500; color:var(--navy-dark); }

.pp-about__features{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:1fr; gap:12px;
}
@media (min-width:576px){ .pp-about__features{ grid-template-columns:1fr 1fr; } }
.pp-about__features li{
  display:flex; align-items:center; gap:12px;
  padding:12px 14px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius-sm);
  font-size:15px; font-weight:600; line-height:1.4; color:var(--navy-dark);
}
.pp-about__features i{
  flex:0 0 26px; width:26px; height:26px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(207,33,39,.1); color:var(--red); font-size:12px;
}

.pp-about__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.pp-about__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:13px 28px;
  font-size:15px; font-weight:600; line-height:1.2;
  border:2px solid transparent; border-radius:var(--radius-sm);
  text-decoration:none !important; text-transform:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.pp-about__btn--primary{ background:var(--red); color:#fff !important; }
.pp-about__btn--primary:hover{ background:var(--red-dark); }
.pp-about__btn--outline{ background:#fff; color:var(--navy) !important; border-color:var(--navy); }
.pp-about__btn--outline:hover{ background:var(--navy); color:#fff !important; }

/* media */
.pp-about__figure{
  position:relative; margin:0; min-height:360px;
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lift);
}
.pp-about__figure img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
@media (min-width:992px){
  .pp-about__figure{ height:100%; }
  .pp-about__figure img{ position:absolute; inset:0; }
}
.pp-about .pp-about__call{
  position:absolute; left:16px; right:16px; bottom:16px;
  display:flex; align-items:center; gap:14px;
  padding:16px 18px; border-radius:var(--radius-sm);
  background:linear-gradient(135deg, #e91920 0%, #cf2127 100%);
  box-shadow:0 12px 28px rgba(207,33,39,.35);
  color:#fff !important; text-decoration:none !important;
  transition:transform .2s ease, box-shadow .2s ease;
}
.pp-about .pp-about__call:hover{ transform:translateY(-2px); box-shadow:0 16px 32px rgba(207,33,39,.42); }
@media (min-width:1200px){ .pp-about .pp-about__call{ right:auto; } }
.pp-about__call-icon{
  flex:0 0 44px; width:44px; height:44px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.18); font-size:17px;
}
.pp-about__call-label{
  display:block; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.9;
}
.pp-about__call-number{ display:block; font-size:clamp(18px, 1rem + .5vw, 22px); font-weight:700; line-height:1.3; }

.pp-about a:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }

/* tablet */
@media (min-width:576px) and (max-width:991px){
  .pp-about__figure{ aspect-ratio:16 / 10; min-height:0; }
}
/* phone */
@media (max-width:575px){
  .pp-about__figure{ aspect-ratio:4 / 3; min-height:0; }
  .pp-about .pp-about__call{ left:12px; right:12px; bottom:12px; padding:12px 14px; }
  .pp-about__btn{ flex:1 1 100%; }
}

/* ==========================================================================
   SECTION · PRODUCTS — "Start From the Job, Not the Product"  (.pp-jobs)
   Still a real <table> (row headers + column headers) so the job→product
   relationship stays machine-readable; styled as a list of rows on desktop
   and as stacked cards on phones.
   ========================================================================== */
.pp-jobs{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0; --tint:#f4f6fb;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 10px rgba(21,26,51,.06);
  --shadow-lift:0 14px 30px rgba(21,26,51,.10);
  padding:clamp(48px, 6vw, 88px) 0;
  background:var(--tint); color:var(--ink);
}
.pp-jobs__head{ max-width:720px; margin:0 auto 10px; text-align:center; }
.pp-jobs__eyebrow{
  margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red);
}
.pp-jobs__head h2{
  margin:0; color:var(--navy-dark);
  font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2;
}

.pp-jobs__table{
  width:100%; max-width:980px; margin:0 auto;
  border-collapse:separate; border-spacing:0 10px;
}
.pp-jobs__table caption{
  caption-side:top; text-align:center; padding:0 0 clamp(20px, 3vw, 30px);
  font-size:16px; line-height:1.6; color:var(--muted);
}
.pp-jobs__table thead th{
  padding:0 24px 4px; text-align:left;
  font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
  background:none; border:0;
}
.pp-jobs__table thead th:first-child{ width:44%; }

.pp-jobs__table tbody tr{ transition:transform .2s ease; }
.pp-jobs__table tbody th,
.pp-jobs__table tbody td{
  padding:16px 24px; background:#fff; vertical-align:middle;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.pp-jobs__table tbody th{
  border-left:1px solid var(--line); border-radius:var(--radius) 0 0 var(--radius);
  text-align:left; font-size:15.5px; font-weight:700; line-height:1.4; color:var(--navy-dark);
}
.pp-jobs__table tbody td{
  border-right:1px solid var(--line); border-radius:0 var(--radius) var(--radius) 0;
}
.pp-jobs__table tbody tr:hover th,
.pp-jobs__table tbody tr:hover td{ border-color:#cdd3e3; }
.pp-jobs__table tbody tr:hover{ transform:translateY(-2px); }
.pp-jobs__table tbody tr:hover th{ box-shadow:-4px 10px 22px -12px rgba(21,26,51,.18); }
.pp-jobs__table tbody tr:hover td{ box-shadow:4px 10px 22px -12px rgba(21,26,51,.18); }

.pp-jobs__table tbody th{ display:table-cell; }
.pp-jobs__job{ display:flex; align-items:center; gap:14px; }
.pp-jobs__icon{
  width:40px; height:40px; border-radius:10px; flex:0 0 40px;
  display:inline-flex; align-items:center; justify-content:center; vertical-align:middle;
  background:var(--navy); color:#fff; font-size:16px;
  transition:background .2s ease;
}
.pp-jobs__table tbody tr:hover .pp-jobs__icon{ background:var(--red); }

.pp-jobs__table td{ font-size:14px; }
.pp-jobs .pp-jobs__table td a{
  display:inline-flex; align-items:center; gap:6px; margin:4px 6px 4px 0;
  padding:7px 13px; border-radius:30px;
  background:var(--tint); border:1px solid var(--line);
  font-size:13.5px !important; font-weight:600 !important; line-height:1.3 !important;
  color:var(--navy) !important; text-decoration:none !important;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.pp-jobs .pp-jobs__table td a::after{
  content:"\f061"; font-family:"Font Awesome 5 Free"; font-weight:900; font-size:10px; color:var(--red);
}
.pp-jobs .pp-jobs__table td a:hover{ background:var(--navy); border-color:var(--navy); color:#fff !important; }
.pp-jobs .pp-jobs__table td a:hover::after{ color:#fff; }
.pp-jobs__note{ font-size:13.5px; color:var(--muted); font-style:italic; }

.pp-jobs__foot{
  max-width:720px; margin:clamp(20px, 3vw, 28px) auto 0; text-align:center;
  font-size:15.5px; line-height:1.7; color:var(--ink);
}
.pp-jobs .pp-jobs__foot a{ color:var(--red) !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }
.pp-jobs a:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }

/* ---------- phones + small tablets: each row becomes a card ---------- */
@media (max-width:767px){
  .pp-jobs__table, .pp-jobs__table tbody, .pp-jobs__table tr,
  .pp-jobs__table th, .pp-jobs__table td{ display:block; width:100%; }
  .pp-jobs__table{ border-spacing:0; }
  .pp-jobs__table caption{ display:block; width:100%; padding-bottom:20px; font-size:15px; }
  .pp-jobs__table thead{
    position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);
  }
  .pp-jobs__table tbody tr{
    margin-bottom:12px; background:#fff;
    border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  }
  .pp-jobs__table tbody tr:hover{ transform:none; }
  .pp-jobs__table tbody th,
  .pp-jobs__table tbody td{
    border:0 !important; border-radius:0 !important; box-shadow:none !important; background:transparent;
  }
  .pp-jobs__table tbody th{ padding:16px 16px 10px; font-size:15.5px; }
  .pp-jobs__table tbody td{ padding:0 16px 14px; }
  .pp-jobs__table tbody td::before{
    content:"Products to look at"; display:block; margin:0 0 4px;
    font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
  }
}

/* ==========================================================================
   SECTIONS · CORRUGATED BOXES — selection guide, benefits, why us, related
   Shared tokens on each section root so every block is self-contained.
   ========================================================================== */
.pp-sel, .pp-bene, .pp-why, .pp-rel{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0; --tint:#f4f6fb;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 10px rgba(21,26,51,.06);
  --shadow-lift:0 18px 38px rgba(21,26,51,.12);
  color:var(--ink);
}
.pp-sel__eyebrow, .pp-bene__eyebrow, .pp-why__eyebrow{
  margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red);
}
.pp-sel h2, .pp-bene h2, .pp-why h2{
  margin:0; color:var(--navy-dark);
  font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2;
}
.pp-sel a:focus-visible, .pp-bene a:focus-visible, .pp-why a:focus-visible, .pp-rel a:focus-visible{
  outline:3px solid #ffb703; outline-offset:2px;
}

/* ---------------------------------------------------------- selection guide */
.pp-sel{ padding:clamp(48px, 6vw, 88px) 0; background:#fff; }
.pp-sel__head{ max-width:760px; margin:0 auto clamp(26px, 3vw, 36px); text-align:center; }
.pp-sel__head p:not(.pp-sel__eyebrow){ margin:14px 0 0; font-size:16px; line-height:1.7; color:var(--muted); }
.pp-sel__sr{
  position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;
}
.pp-sel__wrap{
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  background:#fff;
}
.pp-sel__table{ width:100%; border-collapse:collapse; }
.pp-sel__table thead th{
  padding:16px 20px; background:var(--navy); color:#fff; text-align:left;
  font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
}
.pp-sel__table tbody th, .pp-sel__table tbody td{
  padding:18px 20px; border-top:1px solid var(--line); vertical-align:middle; text-align:left;
  font-size:15px; line-height:1.55;
}
.pp-sel__table tbody tr:nth-child(even){ background:#fafbfd; }
.pp-sel__table tbody tr:hover{ background:#f2f5fb; }
.pp-sel__table tbody th{ font-weight:700; color:var(--navy-dark); width:26%; }
.pp-sel__type{ display:flex; align-items:center; gap:12px; }
.pp-sel__type i{
  flex:0 0 36px; width:36px; height:36px; border-radius:9px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(207,33,39,.09); color:var(--red); font-size:15px;
}
.pp-sel__tag{
  display:inline-block; margin:3px 6px 3px 0; padding:5px 11px; border-radius:30px;
  background:var(--tint); border:1px solid var(--line);
  font-size:13px; font-weight:600; color:var(--navy); white-space:nowrap;
}
.pp-sel__note{
  display:flex; gap:12px; align-items:flex-start;
  max-width:980px; margin:20px auto 0; padding:16px 18px;
  background:var(--tint); border-radius:var(--radius-sm);
  font-size:14px; line-height:1.65; color:var(--muted);
}
.pp-sel__note i{ color:var(--navy); font-size:16px; line-height:1.5; flex:0 0 auto; }

@media (max-width:767px){
  .pp-sel__wrap{ border:0; box-shadow:none; background:transparent; overflow:visible; }
  .pp-sel__table, .pp-sel__table tbody, .pp-sel__table tr,
  .pp-sel__table th, .pp-sel__table td{ display:block; width:100% !important; }
  .pp-sel__table thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .pp-sel__table tbody tr{
    margin-bottom:14px; background:#fff !important;
    border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden;
  }
  .pp-sel__table tbody th{ padding:16px 16px 12px; border-top:0; background:var(--tint); }
  .pp-sel__table tbody td{ padding:12px 16px; font-size:14.5px; }
  .pp-sel__table tbody td::before{
    content:attr(data-label); display:block; margin-bottom:4px;
    font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
  }
}

/* ---------------------------------------------------------------- benefits */
.pp-bene{ padding:clamp(48px, 6vw, 88px) 0; background:var(--tint); }
.pp-bene__head{ max-width:720px; margin:0 auto clamp(28px, 3.5vw, 44px); text-align:center; }
.pp-bene__grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:clamp(16px, 2vw, 24px); grid-template-columns:1fr;
}
@media (min-width:640px){ .pp-bene__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1100px){ .pp-bene__grid{ grid-template-columns:repeat(3, 1fr); } }
.pp-bene__card{
  height:100%; padding:26px 24px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
  transition:box-shadow .25s ease, transform .25s ease;
}
.pp-bene__card:hover{ box-shadow:var(--shadow-lift); transform:translateY(-3px); }
.pp-bene__icon{
  width:46px; height:46px; margin-bottom:16px; border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--navy); color:#fff; font-size:18px; transition:background .25s ease;
}
.pp-bene__card:hover .pp-bene__icon{ background:var(--red); }
.pp-bene__card h3{ margin:0 0 8px; font-size:18px; line-height:1.35; color:var(--navy-dark); }
.pp-bene__card p{ margin:0; font-size:15px; line-height:1.65; color:var(--muted); }
.pp-bene .pp-bene__card p a{ color:var(--red) !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }

/* ------------------------------------------------------------------ why us */
.pp-why{ padding:clamp(48px, 6vw, 88px) 0; background:#fff; }
.pp-why__grid{ display:grid; grid-template-columns:1fr; gap:36px; align-items:start; }
@media (min-width:992px){
  .pp-why__grid{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(40px, 5vw, 72px); align-items:center; }
}
.pp-why__copy h2{ margin-bottom:20px; }
.pp-why__copy p{ margin:0 0 14px; max-width:64ch; font-size:16px; line-height:1.75; }
.pp-why__copy p:last-child{ margin-bottom:0; }
.pp-why .pp-why__copy p a{ color:var(--red) !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }

.pp-why__card{
  padding:clamp(24px, 3vw, 32px);
  background:linear-gradient(145deg, #253c61 0%, #151a33 100%);
  border-radius:var(--radius); box-shadow:var(--shadow-lift); color:#fff;
}
.pp-why__facts{ list-style:none; margin:0 0 22px; padding:0; display:grid; gap:14px; }
.pp-why__facts li{ display:flex; align-items:flex-start; gap:14px; font-size:14px; line-height:1.5; color:rgba(255,255,255,.78); }
.pp-why__facts i{
  flex:0 0 38px; width:38px; height:38px; border-radius:10px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.12); color:#fff; font-size:15px;
}
.pp-why__facts strong{ display:block; font-size:15.5px; color:#fff; }
.pp-why .pp-why__facts a{ color:#fff !important; text-decoration:none !important; }
.pp-why .pp-why__facts a:hover{ text-decoration:underline !important; }
.pp-why__card-label{
  margin:0 0 10px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14);
  font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7);
}
.pp-why__chips{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.pp-why__chips li{
  padding:6px 12px; border-radius:30px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  font-size:13px; font-weight:600; color:#fff;
}
.pp-why .pp-why__btn{
  display:flex; align-items:center; justify-content:center; width:100%;
  min-height:50px; padding:13px 24px; border-radius:var(--radius-sm);
  background:var(--red); color:#fff !important; font-size:15px; font-weight:600;
  text-decoration:none !important; transition:background .2s ease;
}
.pp-why .pp-why__btn:hover{ background:var(--red-dark); }

/* ----------------------------------------------------------------- related */
.pp-rel{ padding:0 0 clamp(40px, 5vw, 64px); background:#fff; }
.pp-rel__bar{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 28px;
  padding:22px 26px; background:var(--tint); border:1px solid var(--line); border-radius:var(--radius);
}
.pp-rel__bar h2{ margin:0; font-size:18px; line-height:1.3; color:var(--navy-dark); }
.pp-rel__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.pp-rel .pp-rel__list a{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 14px; border-radius:30px; background:#fff; border:1px solid var(--line);
  font-size:13.5px !important; font-weight:600 !important; line-height:1.3 !important;
  color:var(--navy) !important; text-decoration:none !important;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.pp-rel .pp-rel__list a::after{
  content:"\f061"; font-family:"Font Awesome 5 Free"; font-weight:900; font-size:10px; color:var(--red);
}
.pp-rel .pp-rel__list a:hover{ background:var(--navy); border-color:var(--navy); color:#fff !important; }
.pp-rel .pp-rel__list a:hover::after{ color:#fff; }
.pp-rel .pp-rel__list a.pp-rel__all{ background:var(--navy); border-color:var(--navy); color:#fff !important; }
.pp-rel .pp-rel__list a.pp-rel__all::after{ color:#fff; }
@media (max-width:575px){
  .pp-rel__bar{ padding:18px 16px; }
}
/* ---------- .pp-bene additions used on the other product pages ---------- */
.pp-bene__intro, .pp-bene__after{ max-width:760px; margin:0 auto; text-align:center; }
.pp-bene__intro{ margin-top:-12px; margin-bottom:clamp(24px, 3vw, 36px); }
.pp-bene__after{ margin-top:clamp(24px, 3vw, 36px); }
.pp-bene__intro p, .pp-bene__after p{ margin:0 0 12px; font-size:16px; line-height:1.75; color:var(--muted); }
.pp-bene__intro p:last-child, .pp-bene__after p:last-child{ margin-bottom:0; }
.pp-bene .pp-bene__intro a, .pp-bene .pp-bene__after a{ color:var(--red) !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }
.pp-bene__icon--num{ font-size:16px; font-weight:800; letter-spacing:.02em; }
ol.pp-bene__grid{ list-style:none; padding-left:0; }

/* ==========================================================================
   SECTION · STRETCH WRAP — "Industrial & Machine Stretch Wrap"  (.pp-range)
   ========================================================================== */
.pp-range{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0; --tint:#f4f6fb;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 10px rgba(21,26,51,.06);
  --shadow-lift:0 18px 38px rgba(21,26,51,.12);
  padding:clamp(48px, 6vw, 88px) 0;
  background:var(--tint); color:var(--ink);
}
.pp-range__grid{ display:grid; grid-template-columns:1fr; gap:32px; align-items:center; }
@media (min-width:992px){
  .pp-range__grid{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(40px, 5vw, 72px); }
}
.pp-range__eyebrow{
  margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red);
}
.pp-range__copy h2{
  margin:0 0 10px; color:var(--navy-dark);
  font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2;
}
.pp-range__sub{ margin:0 0 20px; font-size:17px; font-weight:600; color:var(--red); }
.pp-range__copy > p:not(.pp-range__eyebrow):not(.pp-range__sub){
  margin:0 0 14px; max-width:62ch; font-size:16px; line-height:1.75;
}
.pp-range .pp-range__copy p a{ color:var(--red) !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }

.pp-range__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.pp-range__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:13px 26px;
  font-size:15px; font-weight:600; line-height:1.2;
  border:2px solid transparent; border-radius:var(--radius-sm);
  text-decoration:none !important; text-transform:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.pp-range__btn--primary{ background:var(--red); color:#fff !important; }
.pp-range__btn--primary:hover{ background:var(--red-dark); }
.pp-range__btn--outline{ background:#fff; color:var(--navy) !important; border-color:var(--navy); }
.pp-range__btn--outline:hover{ background:var(--navy); color:#fff !important; }

.pp-range__card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-lift); overflow:hidden;
}
.pp-range__block{ padding:22px 24px; }
.pp-range__block + .pp-range__block{ border-top:1px solid var(--line); background:#fafbfd; }
.pp-range__label{
  margin:0 0 14px; font-size:12px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}
.pp-range__who{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pp-range__who li{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius-sm);
  font-size:14px; font-weight:600; line-height:1.35; color:var(--navy-dark);
}
.pp-range__who i{
  flex:0 0 32px; width:32px; height:32px; border-radius:8px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--navy); color:#fff; font-size:13px;
}
.pp-range__specs{ margin:0; display:grid; gap:0; }
.pp-range__specs > div{
  display:grid; grid-template-columns:110px 1fr; gap:12px; align-items:baseline;
  padding:10px 0; border-bottom:1px dashed var(--line);
}
.pp-range__specs > div:last-child{ border-bottom:0; padding-bottom:0; }
.pp-range__specs > div:first-child{ padding-top:0; }
.pp-range__specs dt{ font-size:13px; font-weight:700; color:var(--muted); }
.pp-range__specs dd{ margin:0; font-size:15px; font-weight:600; color:var(--navy-dark); }

.pp-range a:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }
@media (max-width:575px){
  .pp-range__who{ grid-template-columns:1fr; }
  .pp-range__block{ padding:18px 16px; }
  .pp-range__specs > div{ grid-template-columns:1fr; gap:2px; }
  .pp-range__btn{ flex:1 1 100%; }
}

/* ---------- .pp-ind / .pp-range additions (woven bags) ---------- */
@media (min-width:1200px){ .pp-ind__grid--4{ grid-template-columns:repeat(4, 1fr); } }
.pp-ind__card--cta{ background:linear-gradient(145deg, #253c61 0%, #151a33 100%); border-color:transparent; }
.pp-ind__card--cta h3{ color:#fff !important; }
.pp-ind__card--cta .pp-ind__icon{ background:rgba(255,255,255,.14); }
.pp-ind__card--cta:hover .pp-ind__icon{ background:var(--red); }
.pp-ind__card--cta .pp-ind__links{ border-top-color:rgba(255,255,255,.16); }
.pp-ind .pp-ind__card--cta .pp-ind__links a{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); color:#fff !important; }
.pp-ind .pp-ind__card--cta .pp-ind__links a::after{ color:#ff8a8e; }
.pp-ind .pp-ind__card--cta .pp-ind__links a:hover{ background:#fff; color:var(--navy) !important; }
.pp-ind .pp-ind__card--cta .pp-ind__links a:hover::after{ color:var(--red); }

.pp-range__qc{
  display:flex; gap:18px; align-items:flex-start;
  margin-top:clamp(28px, 4vw, 44px); padding:clamp(20px, 3vw, 28px);
  background:#fff; border:1px solid var(--line); border-left:4px solid var(--red);
  border-radius:var(--radius);
}
.pp-range__qc-icon{
  flex:0 0 46px; width:46px; height:46px; border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(207,33,39,.09); color:var(--red); font-size:18px;
}
.pp-range__qc h3{ margin:0 0 8px; font-size:19px; line-height:1.3; color:var(--navy-dark); }
.pp-range__qc p{ margin:0; font-size:15.5px; line-height:1.75; }
@media (max-width:575px){
  .pp-range__qc{ flex-direction:column; gap:12px; }
}

.pp-range--white{ background:#fff; }
.pp-range--white .pp-range__qc{ background:#fafbfd; }

/* ==========================================================================
   COMPONENT · numbered process steps  (.pp-steps inside .pp-bene--steps)
   Four steps in one row on desktop joined by a connector line, 2×2 on
   tablet, a vertical timeline on phones; the closing sentence becomes a CTA bar.
   ========================================================================== */
.pp-steps__intro{ max-width:780px; margin:-12px auto clamp(32px, 4vw, 48px); text-align:center; }
.pp-steps__intro p{ margin:0 0 12px; font-size:16px; line-height:1.75; color:var(--muted); }
.pp-steps__intro p:last-child{ margin-bottom:0; }
.pp-steps__lead{ color:var(--ink) !important; }
.pp-steps__lead strong{ color:var(--navy-dark); }

.pp-steps{
  list-style:none; margin:0; padding:0; position:relative;
  display:grid; gap:20px; grid-template-columns:1fr;
  counter-reset:none;
}
@media (min-width:640px){ .pp-steps{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1100px){
  .pp-steps{ grid-template-columns:repeat(4, 1fr); gap:24px; }
  /* connector line through the number badges */
  .pp-steps::before{
    content:""; position:absolute; top:26px; left:12%; right:12%; height:2px;
    background:repeating-linear-gradient(90deg, #cdd3e3 0 8px, transparent 8px 14px);
  }
}
.pp-steps__item{
  position:relative; height:100%;
  padding:42px 22px 22px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
  transition:box-shadow .25s ease, transform .25s ease;
}
.pp-steps__item:hover{ box-shadow:var(--shadow-lift); transform:translateY(-3px); }
.pp-steps__num{
  position:absolute; z-index:1; top:-26px; left:22px;
  width:52px; height:52px; margin:0; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--navy); color:#fff; font-size:16px; font-weight:800; letter-spacing:.02em;
  box-shadow:0 0 0 6px var(--tint);
  transition:background .25s ease;
}
.pp-steps__item:hover .pp-steps__num{ background:var(--red); }
.pp-steps__item h3{ margin:0 0 8px; font-size:17.5px; line-height:1.35; color:var(--navy-dark); }
.pp-steps__item p{ margin:0; font-size:15px; line-height:1.65; color:var(--muted); }
@media (min-width:640px){ .pp-steps{ padding-top:26px; row-gap:48px; } }

.pp-steps__cta{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 32px;
  margin-top:clamp(32px, 4vw, 44px); padding:clamp(20px, 3vw, 28px) clamp(20px, 3vw, 32px);
  background:linear-gradient(135deg, #253c61 0%, #151a33 100%);
  border-radius:var(--radius); color:#fff;
}
.pp-steps__cta-text{ flex:1 1 440px; }
.pp-steps__cta-text p{ margin:0; font-size:16px; line-height:1.65; color:rgba(255,255,255,.88); }
.pp-steps__cta-text strong{ color:#fff; }
.pp-steps__cta-sub{ margin-top:6px !important; font-size:14.5px !important; color:rgba(255,255,255,.72) !important; }
.pp-bene .pp-steps__cta-sub a{ color:#fff !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }
.pp-bene .pp-steps__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:13px 28px; border-radius:var(--radius-sm);
  background:var(--red); color:#fff !important; font-size:15px; font-weight:600;
  text-decoration:none !important; white-space:nowrap; transition:background .2s ease;
}
.pp-bene .pp-steps__btn:hover{ background:var(--red-dark); }

/* phones: vertical timeline */
@media (max-width:639px){
  .pp-steps{ gap:0; padding-left:26px; }
  .pp-steps::before{
    content:""; position:absolute; top:20px; bottom:20px; left:25px; width:2px;
    background:repeating-linear-gradient(180deg, #cdd3e3 0 8px, transparent 8px 14px);
  }
  .pp-steps__item{ margin:0 0 14px 22px; padding:18px 16px; }
  .pp-steps__num{ position:absolute; left:-49px; top:16px; margin:0; width:44px; height:44px; font-size:14px; }
  .pp-bene .pp-steps__btn{ width:100%; white-space:normal; }
}

/* ========== modifiers used on the FIBC page (reusable) ========== */
.pp-bene--white{ background:#fff; }
.pp-ind--white{ background:#fff; }

/* 6th grid slot as a navy CTA card */
.pp-bene__card--cta{ background:linear-gradient(145deg, #253c61 0%, #151a33 100%); border-color:transparent; }
.pp-bene__card--cta h3{ color:#fff !important; }
.pp-bene__card--cta p{ color:rgba(255,255,255,.8) !important; }
.pp-bene__card--cta .pp-bene__icon{ background:rgba(255,255,255,.14); }
.pp-bene__card--cta:hover .pp-bene__icon{ background:var(--red); }
.pp-bene .pp-bene__card--cta p a{ color:#fff !important; }

/* grouped lists: "Types we manufacture", customisation options */
.pp-types__card{
  height:100%; padding:24px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
}
.pp-types__head{ display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.pp-types__head .pp-bene__icon{ margin:0; flex:0 0 46px; }
.pp-types__head h3{ margin:0; font-size:18px; line-height:1.3; color:var(--navy-dark); }
.pp-types__list{ list-style:none; margin:0; padding:0; }
.pp-types__list li{
  position:relative; padding:9px 0 9px 26px; border-top:1px solid var(--line);
  font-size:15px; font-weight:600; line-height:1.5; color:var(--navy-dark);
}
.pp-types__list li:first-child{ border-top:0; padding-top:0; }
.pp-types__list li:first-child::before{ top:3px; }
.pp-types__list li::before{
  content:"\f00c"; font-family:"Font Awesome 5 Free"; font-weight:900;
  position:absolute; left:0; top:12px; font-size:12px; color:var(--red);
}
.pp-types__list li span{ display:block; font-size:13.5px; font-weight:400; color:var(--muted); }
.pp-types__note{ margin-top:clamp(20px, 3vw, 28px) !important; }

/* customisation & ordering */
.pp-range__head{ max-width:820px; margin:0 0 clamp(24px, 3vw, 36px); }
.pp-range__head h2{
  margin:0 0 14px; color:var(--navy-dark);
  font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2;
}
.pp-range__head p:not(.pp-range__eyebrow){ margin:0; font-size:16px; line-height:1.75; }
.pp-range__pair{ display:grid; grid-template-columns:1fr; gap:20px; }
@media (min-width:992px){ .pp-range__pair{ grid-template-columns:1fr 1fr; gap:24px; } }
.pp-range__pair .pp-range__card{ height:100%; }
.pp-range__pair .pp-range__block{ height:100%; display:flex; flex-direction:column; }
.pp-range__numbered{ list-style:none; margin:0 0 20px; padding:0; counter-reset:pp-step; }
.pp-range__numbered li{
  counter-increment:pp-step; position:relative;
  padding:9px 0 9px 40px; border-top:1px solid var(--line);
  font-size:15px; font-weight:600; line-height:1.5; color:var(--navy-dark);
}
.pp-range__numbered li:first-child{ border-top:0; padding-top:4px; }
.pp-range__numbered li::before{
  content:counter(pp-step); position:absolute; left:0; top:8px;
  width:26px; height:26px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--navy); color:#fff; font-size:12.5px; font-weight:700;
}
.pp-range__numbered li:first-child::before{ top:3px; }
.pp-range__btn--block{ width:100%; margin-top:auto; }

/* style.css ships `ul li { display:inline }` site-wide — undo it for content lists */
.pp-types__list li,
.pp-prose ul li, .pp-article ul li, .accordion-body ul li{ display:list-item; }
.pp-types__list li{ display:block; }

/* ---------- .pp-range: top-aligned variant + secondary text link ---------- */
@media (min-width:992px){ .pp-range__grid--top{ align-items:start; } }
.pp-range .pp-range__link{
  display:block; margin-top:14px; text-align:center;
  font-size:14px; font-weight:600; color:var(--navy) !important;
  text-decoration:underline !important; text-underline-offset:2px;
}
.pp-range .pp-range__link:hover{ color:var(--red) !important; }
.pp-range__copy h2 + p:not(.pp-range__sub){ margin-top:18px !important; }

/* ---------- .pp-steps--5 : five steps in one row on wide screens ---------- */
@media (min-width:1200px){
  .pp-steps--5{ grid-template-columns:repeat(5, 1fr); gap:18px; }
  .pp-steps--5::before{ left:10%; right:10%; }
  .pp-steps--5 .pp-steps__item{ padding:40px 18px 20px; }
  .pp-steps--5 .pp-steps__num{ left:18px; }
  .pp-steps--5 .pp-steps__item h3{ font-size:16.5px; }
  .pp-steps--5 .pp-steps__item p{ font-size:14.5px; }
}
/* 992–1199: 3 + 2, second row centred */
@media (min-width:992px) and (max-width:1199px){
  .pp-steps--5{ grid-template-columns:repeat(6, 1fr); }
  .pp-steps--5 .pp-steps__item{ grid-column:span 2; }
  .pp-steps--5 .pp-steps__item:nth-child(4){ grid-column:2 / span 2; }
  .pp-steps--5::before{ display:none; }
}
/* white-background variant: badge ring matches the section */
.pp-bene--white .pp-steps__num{ box-shadow:0 0 0 6px #fff; }
/* 640–991: 2 + 2, fifth step spans the row */
@media (min-width:640px) and (max-width:991px){ .pp-steps--5 .pp-steps__item:last-child{ grid-column:1 / -1; } }

/* ==========================================================================
   COMPONENT · product intro + alternating image/text rows  (.pp-prod)
   Replaces the template's .premium-corrugated / .product-row blocks, which
   exist on every product page.
   ========================================================================== */
.pp-prod{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0; --tint:#f4f6fb;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 10px rgba(21,26,51,.06);
  --shadow-lift:0 18px 38px rgba(21,26,51,.12);
  padding:clamp(40px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
  background:#fff; color:var(--ink);
}
.pp-prod__intro{ max-width:860px; margin:0 0 clamp(36px, 5vw, 64px); }
.pp-prod__intro h1{
  margin:0 0 14px; color:var(--navy-dark);
  font-size:clamp(28px, 1.3rem + 1.5vw, 42px) !important; line-height:1.18 !important; font-weight:800;
}
.pp-prod__strap{ margin:0 0 16px; font-size:clamp(16px, .95rem + .3vw, 18.5px); line-height:1.65; color:var(--navy-dark); }
.pp-prod__intro p{ margin:0 0 14px; font-size:16px; line-height:1.75; }
.pp-prod__note{
  display:inline-block; margin:6px 0 0 !important; padding:10px 16px;
  background:var(--tint); border-left:3px solid var(--red); border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  font-size:14.5px !important; color:var(--ink);
}

.pp-prod__row{
  display:grid; grid-template-columns:1fr; gap:28px; align-items:center;
  padding:clamp(28px, 4vw, 48px) 0; border-top:1px solid var(--line);
}
@media (min-width:992px){
  .pp-prod__row{ grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(40px, 5vw, 72px); }
  .pp-prod__row--flip{ grid-template-columns:minmax(0,6fr) minmax(0,5fr); }
  .pp-prod__row--flip .pp-prod__media{ order:2; }
}
.pp-prod__media{
  margin:0; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lift);
  aspect-ratio:3 / 2; background:var(--tint);
}
.pp-prod__media img{ display:block; width:100%; height:100%; object-fit:cover; }
.pp-prod__eyebrow{
  margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red);
}
.pp-prod__body h2{
  margin:0 0 16px; color:var(--navy-dark);
  font-size:clamp(23px, 1.1rem + .9vw, 30px); line-height:1.25;
}
.pp-prod__body > p:not(.pp-prod__eyebrow){ margin:0 0 14px; font-size:16px; line-height:1.75; }
.pp-prod__list{ margin:18px 0 6px !important; }
.pp-prod__avail{ margin:18px 0 4px; }
.pp-prod__avail-label{
  display:block; margin-bottom:10px; font-size:12px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}
.pp-prod__avail ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.pp-prod__avail li{
  padding:7px 13px; border-radius:30px; background:var(--tint); border:1px solid var(--line);
  font-size:13.5px; font-weight:600; color:var(--navy);
}
.pp-prod .pp-prod__link{
  display:inline-flex; align-items:center; gap:8px; margin-top:18px;
  font-size:15px; font-weight:600; color:var(--red) !important; text-decoration:none !important;
}
.pp-prod .pp-prod__link i{ transition:transform .2s ease; }
.pp-prod .pp-prod__link:hover i{ transform:translateX(4px); }
.pp-prod .pp-prod__body p a{ color:var(--red) !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }
.pp-prod a:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }
@media (max-width:575px){
  .pp-prod__row{ gap:20px; }
  .pp-prod__note{ display:block; }
}
.pp-bene .pp-steps__cta-text p a{ color:#fff !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }

/* ---------- checklist variant (retail "What to Have Ready") ---------- */
.pp-check{ list-style:none; margin:0; padding:0; }
.pp-check li{
  position:relative; padding:14px 0 14px 40px; border-top:1px solid var(--line);
}
.pp-check li:first-child{ border-top:0; padding-top:2px; }
.pp-check li::before{
  content:"\f00c"; font-family:"Font Awesome 5 Free"; font-weight:900;
  position:absolute; left:0; top:15px;
  width:24px; height:24px; border-radius:6px; border:2px solid var(--red);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:11px; color:var(--red); background:#fff;
}
.pp-check li:first-child::before{ top:3px; }
.pp-check strong{ display:block; font-size:15.5px; line-height:1.4; color:var(--navy-dark); }
.pp-check span{ display:block; margin-top:4px; font-size:14.5px; line-height:1.6; color:var(--muted); }

.pp-check__promise{
  display:flex !important; gap:12px; align-items:flex-start;
  margin-top:20px !important; padding:16px 18px;
  background:var(--tint); border-radius:var(--radius-sm);
  font-weight:600; color:var(--navy-dark);
}
.pp-check__promise i{ color:var(--red); font-size:18px; line-height:1.5; flex:0 0 auto; }

/* ========== INDUSTRIES hub: intro + 12-slot grid ========== */
.pp-ind--hub{ padding-top:clamp(40px, 5vw, 72px); }
.pp-ind--hub .pp-prod__intro{ max-width:880px; margin:0 0 clamp(32px, 4vw, 48px); }
.pp-ind--hub .pp-prod__intro h1{
  margin:0 0 14px; color:var(--navy-dark);
  font-size:clamp(28px, 1.3rem + 1.5vw, 42px) !important; line-height:1.18 !important; font-weight:800;
}
.pp-ind--hub .pp-prod__strap{ margin:0 0 16px; font-size:clamp(16px, .95rem + .3vw, 18.5px); line-height:1.65; color:var(--navy-dark); }
.pp-ind--hub .pp-prod__intro p{ margin:0 0 14px; font-size:16px; line-height:1.75; }
/* card titles are H2 on this page (each sector is a top-level topic); styled like the H3 cards elsewhere */
.pp-ind__title{ margin:0 0 8px !important; font-size:18.5px !important; line-height:1.3 !important; color:var(--navy-dark); }
.pp-ind__card--cta .pp-ind__title{ color:#fff !important; }
.pp-ind__card--cta > p{ color:rgba(255,255,255,.8) !important; }
.pp-ind__card--info{ background:var(--tint); border-style:dashed; }
.pp-ind__card--info .pp-ind__icon{ background:var(--red); }
.pp-ind__disclaimer{ max-width:820px; margin:clamp(20px, 3vw, 28px) auto 0; text-align:center; font-size:13.5px; line-height:1.6; color:var(--muted); }

/* ========== INDUSTRIES: packaging stages flow ========== */
.pp-stages{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0; --tint:#f4f6fb;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 10px rgba(21,26,51,.06); --shadow-lift:0 18px 38px rgba(21,26,51,.12);
  padding:clamp(48px, 6vw, 88px) 0; background:var(--tint); color:var(--ink);
}
.pp-stages__head{ max-width:780px; margin:0 auto clamp(28px, 3.5vw, 44px); text-align:center; }
.pp-stages__eyebrow{ margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--red); }
.pp-stages__head h2{ margin:0 0 14px; color:var(--navy-dark); font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2; }
.pp-stages__head p:not(.pp-stages__eyebrow){ margin:0; font-size:16px; line-height:1.75; color:var(--muted); }

.pp-stages__flow{ list-style:none; margin:0; padding:0; display:grid; gap:20px; grid-template-columns:1fr; }
@media (min-width:992px){ .pp-stages__flow{ grid-template-columns:repeat(3, 1fr); gap:44px; } }
.pp-stages__card{
  position:relative; height:100%; padding:26px 24px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
}
@media (min-width:992px){
  .pp-stages__card:not(:last-child)::after{
    content:"\f054"; font-family:"Font Awesome 5 Free"; font-weight:900;
    position:absolute; right:-32px; top:50%; transform:translateY(-50%);
    width:22px; height:22px; display:flex; align-items:center; justify-content:center;
    font-size:14px; color:var(--red);
  }
}
.pp-stages__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.pp-stages__icon{
  width:48px; height:48px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center;
  background:var(--navy); color:#fff; font-size:19px;
}
.pp-stages__step{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.pp-stages__card h3{ margin:0 0 4px; font-size:21px; line-height:1.25; color:var(--navy-dark); }
.pp-stages__does{ margin:0 0 16px; font-size:15px; font-weight:600; color:var(--red); }
.pp-stages__links{ list-style:none; margin:0; padding:14px 0 0; border-top:1px solid var(--line); }
.pp-stages__links li{ display:block; padding:6px 0; }
.pp-stages .pp-stages__links a, .pp-stages__links span{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14.5px !important; font-weight:600 !important; line-height:1.45 !important;
  color:var(--navy) !important; text-decoration:none !important;
}
.pp-stages .pp-stages__links a::after{ content:"\f061"; font-family:"Font Awesome 5 Free"; font-weight:900; font-size:10px; color:var(--red); }
.pp-stages .pp-stages__links a:hover{ color:var(--red) !important; }
.pp-stages__links span{ color:var(--muted) !important; }
.pp-stages__foot{ max-width:820px; margin:clamp(28px, 4vw, 40px) auto 0; text-align:center; font-size:15.5px; line-height:1.75; }
.pp-stages .pp-stages__foot a{ color:var(--red) !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }
.pp-stages a:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }

/* ========== RESOURCES: intro jump links, quick-answer cards, guide cards ========== */
.pp-res-intro{ padding-bottom:clamp(28px, 4vw, 44px); }
.pp-res-intro .pp-prod__intro{ margin-bottom:24px; }
.pp-res__jump{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.pp-res__jump-label{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.pp-res__jump ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.pp-prod .pp-res__jump a{
  display:inline-block; padding:7px 14px; border-radius:30px;
  background:var(--tint); border:1px solid var(--line);
  font-size:13.5px !important; font-weight:600 !important; color:var(--navy) !important; text-decoration:none !important;
  transition:background .2s ease, color .2s ease;
}
.pp-prod .pp-res__jump a:hover{ background:var(--navy); color:#fff !important; }

.pp-res{
  --navy:#253c61; --navy-dark:#151a33; --red:#cf2127; --red-dark:#a8171c;
  --ink:#3e3e3e; --muted:#6a7280; --line:#e2e6f0; --tint:#f4f6fb;
  --radius:12px; --shadow:0 2px 10px rgba(21,26,51,.06); --shadow-lift:0 18px 38px rgba(21,26,51,.12);
  padding:clamp(48px, 6vw, 80px) 0; background:var(--tint); color:var(--ink);
}
.pp-res__head{ max-width:720px; margin:0 auto clamp(26px, 3vw, 40px); text-align:center; }
.pp-res__eyebrow{ margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--red); }
.pp-res__head h2{ margin:0; color:var(--navy-dark); font-size:clamp(26px, 1.2rem + 1.2vw, 36px); line-height:1.2; }
.pp-res__grid{ display:grid; gap:clamp(16px, 2vw, 24px); grid-template-columns:1fr; }
@media (min-width:768px){ .pp-res__grid{ grid-template-columns:1fr 1fr; } }
.pp-res__card{
  display:flex; flex-direction:column; height:100%;
  padding:26px 26px 24px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
  scroll-margin-top:120px;
}
.pp-res__card:target{ border-color:var(--red); box-shadow:0 0 0 3px rgba(207,33,39,.15), var(--shadow-lift); }
.pp-res__tag{
  align-self:flex-start; display:inline-flex; align-items:center; gap:7px; margin-bottom:14px;
  padding:5px 11px; border-radius:30px; background:rgba(207,33,39,.08);
  font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--red);
}
.pp-res__card h3{ margin:0 0 10px; font-size:clamp(17.5px, 1rem + .3vw, 19.5px); line-height:1.35; color:var(--navy-dark); }
.pp-res__card p{ margin:0 0 16px; font-size:15px; line-height:1.72; }
.pp-res .pp-res__card p a{ color:var(--red) !important; font-weight:600 !important; text-decoration:underline; text-underline-offset:2px; }
.pp-res .pp-res__more{
  margin-top:auto; padding-top:14px; border-top:1px solid var(--line);
  display:inline-flex; align-items:center; gap:8px;
  font-size:14.5px; font-weight:600; color:var(--navy) !important; text-decoration:none !important;
}
.pp-res .pp-res__more:hover{ color:var(--red) !important; }
.pp-res a:focus-visible, .pp-res-intro a:focus-visible{ outline:3px solid #ffb703; outline-offset:2px; }

/* guide cards: link pinned to the base */
.pp-guide{ display:flex; flex-direction:column; }
.pp-bene .pp-guide__link{
  margin-top:auto; padding-top:16px; display:inline-flex; align-items:center; gap:8px;
  font-size:14.5px; font-weight:600; color:var(--red) !important; text-decoration:none !important;
}
.pp-guide__link i{ transition:transform .2s ease; }
.pp-guide:hover .pp-guide__link i{ transform:translateX(4px); }
.pp-bene .pp-bene__card--cta .pp-guide__link{ color:#fff !important; }
.pp-bene--white{ background:#fff; }

/* ========== reCAPTCHA v3: badge hidden, required notice shown under each form ========== */
.grecaptcha-badge{ visibility:hidden !important; }
.pp-recaptcha-notice{ margin:14px 0 0 !important; font-size:12px !important; line-height:1.5 !important; color:#6a7280 !important; }
.pp-recaptcha-notice a{ color:inherit !important; font-size:inherit !important; text-decoration:underline !important; }
button[disabled]{ opacity:.7; cursor:wait; }
