/* =========================================================================
   BRAND TOKENS — 1 CHOICE PEST CONTROL — change colors/fonts here = whole site
   ========================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=JetBrains+Mono:wght@400;500;600&display=swap');
:root{
  /* brand */
  --c-primary:#0A1E32;          /* deep navy */
  --c-primary-dark:#06121E;     /* darker navy */
  --c-ink:#10243A;              /* headings/ink */
  --c-accent:#E4572E;           /* terracotta */
  --c-accent-2:#FF6B3D;         /* accent hover */
  --c-accent-soft:#FF9A6B;      /* accent gradient */

  /* neutrals */
  --c-paper:#F4F1EA;            /* cream page base */
  --c-paper-2:#EEEAE1;          /* warmer cream */
  --c-paper-3:#FBF9F5;          /* off-white */
  --c-light:#FFFFFF;
  --c-ink-2:#4A6076;            /* body text */
  --c-ink-3:#7E9AB5;            /* muted mono */
  --c-blue:#8FB8DE;             /* light steel blue */
  --c-line:rgba(16,36,58,0.10); /* hairline */
  --c-line-2:rgba(16,36,58,0.16);
  --c-line-light:rgba(255,255,255,0.09);

  /* type */
  --font-head:'Bricolage Grotesque',sans-serif;
  --font-body:'Bricolage Grotesque',sans-serif;
  --font-mono:'JetBrains Mono',monospace;

  --fs-h1:clamp(32px,4.2vw,58px);
  --fs-h2:clamp(33px,3.9vw,56px);
  --fs-h3:clamp(27px,2.8vw,40px);
  --fs-body:17px;

  /* scaffolding */
  --space-section:clamp(64px,7vw,112px);
  --gap:30px;
  --r-sm:14px;
  --r-md:22px;
  --r-lg:24px;
  --r-pill:999px;
  --grid-cell:68px;             /* blueprint grid size */

  --shadow-card:0 30px 64px -46px rgba(16,36,58,0.95);
  --shadow-card-hover:0 42px 84px -44px rgba(16,36,58,1);
  --ease:cubic-bezier(0.2,0.7,0.2,1);
}
@media all and (max-width:640px){
  :root{ --space-section:56px; --gap:18px; }
}

/* base type inside wrapper */
/* Scoped to .is-wrapper + tag + class so these beat any theme h1/h2/h3 rule. */
.is-wrapper h2.ocp-h2,
.is-wrapper h3.ocp-h3{
  font-family:var(--font-head); color:var(--c-ink); text-wrap:balance; opacity:1;
}
/* hero banner heading — beat theme dark-text / highlight-box styling */
.is-wrapper .ocp-hero .bn-content h1,
.is-wrapper .ocp-hero .bn-content h1.banner-main-heading{
  font-family:var(--font-head); text-wrap:balance; opacity:1;
  color:var(--c-light) !important;
  -webkit-text-fill-color:var(--c-light) !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  box-shadow:none; mix-blend-mode:normal;
}
.is-wrapper h2.ocp-cta-h2{ color:var(--c-light); }
.is-wrapper .ocp-body{ font-family:var(--font-body); color:var(--c-ink-2); }


/* =========================================================================
   PAGE-LEVEL FIXED ELEMENTS
   ========================================================================= */
.ocp-scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,var(--c-accent),var(--c-accent-soft));
  z-index:60; pointer-events:none; transition:width .08s linear;
}
.ocp-grain{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAiIGhlaWdodD0iMTYwIj48ZmlsdGVyIGlkPSJuIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iMC44NSIgbnVtT2N0YXZlcz0iMyIvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPSIxNjAiIGhlaWdodD0iMTYwIiBmaWx0ZXI9InVybCgjbikiLz48L3N2Zz4=");
  background-size:160px 160px;
}


/* =========================================================================
   SHARED PRIMITIVES
   ========================================================================= */
.ocp-eyebrow{
  display:flex; align-items:center; gap:12px;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.26em;
  text-transform:uppercase; line-height:1.4;
}
.ocp-eyebrow-line{ width:34px; height:1px; background:var(--c-accent); flex:none; }
.ocp-eyebrow-light{ color:var(--c-blue); }
.ocp-eyebrow-accent{ color:var(--c-accent); }
.ocp-eyebrow-flat{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--c-accent);
}

.ocp-h2{
  margin:0; font-family:var(--font-head); font-weight:700;
  font-size:var(--fs-h2); line-height:1.02; letter-spacing:-.04em; color:var(--c-ink);
}
.ocp-h3{
  margin:0; font-family:var(--font-head); font-weight:700;
  font-size:var(--fs-h3); line-height:1.08; letter-spacing:-.033em; color:var(--c-ink);
}
.ocp-body{
  margin:0; font-size:var(--fs-body); line-height:1.72; color:var(--c-ink-2); max-width:54ch;
}

/* buttons */
.ocp-btn{
  display:inline-flex; align-items:center; gap:12px; white-space:nowrap;
  border-radius:var(--r-pill); font-family:var(--font-head); font-weight:600;
  letter-spacing:-.012em; text-decoration:none;
  transition:transform .25s var(--ease), background-color .25s ease,
             box-shadow .25s ease, color .25s ease, border-color .25s ease;
}
.ocp-btn-accent{
  background:var(--c-accent); color:var(--c-light); padding:16px 30px; font-size:15px;
  box-shadow:0 18px 40px -22px rgba(228,87,46,.95);
}
.ocp-btn-accent:hover{ background:var(--c-accent-2); color:var(--c-light); transform:translateY(-3px); }
.ocp-btn-lg{ padding:20px 36px; font-size:17px; box-shadow:0 22px 50px -20px rgba(228,87,46,1); }
.ocp-btn-ghost{
  color:var(--c-light); padding:16px 30px; font-size:15px;
  border:1px solid rgba(255,255,255,.32); backdrop-filter:blur(6px);
}
.ocp-btn-ghost:hover{ background:rgba(255,255,255,.12); color:var(--c-light); transform:translateY(-3px); }
.ocp-btn-ink{
  align-self:flex-start; background:var(--c-ink); color:var(--c-light); padding:16px 30px; font-size:15px;
}
.ocp-btn-ink:hover{ background:var(--c-accent); color:var(--c-light); transform:translateY(-3px); }
.ocp-btn-arrow .ocp-arrow{ font-family:var(--font-mono); font-size:15px; }

/* barcode divider */
.ocp-barcode{
  height:18px; opacity:.9;
  background-image:repeating-linear-gradient(90deg,
    rgba(16,36,58,.34) 0 1px, transparent 1px 5px);
  background-repeat:no-repeat; background-size:100% 18px;
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0 1px, transparent 1px 5px);
  mask-image:repeating-linear-gradient(90deg,#000 0 1px, transparent 1px 5px);
  max-width:180px;
}
/* fallback simple bars: real bars via tall/short via linear-gradient */
.ocp-barcode{
  background:none;
  background-image:
    repeating-linear-gradient(90deg,
      rgba(16,36,58,.34) 0 1px, transparent 1px 4px,
      rgba(16,36,58,.2) 4px 5px, transparent 5px 8px,
      rgba(16,36,58,.2) 8px 9px, transparent 9px 12px,
      rgba(16,36,58,.2) 12px 13px, transparent 13px 16px);
  height:18px; max-width:210px;
}

/* corner ticks */
.ocp-corner{ position:absolute; width:15px; height:15px; }
.ocp-corner-tl{ top:10px; left:10px; border-top:2px solid rgba(16,36,58,.2); border-left:2px solid rgba(16,36,58,.2); }
.ocp-corner-tr{ top:16px; right:16px; border-top:2px solid rgba(16,36,58,.2); border-right:2px solid rgba(16,36,58,.2); }
.ocp-corner-bl{ bottom:16px; left:16px; border-bottom:2px solid rgba(16,36,58,.2); border-left:2px solid rgba(16,36,58,.2); }
.ocp-corner-br{ bottom:10px; right:10px; border-bottom:2px solid rgba(16,36,58,.2); border-right:2px solid rgba(16,36,58,.2); }
.ocp-corner-accent{ border-color:var(--c-accent) !important; }
.ocp-corner-white{ border-color:rgba(255,255,255,.9) !important; top:12px; left:12px; }
.ocp-corner-white.ocp-corner-br{ top:auto; left:auto; bottom:12px; right:12px; }

.ocp-card-tab{
  position:absolute; top:-1px; left:38px; width:66px; height:2px; background:var(--c-accent);
}


/* =========================================================================
   HERO — Webware bnl-0 / .bn-content pattern
   ========================================================================= */
.is-wrapper > .ocp-hero,
.is-wrapper .ocp-hero{ background:var(--c-primary); }
.ocp-hero .pos-rel-ban{ position:relative; overflow:hidden; }
.ocp-hero .bn-content img,
.ocp-hero .cell.full > img{ width:100%; display:block; }
.ocp-hero .cell.full > img{ object-fit:cover; }

/* base image height so the banner has presence */
.ocp-hero .show-for-large{ min-height:min(78vh,720px); object-fit:cover; }

/* dark scrim so white text always reads over any photo */
.ocp-hero .bn-overlay{
  position:absolute; inset:0; pointer-events:none; display:block;
  background:linear-gradient(96deg,
    rgba(6,18,30,.72) 0%, rgba(8,24,40,.5) 46%,
    rgba(10,30,50,.28) 78%, rgba(10,30,50,.15) 100%);
}
.ocp-hero-scanline{
  position:absolute; left:0; right:0; top:0; height:2px; pointer-events:none; z-index:2;
  background:linear-gradient(90deg, rgba(143,184,222,0) 0%, rgba(143,184,222,.5) 50%, rgba(143,184,222,0) 100%);
  animation:ocp-scanline 9s linear infinite;
}

/* content overlay */
.ocp-hero .pos-ab-ban{ z-index:3; }
.in-banner-desc,
.ocp-hero .bn-content{
  max-width:620px; text-align:left; margin-left:0; margin-right:auto;
  padding:clamp(26px,3vw,40px) clamp(24px,2.6vw,40px); border-radius:16px;
  background:linear-gradient(100deg, rgba(6,20,34,.92) 0%, rgba(6,20,34,.86) 100%);
  color:var(--c-light);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.7);
}
.ocp-hero .bn-content .ocp-eyebrow{ margin-bottom:18px; }
.ocp-hero .bn-content h1{
  color:var(--c-light) !important;
  -webkit-text-fill-color:var(--c-light) !important;
  background:none !important;
  -webkit-background-clip:border-box !important; background-clip:border-box !important;
  font-family:var(--font-head); font-weight:800;
  font-size:clamp(28px,3.6vw,50px); line-height:1.06; letter-spacing:-.03em;
  margin:0 0 14px; text-wrap:balance;
}
.ocp-hero .bn-content p{
  color:rgba(255,255,255,.9); font-family:var(--font-body);
  font-size:clamp(15px,1.15vw,17px); line-height:1.7; margin:0 0 18px;
}
.ocp-hero .bn-content p:last-child{ margin-bottom:0; }
.ocp-hero-btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:4px; }

/* buttons — use the Webware .button base, brand-skinned */
.ocp-hero .button.ocp-btn-accent{
  display:inline-block; background:var(--c-accent); color:var(--c-light);
  padding:15px 30px; border-radius:var(--r-pill); font-family:var(--font-head);
  font-weight:600; font-size:15px; letter-spacing:-.01em; text-decoration:none;
  box-shadow:0 18px 40px -22px rgba(228,87,46,.95);
  transition:transform .25s var(--ease), background-color .25s ease;
}
.ocp-hero .button.ocp-btn-accent:hover{ background:var(--c-accent-2); transform:translateY(-2px); color:var(--c-light); }
.ocp-hero .button.ocp-btn-ghost{
  display:inline-block; background:transparent; color:var(--c-light);
  padding:15px 30px; border-radius:var(--r-pill); font-family:var(--font-head);
  font-weight:600; font-size:15px; letter-spacing:-.01em; text-decoration:none;
  border:1px solid rgba(255,255,255,.34);
  transition:transform .25s var(--ease), background-color .25s ease;
}
.ocp-hero .button.ocp-btn-ghost:hover{ background:rgba(255,255,255,.12); transform:translateY(-2px); color:var(--c-light); }

@media(max-width:1023.5px){
 .ocp-hero .bn-content{
    background:var(--c-primary) !important; color:var(--c-light) !important;
    max-width:100%; border-radius:14px;
  }
  .ocp-hero .bn-content h1{ color:var(--c-light) !important; -webkit-text-fill-color:var(--c-light) !important; }
  .ocp-hero .bn-content p{ color:rgba(255,255,255,.85) !important; }
  .ocp-hero-btns{ flex-direction:column; align-items:stretch; }
  .ocp-hero .ocp-hero-btns .button{ text-align:center; }
}


/* =========================================================================
   MARQUEE
   ========================================================================= */
.is-wrapper > .ocp-marquee-sec,
.is-wrapper .ocp-marquee-sec{
  background:var(--c-primary);
  padding:0 !important; min-height:0 !important;
}
/* kill any inherited min-height/padding on the Webware wrapper chain */
.ocp-marquee-sec .is-boxes,
.ocp-marquee-sec .is-box-centered,
.ocp-marquee-sec .is-container,
.ocp-marquee-sec .grid-x,
.ocp-marquee-sec .cell{ min-height:0 !important; padding-top:0 !important; padding-bottom:0 !important; }
.ocp-marquee{
  border-top:1px solid var(--c-line-light);
  border-bottom:1px solid var(--c-line-light);
  overflow:hidden; padding:15px 0; width:100%;
}
.ocp-marquee-track{
  display:flex; width:max-content; flex-wrap:nowrap;
  animation:ocp-marquee 45s linear infinite;
  font-family:var(--font-mono); font-size:12px; font-weight:500;
  letter-spacing:.3em; text-transform:uppercase; color:var(--c-blue);
}
.ocp-marquee-set{ display:flex; align-items:center; gap:30px; padding-right:30px; flex:none; }
.ocp-marquee-item{ display:flex; align-items:center; gap:30px; flex:none; white-space:nowrap; }
.ocp-dot{ width:5px; height:5px; border-radius:50%; background:var(--c-accent); flex:none; }


/* =========================================================================
   TRANSPARENT PRICING
   ========================================================================= */
.is-wrapper > .ocp-pricing-sec,
.is-wrapper .ocp-pricing-sec{
  background:var(--c-paper); border-bottom:1px solid var(--c-line);
  position:relative; overflow:hidden; padding:var(--space-section) 0;
}
.ocp-pricing-sec::before{
  content:""; position:absolute; top:0; bottom:0; left:0; width:52%;
  background-image:
    linear-gradient(rgba(16,36,58,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,36,58,.045) 1px, transparent 1px);
  background-size:var(--grid-cell) var(--grid-cell);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,transparent 100%);
  pointer-events:none;
}
.ocp-pricing-left{ display:flex; flex-direction:column; gap:26px; }
.ocp-pricing-left .ocp-h2{ max-width:15ch; }
.ocp-quote-card{
  position:relative; background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-lg); padding:clamp(30px,3.2vw,48px);
  display:flex; flex-direction:column; gap:22px;
  box-shadow:0 34px 72px -46px rgba(16,36,58,.95);
  transition:box-shadow .4s ease, border-color .4s ease;
}
.ocp-quote-card:hover{
  box-shadow:0 44px 88px -44px rgba(16,36,58,1); border-color:rgba(228,87,46,.35);
}
.ocp-quote-lead{
  margin:0; font-family:var(--font-head); font-weight:500;
  font-size:clamp(19px,1.65vw,24px); line-height:1.4; letter-spacing:-.022em; color:var(--c-ink);
}
.ocp-quote-body{
  margin:0; font-size:clamp(16px,1.2vw,17.5px); line-height:1.78; color:var(--c-ink-2);
}


/* =========================================================================
   FEATURES 01/02/03
   ========================================================================= */
.is-wrapper > .ocp-feats-sec,
.is-wrapper .ocp-feats-sec{
  background:var(--c-paper-2);
  background-image:
    linear-gradient(rgba(16,36,58,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,36,58,.035) 1px, transparent 1px);
  background-size:var(--grid-cell) var(--grid-cell);
  padding:var(--space-section) 0;
}
.ocp-feat-row{ margin-bottom:clamp(60px,6.5vw,104px); }
.ocp-feat-row:last-child{ margin-bottom:0; }

.ocp-feat-frame{
  position:relative; padding:12px; border:1px solid var(--c-line-2);
  border-radius:var(--r-md); background:var(--c-paper-3);
  box-shadow:0 30px 64px -50px rgba(16,36,58,.85);
}
.ocp-feat-media-cell{ align-self:stretch; }
.ocp-feat-frame-sticky{ position:sticky; top:40px; }
.ocp-feat-img-wrap{
  position:relative; width:100%; aspect-ratio:4/5; border-radius:var(--r-sm); overflow:hidden;
  /* subtle branded skeleton so the frame reads as intentional before the image loads */
  background:
    linear-gradient(135deg, var(--c-tint) 0%, #eceae2 100%);
}
.ocp-feat-img-wrap::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(60% 50% at 30% 25%, rgba(228,87,46,.08) 0%, transparent 60%),
    linear-gradient(rgba(16,36,58,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,36,58,.05) 1px, transparent 1px);
  background-size:auto, 30px 30px, 30px 30px;
}
.ocp-feat-img{
  position:relative; z-index:1;
  width:100%; height:100%; object-fit:cover; display:block;
  color:transparent;               /* hides broken-image alt text if src is missing */
  font-size:0;
}

.ocp-feat-text{ display:flex; flex-direction:column; gap:22px; }
.ocp-feat-index{ display:flex; align-items:baseline; gap:16px; }
.ocp-feat-num{
  font-family:var(--font-head); font-weight:800; font-size:60px; line-height:.8;
  letter-spacing:-.05em; color:transparent; -webkit-text-stroke:1.5px rgba(16,36,58,.28);
}
.ocp-feat-tag{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--c-accent);
}

/* image-right row ordering on desktop */
@media all and (min-width:1025px){
  .ocp-order-1{ order:1; }
  .ocp-order-2{ order:2; }
}

/* mobile/tablet: image always first, text below — for every feature row */
@media all and (max-width:1024px){
  .ocp-feat-row{ display:flex; flex-wrap:wrap; }
  .ocp-feat-row .ocp-feat-media-cell{ order:1; }
  .ocp-feat-row .ocp-feat-text-cell{ order:2; }
}


/* =========================================================================
   REVIEWS
   ========================================================================= */
.is-wrapper > .ocp-reviews-sec,
.is-wrapper .ocp-reviews-sec{
  background:var(--c-paper-3); border-top:1px solid rgba(16,36,58,.09);
  padding:var(--space-section) 0;
}
.ocp-reviews-head{ margin-bottom:clamp(36px,4vw,56px); }
.ocp-reviews-title{ display:flex; flex-direction:column; gap:18px; }
.ocp-reviews-barcode-cell{ display:flex; align-items:flex-end; justify-content:flex-end; }

.ocp-review-card{
  position:relative; height:100%; margin:0;
  background:var(--c-light); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:clamp(28px,2.8vw,38px);
  display:flex; flex-direction:column; justify-content:space-between; gap:26px;
  box-shadow:var(--shadow-card); transition:box-shadow .4s ease, border-color .4s ease;
}
.ocp-review-card:hover{ box-shadow:var(--shadow-card-hover); border-color:rgba(228,87,46,.35); }
.ocp-review-card .ocp-card-tab{ left:34px; width:58px; }
.ocp-review-quote{
  font-family:var(--font-head); font-weight:800; font-size:58px; line-height:.6;
  color:rgba(228,87,46,.28);
}
.ocp-review-text{
  margin:0; font-family:var(--font-head); font-weight:500;
  font-size:clamp(18px,1.5vw,21px); line-height:1.46; letter-spacing:-.02em; color:var(--c-ink);
}
.ocp-review-cap{
  display:flex; align-items:center; gap:13px; padding-top:16px; border-top:1px solid var(--c-line);
}
.ocp-review-name{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--c-accent);
}
.ocp-review-idx{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.14em;
  color:rgba(16,36,58,.3); margin-left:auto;
}


/* =========================================================================
   INSPECTION CTA (dark)
   ========================================================================= */
.is-wrapper > .ocp-cta-sec,
.is-wrapper .ocp-cta-sec{
  position:relative; overflow:hidden;
  background-color:var(--c-primary);
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:var(--grid-cell) var(--grid-cell);
  padding:clamp(66px,7.5vw,120px) 0;
}
.ocp-cta-glow{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(90% 75% at 15% 105%, rgba(228,87,46,.26) 0%, rgba(10,30,50,0) 60%),
    radial-gradient(70% 60% at 100% 0%, rgba(92,155,220,.22) 0%, rgba(10,30,50,0) 60%);
}
.ocp-cta-sec .is-container{ position:relative; }
.ocp-cta-top{ margin-bottom:clamp(40px,4.5vw,64px); }
.ocp-cta-h2{
  margin:0; font-family:var(--font-head); font-weight:700;
  font-size:clamp(31px,3.5vw,50px); line-height:1.06; letter-spacing:-.035em;
  color:var(--c-light); max-width:18ch; text-wrap:balance;
}
.ocp-cta-p{
  margin:0; font-size:17.5px; line-height:1.72; color:#B7CADC; max-width:54ch;
}
.ocp-cta-divider{
  height:1px; margin:0 0 clamp(40px,4.5vw,64px);
  background:linear-gradient(90deg, rgba(143,184,222,.4) 0%, rgba(143,184,222,0) 100%);
}
.ocp-cta-final{
  margin:0; font-family:var(--font-head); font-weight:800;
  font-size:clamp(30px,4.2vw,60px); line-height:1.02; letter-spacing:-.04em;
  color:var(--c-light); max-width:14ch; text-wrap:balance;
}
.ocp-cta-contact{ display:flex; flex-direction:column; gap:18px; align-items:flex-start; }
.ocp-cta-mono{
  display:flex; flex-direction:column; gap:7px;
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:.05em; color:var(--c-ink-3);
}
.ocp-cta-mail{ color:var(--c-blue); text-decoration:none; transition:color .25s ease; }
.ocp-cta-mail:hover{ color:var(--c-light); }


/* =========================================================================
   FAQ
   ========================================================================= */
.is-wrapper > .ocp-faq-sec,
.is-wrapper .ocp-faq-sec{ background:var(--c-paper); padding:var(--space-section) 0; }
.ocp-faq-sec .is-content-1200{ max-width:1060px; }
.ocp-faq-intro{ display:flex; flex-direction:column; gap:16px; margin-bottom:44px; }
.ocp-faq-list{ display:flex; flex-direction:column; border-top:1px solid var(--c-line-2); }
.ocp-faq-item{ border-bottom:1px solid var(--c-line-2); }
.ocp-faq-q{
  list-style:none; cursor:pointer;
  width:100%; display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
  padding:27px 0; color:var(--c-ink); transition:color .25s ease;
}
.ocp-faq-q::-webkit-details-marker{ display:none; }
.ocp-faq-item:hover .ocp-faq-q,
.ocp-faq-item[open] .ocp-faq-q{ color:var(--c-accent); }
.ocp-faq-q-text{
  font-family:var(--font-head); font-weight:600; font-size:clamp(18px,1.65vw,23px);
  line-height:1.3; letter-spacing:-.022em; color:inherit;
}
.ocp-faq-icon{
  flex:none; width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(16,36,58,.2);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:17px; color:var(--c-accent);
  position:relative;
}
.ocp-faq-icon::before,
.ocp-faq-icon::after{
  content:""; position:absolute; background:var(--c-accent);
}
.ocp-faq-icon::before{ width:13px; height:2px; }
.ocp-faq-icon::after{ width:2px; height:13px; transition:transform .3s var(--ease), opacity .3s ease; }
.ocp-faq-item[open] .ocp-faq-icon::after{ transform:scaleY(0); opacity:0; }
.ocp-faq-a-wrap{ overflow:hidden; animation:ocp-faqOpen .36s var(--ease) both; }
.ocp-faq-a{
  margin:0; padding:0 64px 32px 0; font-size:16.5px; line-height:1.72; color:var(--c-ink-2);
}


/* =========================================================================
   WHY US + COVERAGE  (map-card redesign)
   ========================================================================= */
.is-wrapper > .ocp-why-sec,
.is-wrapper .ocp-why-sec{
  position:relative; overflow:hidden;
  background:var(--c-primary);
  padding:clamp(66px,7vw,120px) 0;
}
.ocp-why-glow{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(60% 55% at 88% 20%, rgba(228,87,46,.18) 0%, rgba(10,30,50,0) 60%),
    radial-gradient(55% 50% at 6% 96%, rgba(92,155,220,.16) 0%, rgba(10,30,50,0) 60%);
}
.ocp-why-sec .is-container{ position:relative; z-index:2; }
.ocp-why-row{ row-gap:clamp(40px,5vw,64px); }

/* LEFT: statement */
.ocp-why-text{ display:flex; flex-direction:column; gap:clamp(22px,2.4vw,32px); min-width:0; }
.ocp-why-text .ocp-eyebrow-flat{ font-size:11px; }
.ocp-why-lead{
  margin:0; font-family:var(--font-head); font-weight:500;
  font-size:clamp(21px,2.2vw,32px); line-height:1.36; letter-spacing:-.028em;
  color:#EAF1F8; text-wrap:pretty;
}
.ocp-accent-text{ color:var(--c-accent); }
.ocp-why-sig{ display:flex; align-items:center; gap:14px; }
.ocp-why-mark{
  width:34px; height:34px; flex:none; border-radius:9px;
  background:linear-gradient(135deg, var(--c-accent), var(--c-accent-soft));
  position:relative; box-shadow:0 10px 24px -12px rgba(228,87,46,.9);
}
.ocp-why-mark::after{
  content:""; position:absolute; inset:0; margin:auto;
  width:11px; height:11px; background:var(--c-light);
  border-radius:50% 50% 50% 0; transform:rotate(-45deg);
}
.ocp-why-brand{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--c-blue);
}

/* RIGHT: coverage map card */
.ocp-cov-card{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);
  border:1px solid var(--c-line-light); border-radius:var(--r-lg);
  padding:clamp(26px,2.8vw,38px);
  box-shadow:0 40px 90px -50px rgba(0,0,0,.8);
  backdrop-filter:blur(4px);
  display:flex; flex-direction:column; gap:24px;
}
.ocp-cov-card .ocp-corner-accent{ opacity:.9; }
.ocp-cov-card-head{ display:flex; flex-direction:column; gap:12px; }
.ocp-cov-card-title{
  margin:0; font-family:var(--font-head); font-weight:700;
  font-size:clamp(20px,1.9vw,26px); line-height:1.2; letter-spacing:-.02em;
  color:var(--c-light);
}

/* stylized map */
.ocp-map{
  position:relative; width:100%; aspect-ratio:16/9; min-height:170px;
  border-radius:var(--r-md); overflow:hidden;
  background:
    radial-gradient(120% 120% at 80% 15%, rgba(228,87,46,.1) 0%, rgba(6,20,34,0) 55%),
    linear-gradient(180deg, #0B2136 0%, #08192a 100%);
  border:1px solid var(--c-line-light);
}
.ocp-map-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(143,184,222,.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,184,222,.1) 1px, transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(circle at 50% 45%, #000 30%, transparent 85%);
  mask-image:radial-gradient(circle at 50% 45%, #000 30%, transparent 85%);
}
.ocp-map-route{
  position:absolute; inset:0; width:100%; height:100%;
}
.ocp-map-route path{
  fill:none; stroke:var(--c-accent); stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:6 8; opacity:.75;
  animation:ocp-route-dash 18s linear infinite;
}
.ocp-map-pin{
  position:absolute; width:12px; height:12px; transform:translate(-50%,-50%);
  border-radius:50%; background:var(--c-accent);
  box-shadow:0 0 0 3px rgba(228,87,46,.25);
}
.ocp-map-pin::after{
  content:""; position:absolute; inset:0; margin:auto;
  width:12px; height:12px; border-radius:50%;
  background:var(--c-accent);
  animation:ocp-map-ping 2.6s ease-out infinite;
}
.ocp-map-pin:nth-child(3)::after{ animation-delay:.5s; }
.ocp-map-pin:nth-child(4)::after{ animation-delay:1s; }
.ocp-map-pin:nth-child(5)::after{ animation-delay:1.5s; }
.ocp-map-pin:nth-child(6)::after{ animation-delay:2s; }

/* city chips */
.ocp-cov-chips{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:10px;
}
.ocp-cov-chip{
  display:inline-flex;
  opacity:0; transform:translateY(12px);
  animation:ocp-chip-in .55s var(--ease) forwards;
}
.ocp-cov-chip:nth-child(1){ animation-delay:.1s; }
.ocp-cov-chip:nth-child(2){ animation-delay:.2s; }
.ocp-cov-chip:nth-child(3){ animation-delay:.3s; }
.ocp-cov-chip:nth-child(4){ animation-delay:.4s; }
.ocp-cov-chip:nth-child(5){ animation-delay:.5s; }

.ocp-cov-link{
  display:inline-flex; align-items:center; gap:9px;
  padding:10px 18px 10px 14px;
  background:rgba(255,255,255,.05); border:1px solid var(--c-line-light);
  border-radius:var(--r-pill);
  font-family:var(--font-head); font-weight:600; font-size:14.5px;
  letter-spacing:-.01em; color:var(--c-light); text-decoration:none;
  position:relative; overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease),
             border-color .3s ease, background-color .3s ease;
}
.ocp-cov-link::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(228,87,46,.18) 50%, transparent 100%);
  transform:translateX(-120%); transition:transform .55s var(--ease); pointer-events:none;
}
.ocp-cov-link:hover{
  transform:translateY(-3px);
  background:rgba(228,87,46,.14); border-color:var(--c-accent); color:var(--c-light);
  box-shadow:0 16px 32px -20px rgba(228,87,46,.9);
}
.ocp-cov-link:hover .ocp-cov-name{ color:var(--c-accent); }
.ocp-cov-link:hover::after{ transform:translateX(120%); }
.ocp-cov-link:focus-visible{ outline:2px solid var(--c-accent); outline-offset:2px; }

/* teardrop pin on chip */
.ocp-cov-pin{
  position:relative; width:9px; height:9px; flex:none;
  border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--c-accent);
}
.ocp-cov-pin::before{
  content:""; position:absolute; top:50%; left:50%;
  width:3px; height:3px; border-radius:50%; background:var(--c-light);
  transform:translate(-50%,-50%);
}
.ocp-cov-pin::after{
  content:""; position:absolute; top:50%; left:50%;
  width:9px; height:9px; border-radius:50%; background:var(--c-accent);
  transform:translate(-50%,-50%); animation:ocp-pin-pulse 2.4s ease-out infinite;
}
.ocp-cov-chip:nth-child(2) .ocp-cov-pin::after{ animation-delay:.4s; }
.ocp-cov-chip:nth-child(3) .ocp-cov-pin::after{ animation-delay:.8s; }
.ocp-cov-chip:nth-child(4) .ocp-cov-pin::after{ animation-delay:1.2s; }
.ocp-cov-chip:nth-child(5) .ocp-cov-pin::after{ animation-delay:1.6s; }
.ocp-cov-name{ display:inline-block; }

@keyframes ocp-chip-in{ to{ opacity:1; transform:translateY(0); } }
@keyframes ocp-pin-pulse{
  0%{ opacity:.55; transform:translate(-50%,-50%) scale(1); }
  70%,100%{ opacity:0; transform:translate(-50%,-50%) scale(3.2); }
}
@keyframes ocp-map-ping{
  0%{ opacity:.6; transform:scale(1); }
  70%,100%{ opacity:0; transform:scale(4); }
}
@keyframes ocp-route-dash{
  to{ stroke-dashoffset:-280; }
}
@media (prefers-reduced-motion: reduce){
  .ocp-cov-chip{ opacity:1; transform:none; animation:none; }
  .ocp-cov-pin::after, .ocp-map-pin::after, .ocp-map-route path{ animation:none; }
}


/* =========================================================================
   KEYFRAMES
   ========================================================================= */
@keyframes ocp-scanline{
  0%{ transform:translateY(0); opacity:0; }
  8%{ opacity:1; }
  92%{ opacity:1; }
  100%{ transform:translateY(min(88vh,880px)); opacity:0; }
}
@keyframes ocp-marquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@keyframes ocp-faqOpen{
  from{ opacity:0; transform:translateY(-6px); }
  to{ opacity:1; transform:none; }
}


/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media all and (max-width:1024px){
  .ocp-hero .ocp-hero-img{ min-height:78vh; }
  .ocp-reviews-barcode-cell{ display:none; }
}
@media all and (max-width:640px){
  .ocp-hero-panel{
    margin-left:0;
    padding:28px 22px;
    background:linear-gradient(180deg, rgba(4,14,26,.94), rgba(6,20,34,.88));
  }
  .ocp-hero-btns{ flex-direction:column; align-items:stretch; }
  .ocp-hero-btns .ocp-btn{ justify-content:center; }
  .ocp-feat-num{ font-size:48px; }
  .ocp-faq-a{ padding-right:0; }
  .ocp-cta-contact{ align-items:stretch; }
  .ocp-cta-contact .ocp-btn{ justify-content:center; }
}

@media (prefers-reduced-motion: reduce){
  .ocp-hero-scanline, .ocp-marquee-track{ animation:none; }
}


/* =========================================================================
   ABOUT PAGE — STORY / MISSION / FOUNDER / VALUE / REVIEW-ROLE
   ========================================================================= */

/* shared lead paragraph */
.ocp-lead-p{
  margin:0; font-family:var(--font-head); font-weight:500;
  font-size:clamp(20px,2vw,28px); line-height:1.38; letter-spacing:-.026em;
  color:var(--c-ink); text-wrap:pretty;
}

/* ---- OUR STORY ---- */
.is-wrapper > .ocp-story-sec,
.is-wrapper .ocp-story-sec{ background:var(--c-paper); padding:var(--space-section) 0; }
.ocp-story-row{ row-gap:clamp(28px,3vw,44px); }
.ocp-story-aside{
  display:flex; flex-direction:column; gap:20px;
  position:sticky; top:40px;
}
.ocp-story-aside .ocp-h2{ max-width:12ch; }
.ocp-story-body{ display:flex; flex-direction:column; gap:22px; }

/* ---- MISSION (dark band) ---- */
.is-wrapper > .ocp-mission-sec,
.is-wrapper .ocp-mission-sec{
  position:relative; overflow:hidden;
  background-color:var(--c-primary);
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:var(--grid-cell) var(--grid-cell);
  padding:clamp(56px,6vw,92px) 0;
}
.ocp-mission-glow{
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(70% 70% at 85% 10%, rgba(228,87,46,.2) 0%, rgba(10,30,50,0) 60%);
}
.ocp-mission-sec .is-container{ position:relative; z-index:2; }
.ocp-mission-tag-cell .ocp-eyebrow-flat{ font-size:11px; }
.ocp-mission-quote{
  margin:0; font-family:var(--font-head); font-weight:600;
  font-size:clamp(23px,2.9vw,40px); line-height:1.24; letter-spacing:-.03em;
  color:var(--c-light); text-wrap:balance;
}

/* ---- FOUNDER ---- */
.is-wrapper > .ocp-founder-sec,
.is-wrapper .ocp-founder-sec{
  background:var(--c-paper-2);
  background-image:
    linear-gradient(rgba(16,36,58,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,36,58,.035) 1px, transparent 1px);
  background-size:var(--grid-cell) var(--grid-cell);
  padding:var(--space-section) 0;
}
.ocp-founder-row{ row-gap:clamp(32px,4vw,52px); }
.ocp-founder-media{ display:flex; flex-direction:column; gap:18px; position:sticky; top:40px; }
.ocp-founder-frame{
  position:relative; padding:14px; border:1px solid var(--c-line-2);
  border-radius:var(--r-md); background:rgba(255,255,255,.5);
}
.ocp-founder-img-wrap{
  position:relative; width:100%; aspect-ratio:4/5;
  border-radius:var(--r-sm); overflow:hidden;
}
.ocp-founder-img{ width:100%; height:100%; object-fit:cover; display:block; }
.ocp-founder-id{ display:flex; flex-direction:column; gap:3px; padding-left:4px; }
.ocp-founder-name{
  font-family:var(--font-head); font-weight:700; font-size:20px;
  letter-spacing:-.02em; color:var(--c-ink);
}
.ocp-founder-role{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--c-accent);
}
.ocp-founder-text{ display:flex; flex-direction:column; gap:22px; }

/* ---- DEPENDABLE SOLUTIONS (value) ---- */
.is-wrapper > .ocp-value-sec,
.is-wrapper .ocp-value-sec{
  background:var(--c-paper-3); border-top:1px solid var(--c-line);
  padding:var(--space-section) 0;
}
.ocp-value-row{ row-gap:clamp(26px,3vw,40px); }
.ocp-value-head{ display:flex; flex-direction:column; gap:18px; }
.ocp-value-head .ocp-h2{ max-width:14ch; }
.ocp-value-card{
  position:relative; background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-lg); padding:clamp(28px,3vw,42px);
  box-shadow:0 34px 72px -46px rgba(16,36,58,.95);
  transition:box-shadow .4s ease, border-color .4s ease;
}
.ocp-value-card:hover{ box-shadow:0 44px 88px -44px rgba(16,36,58,1); border-color:rgba(228,87,46,.35); }
.ocp-value-card .ocp-body{ max-width:none; font-size:clamp(16px,1.2vw,17.5px); line-height:1.78; }

/* ---- REVIEW role line (extends reviews component) ---- */
.ocp-review-meta{ display:flex; flex-direction:column; gap:3px; }
.ocp-review-role{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--c-ink-3);
}

/* ---- ABOUT responsive ---- */
@media all and (max-width:1024px){
  .ocp-story-aside,
  .ocp-founder-media{ position:static; }
}

/* CTA copy-cell subscribe button spacing */
.ocp-cta-copy-cell{ display:flex; flex-direction:column; align-items:flex-start; gap:22px; }
.ocp-cta-copy-btn{ margin-top:2px; }
@media all and (max-width:640px){
  .ocp-cta-copy-cell{ align-items:stretch; }
  .ocp-cta-copy-btn{ justify-content:center; }
}


/* =========================================================================
   SERVICES PAGE — service cards grid
   ========================================================================= */
.is-wrapper > .ocp-srv-sec,
.is-wrapper .ocp-srv-sec{
  background:var(--c-paper-2);
  background-image:
    linear-gradient(rgba(16,36,58,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,36,58,.035) 1px, transparent 1px);
  background-size:var(--grid-cell) var(--grid-cell);
  padding:var(--space-section) 0;
}
.ocp-srv-head{ margin-bottom:clamp(36px,4vw,56px); }
.ocp-srv-intro{ display:flex; flex-direction:column; gap:16px; }
.ocp-srv-intro .ocp-h2{ max-width:20ch; }
.ocp-srv-grid{ row-gap:clamp(24px,2.6vw,32px); }

/* card */
.ocp-srv-card{
  position:relative; height:100%;
  display:flex; flex-direction:column;
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); overflow:hidden;
  box-shadow:0 30px 64px -48px rgba(16,36,58,.9);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s ease;
}
.ocp-srv-card:hover{
  transform:translateY(-6px);
  box-shadow:0 44px 90px -44px rgba(16,36,58,1);
  border-color:rgba(228,87,46,.35);
}
.ocp-srv-num{
  position:absolute; top:14px; left:16px; z-index:3;
  font-family:var(--font-head); font-weight:800; font-size:16px;
  letter-spacing:.02em; color:var(--c-light);
  padding:4px 10px; border-radius:var(--r-pill);
  background:rgba(6,20,34,.55); backdrop-filter:blur(4px);
}

/* media */
.ocp-srv-media{
  position:relative; width:100%; aspect-ratio:3/2; overflow:hidden;
}
.ocp-srv-img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s var(--ease);
}
.ocp-srv-card:hover .ocp-srv-img{ transform:scale(1.06); }
.ocp-srv-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,20,34,0) 45%, rgba(6,20,34,.45) 100%);
  pointer-events:none;
}
.ocp-srv-badge{
  position:absolute; right:14px; bottom:14px; z-index:3;
  width:34px; height:34px; border-radius:50%;
  background:var(--c-light); box-shadow:0 8px 20px -8px rgba(0,0,0,.5);
  display:flex; align-items:center; justify-content:center;
}
.ocp-srv-badge .ocp-cov-pin{ width:11px; height:11px; }

/* body */
.ocp-srv-body{
  display:flex; flex-direction:column; gap:14px;
  padding:clamp(22px,2.2vw,30px); flex:1;
}
.ocp-srv-title{
  margin:0; font-family:var(--font-head); font-weight:700;
  font-size:clamp(19px,1.6vw,23px); line-height:1.16; letter-spacing:-.022em;
  color:var(--c-ink);
}
.ocp-srv-desc{
  margin:0; font-size:15.5px; line-height:1.68; color:var(--c-ink-2); flex:1;
}

/* descriptive link */
.ocp-srv-link{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  margin-top:2px; padding-bottom:3px;
  font-family:var(--font-head); font-weight:600; font-size:14.5px;
  letter-spacing:-.01em; color:var(--c-accent); text-decoration:none;
  border-bottom:1.5px solid rgba(228,87,46,.28);
  transition:border-color .25s ease, gap .25s ease, color .25s ease;
}
.ocp-srv-link:hover{ color:var(--c-accent-2); border-color:var(--c-accent); gap:12px; }
.ocp-srv-arrow{ font-family:var(--font-mono); transition:transform .25s ease; }
.ocp-srv-link:hover .ocp-srv-arrow{ transform:translateX(2px); }
.ocp-srv-link:focus-visible{ outline:2px solid var(--c-accent); outline-offset:3px; }

/* mini-CTA tile */
.ocp-srv-card-cta{
  background:linear-gradient(155deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);
  border-color:var(--c-line-light);
  background-image:
    linear-gradient(155deg, rgba(10,30,50,.2) 0%, rgba(6,18,30,.2) 100%),
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:auto, var(--grid-cell) var(--grid-cell), var(--grid-cell) var(--grid-cell);
}
.ocp-srv-cta-inner{
  display:flex; flex-direction:column; gap:16px; align-items:flex-start;
  padding:clamp(26px,2.6vw,34px); height:100%; justify-content:center;
}
.ocp-srv-cta-text{
  margin:0; font-family:var(--font-head); font-weight:600;
  font-size:clamp(19px,1.7vw,24px); line-height:1.28; letter-spacing:-.022em;
  color:var(--c-light); text-wrap:balance;
}
.ocp-srv-cta-btn{ margin-top:2px; }

/* entrance stagger */
.ocp-srv-cell{ opacity:0; transform:translateY(16px); animation:ocp-chip-in .6s var(--ease) forwards; }
.ocp-srv-cell:nth-child(1){ animation-delay:.05s; }
.ocp-srv-cell:nth-child(2){ animation-delay:.13s; }
.ocp-srv-cell:nth-child(3){ animation-delay:.21s; }
.ocp-srv-cell:nth-child(4){ animation-delay:.29s; }
.ocp-srv-cell:nth-child(5){ animation-delay:.37s; }
.ocp-srv-cell:nth-child(6){ animation-delay:.45s; }

@media (prefers-reduced-motion: reduce){
  .ocp-srv-cell{ opacity:1; transform:none; animation:none; }
  .ocp-srv-card:hover .ocp-srv-img{ transform:none; }
}


/* =========================================================================
   SERVICE DETAIL PAGE — intro / benefits / checklist
   ========================================================================= */

/* ---- INTRO split ---- */
.is-wrapper > .ocp-intro-sec,
.is-wrapper .ocp-intro-sec{ background:var(--c-paper); padding:var(--space-section) 0; }
.ocp-intro-row{ row-gap:clamp(28px,3vw,44px); }
.ocp-intro-aside{ display:flex; flex-direction:column; gap:22px; position:sticky; top:40px; align-items:flex-start; }
.ocp-intro-aside .ocp-h2{ max-width:13ch; }
.ocp-intro-body{ display:flex; flex-direction:column; gap:22px; }

/* ---- BENEFITS ---- */
.is-wrapper > .ocp-benefits-sec,
.is-wrapper .ocp-benefits-sec{
  background:var(--c-paper-3); border-top:1px solid var(--c-line);
  padding:var(--space-section) 0;
}
.ocp-benefits-head{ margin-bottom:clamp(28px,3vw,44px); }
.ocp-benefits-grid{ row-gap:clamp(20px,2.4vw,28px); }
.ocp-benefit-card{
  position:relative; height:100%;
  display:flex; flex-direction:column; gap:14px;
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:clamp(24px,2.2vw,30px);
  box-shadow:0 26px 56px -46px rgba(16,36,58,.9);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s ease;
}
.ocp-benefit-card::before{
  content:""; position:absolute; top:0; left:24px; width:44px; height:2px; background:var(--c-accent);
}
.ocp-benefit-card:hover{
  transform:translateY(-5px);
  box-shadow:0 40px 84px -44px rgba(16,36,58,1); border-color:rgba(228,87,46,.35);
}
.ocp-benefit-num{
  font-family:var(--font-head); font-weight:800; font-size:34px; line-height:1;
  letter-spacing:-.04em; color:transparent; -webkit-text-stroke:1.4px rgba(16,36,58,.26);
}
.ocp-benefit-title{
  margin:0; font-family:var(--font-head); font-weight:700;
  font-size:clamp(18px,1.5vw,21px); line-height:1.2; letter-spacing:-.02em; color:var(--c-ink);
}
.ocp-benefit-desc{
  margin:0; font-size:14.5px; line-height:1.68; color:var(--c-ink-2);
}

/* ---- CHECKLIST (inside feature blocks) ---- */
.ocp-check{
  list-style:none; margin:8px 0 0; padding:0;
  display:flex; flex-direction:column; gap:11px;
}
.ocp-check li{
  position:relative; padding-left:32px;
  font-family:var(--font-head); font-weight:500; font-size:15.5px;
  line-height:1.45; color:var(--c-ink);
}
.ocp-check li::before{
  content:""; position:absolute; left:0; top:1px;
  width:20px; height:20px; border-radius:50%;
  background:rgba(228,87,46,.12); border:1px solid rgba(228,87,46,.4);
}
.ocp-check li::after{
  content:""; position:absolute; left:7px; top:6px;
  width:6px; height:10px; border-right:2px solid var(--c-accent); border-bottom:2px solid var(--c-accent);
  transform:rotate(45deg);
}


/* =========================================================================
   FAQ PAGE — intro strip
   ========================================================================= */
.is-wrapper > .ocp-faqintro-sec,
.is-wrapper .ocp-faqintro-sec{
  background:var(--c-paper); border-bottom:1px solid var(--c-line);
  padding:clamp(40px,4.5vw,64px) 0;
}
.ocp-faqintro-row{ row-gap:24px; }
.ocp-faqintro-cta-cell{ display:flex; justify-content:flex-end; }
@media all and (max-width:1024px){
  .ocp-faqintro-cta-cell{ justify-content:flex-start; }
}


/* =========================================================================
   CONTACT PAGE — details cards + reasons split
   ========================================================================= */
.is-wrapper > .ocp-contact-sec,
.is-wrapper .ocp-contact-sec{
  background:var(--c-paper);
  background-image:
    linear-gradient(rgba(16,36,58,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,36,58,.035) 1px, transparent 1px);
  background-size:var(--grid-cell) var(--grid-cell);
  padding:var(--space-section) 0;
}
.ocp-contact-row{ row-gap:clamp(32px,4vw,52px); align-items:flex-start; }
.ocp-contact-copy-cell,
.ocp-contact-cards-cell{ align-self:flex-start; }
/* keep the cards column from stretching too wide on very large screens */
.ocp-contact-cards-cell{ display:flex; }
.ocp-contact-cards{ width:100%; }
@media all and (max-width:1024px){
  .ocp-contact-copy-cell,
  .ocp-contact-cards-cell{ width:100%; }
}

/* left copy */
.ocp-contact-copy{ display:flex; flex-direction:column; gap:22px; align-items:flex-start; }
.ocp-contact-copy .ocp-h2{ max-width:16ch; }
.ocp-contact-copy .ocp-body{ max-width:52ch; }

/* right cards */
.ocp-contact-cards{ display:flex; flex-direction:column; gap:16px; }
.ocp-contact-card{
  position:relative; display:flex; align-items:center; gap:18px;
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:22px 24px;
  text-decoration:none; color:var(--c-ink);
  box-shadow:0 26px 56px -48px rgba(16,36,58,.9);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease),
             border-color .3s ease, background-color .3s ease;
}
a.ocp-contact-card:hover{
  transform:translateY(-4px); border-color:rgba(228,87,46,.4);
  box-shadow:0 40px 80px -46px rgba(16,36,58,1);
}
.ocp-contact-card-static{ cursor:default; }
.ocp-contact-ic{
  flex:none; width:52px; height:52px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(228,87,46,.1); border:1px solid rgba(228,87,46,.25);
  color:var(--c-accent);
  transition:background-color .3s ease, transform .3s var(--ease);
}
.ocp-contact-ic svg{ width:24px; height:24px; }
a.ocp-contact-card:hover .ocp-contact-ic{ background:var(--c-accent); color:var(--c-light); transform:scale(1.05); }
.ocp-contact-meta{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.ocp-contact-label{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--c-accent);
}
.ocp-contact-value{
  font-family:var(--font-head); font-weight:600; font-size:clamp(16px,1.4vw,19px);
  letter-spacing:-.015em; color:var(--c-ink); line-height:1.25; word-break:break-word;
}
.ocp-contact-go{
  margin-left:auto; flex:none; font-family:var(--font-mono); font-size:18px;
  color:var(--c-ink-3); transition:transform .3s var(--ease), color .3s ease;
}
a.ocp-contact-card:hover .ocp-contact-go{ color:var(--c-accent); transform:translateX(3px); }


/* =========================================================================
   BLOG FEATURED-IMAGE BANNER — matches site hero
   ========================================================================= */
.ocp-blog-banner{
  position:relative; overflow:hidden; background:var(--c-primary);
}
.ocp-blog-banner-inner{ position:relative; }
.ocp-blog-figure{ margin:0; }
.ocp-blog-figure picture{ display:block; }
.ocp-blog-img{
  width:100%; display:block; object-fit:cover;
  min-height:min(62vh,560px); max-height:640px;
}
/* dark scrim so the white title always reads */
.ocp-blog-overlay{
  position:absolute; inset:0; pointer-events:none; display:block;
  background:linear-gradient(96deg,
    rgba(6,18,30,.78) 0%, rgba(8,24,40,.55) 45%,
    rgba(10,30,50,.32) 78%, rgba(10,30,50,.2) 100%);
}
.ocp-blog-scanline{
  position:absolute; left:0; right:0; top:0; height:2px; pointer-events:none; z-index:2;
  background:linear-gradient(90deg, rgba(143,184,222,0) 0%, rgba(143,184,222,.5) 50%, rgba(143,184,222,0) 100%);
  animation:ocp-scanline 9s linear infinite;
}
/* content overlay — bottom-left, like the hero */
.ocp-blog-content{
  position:absolute; inset:0; z-index:3;
  display:flex; align-items:flex-end;
}
.ocp-blog-content .in-banner-desc{ width:100%; }
.ocp-blog-content .grid-container{ max-width:1200px; margin:0 auto; width:100%; }
.ocp-blog-panel{
  display:flex; flex-direction:column; gap:18px;
  max-width:min(760px,100%);
  background:linear-gradient(100deg, rgba(6,20,34,.92) 0%, rgba(6,20,34,.84) 100%);
  border-radius:16px;
  padding:clamp(24px,2.8vw,38px) clamp(22px,2.6vw,36px);
  margin-bottom:clamp(28px,4vw,54px);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.7);
}
.ocp-blog-title{
  margin:0;
  color:var(--c-light) !important; -webkit-text-fill-color:var(--c-light) !important;
  background:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important;
  font-family:var(--font-head); font-weight:800;
  font-size:clamp(28px,3.6vw,52px); line-height:1.05; letter-spacing:-.03em; text-wrap:balance;
}

@media all and (max-width:640px){
  .ocp-blog-img{ min-height:56vh; }
  .ocp-blog-panel{
    margin-bottom:22px;
    background:linear-gradient(180deg, rgba(6,20,34,.94), rgba(6,20,34,.86));
  }
}
@media (prefers-reduced-motion: reduce){
  .ocp-blog-scanline{ animation:none; }
}


/* =========================================================================
   BLOG LISTING PAGE — search, category filters, articles, sidebar
   Styles Webware's system blog classes. Structure/classes untouched.
   ========================================================================= */
.new-blog-page-type,
.blog-page-type{ background:var(--c-paper); }
.main-blog-widget{ padding:clamp(40px,5vw,72px) 0 clamp(20px,3vw,40px); }
.main-blog-widget > .grid-container{ max-width:1200px; }
/* keep the articles column and sidebar aligned at the same top */
.new-blog-page-type .blog-articles,
.new-blog-page-type .blog-sidebar,
.blog-articles,
.blog-sidebar{ margin-top:0 !important; }

/* ---- SEARCH ---- */
.blog-search-container{ margin-bottom:clamp(26px,3vw,40px); }
.blog-search-container .position-relative{ position:relative; max-width:520px; }
.search-input-blog,
.blog-search-container #search-input-blog{
  width:100%; height:54px !important;
  padding:0 60px 0 22px !important;   /* room for the right button */
  font-family:var(--font-body); font-size:15px; color:var(--c-ink);
  background:var(--c-light); border:1px solid var(--c-line-2);
  border-radius:var(--r-pill) !important; outline:none;
  margin-top:0 !important; margin-bottom:0 !important;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.search-input-blog::placeholder,
.blog-search-container #search-input-blog::placeholder{ color:var(--c-ink-3); }
.search-input-blog:focus,
.blog-search-container #search-input-blog:focus{
  border-color:var(--c-accent);
  box-shadow:0 0 0 4px rgba(228,87,46,.12);
}
.blog-search-button{
  position:absolute; top:50% !important; right:7px !important; left:auto !important;
  transform:translateY(-50%); bottom:auto !important;
  width:40px; height:40px; min-width:40px; padding:0;
  border:none; border-radius:50% !important; overflow:hidden;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  background:var(--c-accent); transition:background-color .25s ease, transform .25s var(--ease);
}
.blog-search-button:hover{
  background:var(--c-accent-2);
  top:50% !important; right:7px !important; left:auto !important;
  transform:translateY(-50%) scale(1.05);
}
.blog-search-button svg{ width:18px; height:18px; }
.blog-search-button svg path{ fill:var(--c-light); }
.blog-search-button i,
.blog-search-button i::before{ color:var(--c-light); font-size:16px; }

/* ---- SECTION HEADINGS in blog ---- */
.main-blog-widget .section-main-heading{ font-family:var(--font-head); color:var(--c-ink); }
.filter-h2{
  font-family:var(--font-head); font-weight:700; font-size:20px; letter-spacing:-.02em;
  color:var(--c-ink); margin:0 0 16px;
}

/* ---- CATEGORY FILTERS (sidebar + mobile) ---- */
.articles-filter-container{
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:24px 22px;
  box-shadow:0 26px 56px -50px rgba(16,36,58,.9);
}
.blog-sidebar .articles-filter-container{ position:sticky; top:40px; }
.ps-blog-category{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.ps-blog-category li{ margin:0; list-style:none; }
/* catch the link whether it's `li > a` or wrapped */
.ps-blog-category li a,
.ps-blog-category li > a{
  display:flex; align-items:center; gap:10px; width:100%;
  padding:11px 18px; border-radius:var(--r-pill) !important;
  font-family:var(--font-head); font-weight:600; font-size:14.5px; letter-spacing:-.01em;
  color:var(--c-ink) !important; text-decoration:none;
  background:var(--c-tint); border:1px solid var(--c-line-2);
  transition:background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.ps-blog-category li a::before{
  content:""; width:7px; height:7px; border-radius:50%; background:var(--c-accent); flex:none;
  transition:transform .25s var(--ease);
}
.ps-blog-category li a:hover{
  color:var(--c-ink) !important; background:var(--c-light);
  border-color:var(--c-accent);
  box-shadow:0 10px 24px -16px rgba(228,87,46,.8);
}
.ps-blog-category li a:hover::before{ transform:scale(1.35); }

/* active / All = dark ink pill */
.ps-blog-category li.active a,
.ps-blog-category li a.active,
.ps-blog-category li a.all-blogs,
.ps-blog-category li.active > a{
  background:var(--c-ink); color:var(--c-light) !important; border-color:var(--c-ink);
}
.ps-blog-category li.active a::before,
.ps-blog-category li a.active::before,
.ps-blog-category li a.all-blogs::before{ background:var(--c-accent); }
.ps-blog-category li a.all-blogs:hover,
.ps-blog-category li.active a:hover{
  background:var(--c-accent); border-color:var(--c-accent); color:var(--c-light) !important;
}

/* mobile category block spacing */
.articles-filter-container.hide-for-large{ margin-bottom:24px; }

/* ---- ARTICLE LIST ---- */
.blog-ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:clamp(20px,2.4vw,28px); }
.blog-li{ margin:0; }
.blog-li .row{ margin:0; }
.blog-article{
  position:relative;
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:clamp(26px,2.6vw,36px);
  box-shadow:0 26px 56px -50px rgba(16,36,58,.85);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s ease;
}
.blog-article::before{
  content:""; position:absolute; top:0; left:clamp(26px,2.6vw,36px); width:46px; height:2px; background:var(--c-accent);
}
.blog-article:hover{
  transform:translateY(-4px); border-color:rgba(228,87,46,.32);
  box-shadow:0 42px 84px -46px rgba(16,36,58,1);
}

/* category line */
.article-category{
  margin:0 0 14px; display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
}
.article-category .categories_text{ color:var(--c-ink-3); letter-spacing:.16em; }
.article-category a{
  color:var(--c-accent); text-decoration:none; font-weight:500;
  transition:color .2s ease;
}
.article-category a:hover{ color:var(--c-accent-2); text-decoration:underline; }

/* title */
.article-title{ margin:0 0 12px; }
.article-title a{
  font-family:var(--font-head); font-weight:700;
  font-size:clamp(21px,2.1vw,28px); line-height:1.16; letter-spacing:-.025em;
  color:var(--c-ink); text-decoration:none; text-wrap:balance;
  transition:color .25s ease;
  background-image:linear-gradient(var(--c-accent),var(--c-accent));
  background-size:0% 2px; background-position:0 100%; background-repeat:no-repeat;
  transition:background-size .35s var(--ease), color .25s ease;
}
.article-title a:hover{ color:var(--c-accent); background-size:100% 2px; }

/* excerpt */
.article-body{ margin:0 0 18px; }
.article-body p{
  margin:0; font-family:var(--font-body); font-size:16px; line-height:1.7; color:var(--c-ink-2);
}

/* read more */
.blog-read-more{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-head); font-weight:600; font-size:14.5px; letter-spacing:-.01em;
  color:var(--c-accent); text-decoration:none;
  padding-bottom:2px; border-bottom:1.5px solid rgba(228,87,46,.3);
  transition:gap .25s ease, border-color .25s ease, color .25s ease;
}
.blog-read-more::after{ content:"\2192"; font-family:var(--font-mono); transition:transform .25s ease; }
.blog-read-more:hover{ color:var(--c-accent-2); border-color:var(--c-accent); gap:11px; }
.blog-read-more:hover::after{ transform:translateX(2px); }

/* ---- FEATURED (when visible) ---- */
.featured-articles h5{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--c-accent); margin:0 0 14px;
}

/* ---- PAGINATION ---- */
.ps-pagination-bar{ margin-top:clamp(28px,3vw,44px); }
.ps-pagination-bar p{ margin:0; }

/* ---- BLOG responsive ---- */
@media all and (max-width:1024px){
  .blog-sidebar .articles-filter-container{ position:static; }
}


/* =========================================================================
   SINGLE BLOG POST (article-page-type) — real classes only
   Blog pages have no .is-wrapper.
   ========================================================================= */

/* article column */
.article-page-type .blog-article-content{ margin:0 auto; }

/* post title (article-title also carries banner-main-heading; scope here) */
.article-page-type .blog-article-content > .article-title,
.blog-article-content > h1.article-title{
  font-family:var(--font-head); font-weight:800; color:var(--c-ink) !important;
  -webkit-text-fill-color:var(--c-ink) !important; background:none !important;
  font-size:clamp(30px,4vw,52px); line-height:1.08; letter-spacing:-.035em;
  margin:0 0 clamp(22px,2.6vw,34px); text-wrap:balance;
}

/* featured image */
.blog-article-content .ps-article-img{ margin:0; }
.blog-article-content .ps-article-img img{
  width:100%; height:auto; display:block; border-radius:var(--r-md);
  box-shadow:0 34px 72px -46px rgba(16,36,58,.9);
}

/* author / date / categories meta box */
.blog-author.mb-15{ margin-bottom:0; }
.blog-author .lab-ul{
  list-style:none; margin:0; padding:clamp(20px,2.2vw,28px);
  background:var(--c-light); border:1px solid var(--c-line); border-radius:var(--r-md);
  box-shadow:0 26px 56px -50px rgba(16,36,58,.9);
  display:flex; flex-direction:column; gap:10px;
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:.04em; color:var(--c-ink-2);
}
.blog-author .lab-ul li{ margin:0; }
.blog-author .author_name{
  font-family:var(--font-head); font-weight:700; font-size:16px; letter-spacing:-.02em;
  color:var(--c-ink); display:inline-block;
}
.blog-author .pubdate{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; color:var(--c-ink-3) !important;
}
/* "Categories:" label + tag pills inside the author box */
.blog-author .lab-ul > span a{
  display:inline-block; margin:3px 4px 3px 0;
  padding:6px 13px; border-radius:var(--r-pill);
  font-family:var(--font-head); font-weight:600; font-size:12px; letter-spacing:-.01em;
  color:var(--c-ink) !important; text-decoration:none;
  background:var(--c-tint); border:1px solid var(--c-line-2);
  transition:background-color .25s ease, color .25s ease, border-color .25s ease;
}
.blog-author .lab-ul > span a:hover{
  background:var(--c-accent); color:var(--c-light) !important; border-color:var(--c-accent);
}
/* collapse the stray ", " separator spans (they contain no link) */
.blog-author .lab-ul > span:empty{ display:none; }
.blog-author .lab-ul > span:not(:has(a)){ font-size:0; letter-spacing:0; }

/* ---- ARTICLE BODY (.article-body.rte) ---- */
.article-body.rte{
  font-family:var(--font-body); font-size:17.5px; line-height:1.8; color:var(--c-ink-2);
  margin-top:clamp(30px,3.4vw,46px);
}
.article-body.rte p{ margin:0 0 20px; }
.article-body.rte h2{
  font-family:var(--font-head); font-weight:700; color:var(--c-ink);
  font-size:clamp(25px,2.9vw,34px); line-height:1.16; letter-spacing:-.03em;
  margin:clamp(38px,3.6vw,54px) 0 16px; text-wrap:balance;
}
.article-body.rte h3{
  font-family:var(--font-head); font-weight:700; color:var(--c-ink);
  font-size:clamp(21px,2.2vw,27px); line-height:1.2; letter-spacing:-.025em;
  margin:clamp(28px,2.8vw,40px) 0 14px;
}
.article-body.rte h4{
  font-family:var(--font-head); font-weight:600; color:var(--c-ink);
  font-size:clamp(18px,1.7vw,21px); margin:26px 0 12px; letter-spacing:-.02em;
}
.article-body.rte a{
  color:var(--c-accent); text-decoration:none;
  background-image:linear-gradient(var(--c-accent),var(--c-accent));
  background-size:100% 1px; background-position:0 100%; background-repeat:no-repeat;
  padding-bottom:1px; transition:color .2s ease, background-size .25s ease;
}
.article-body.rte a:hover{ color:var(--c-accent-2); background-size:100% 2px; }
.article-body.rte ul{ margin:0 0 22px; padding-left:0; }
.article-body.rte ul li{
  position:relative; list-style:none; padding-left:30px; margin:0 0 12px; line-height:1.7;
}
.article-body.rte ul li::before{
  content:""; position:absolute; left:4px; top:11px;
  width:8px; height:8px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--c-accent);
}
.article-body.rte ol{ margin:0 0 22px; padding-left:0; counter-reset:ocp-aol; }
.article-body.rte ol li{
  position:relative; list-style:none; padding-left:38px; margin:0 0 12px; line-height:1.7; counter-increment:ocp-aol;
}
.article-body.rte ol li::before{
  content:counter(ocp-aol); position:absolute; left:0; top:1px;
  width:24px; height:24px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:12px; font-weight:600; color:var(--c-accent);
  background:rgba(228,87,46,.1); border:1px solid rgba(228,87,46,.3);
}
.article-body.rte blockquote{
  margin:30px 0; padding:22px 26px;
  background:var(--c-tint); border-left:3px solid var(--c-accent); border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-family:var(--font-head); font-weight:500; font-size:clamp(18px,1.8vw,22px);
  line-height:1.5; letter-spacing:-.02em; color:var(--c-ink);
}
.article-body.rte blockquote p{ margin:0; }
.article-body.rte img{
  max-width:100%; height:auto; display:block; border-radius:var(--r-md); margin:26px 0;
  box-shadow:0 30px 64px -46px rgba(16,36,58,.85);
}

/* ---- SIDEBAR (Recent Posts) ---- */
.blog-sidebar-widget{
  margin-top:clamp(44px,5vw,72px); padding-top:clamp(36px,4vw,56px); border-top:1px solid var(--c-line);
}
.blog-sidebar-h2,
.blog-sidebar-h2.recent-posts-text{
  font-family:var(--font-head); font-weight:700; color:var(--c-ink);
  font-size:clamp(23px,2.5vw,30px); letter-spacing:-.03em; margin:0 0 clamp(22px,2.4vw,32px);
}
.ps-blog-recent-posts{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:clamp(20px,2.4vw,28px); }
.ps-blog-recent-posts .blog-li{ margin:0; }
.ps-blog-recent-posts .blog-li .row{ margin:0; }
.ps-blog-recent-posts .blog-article{
  position:relative; height:100%;
  background:var(--c-light); border:1px solid var(--c-line); border-radius:var(--r-md);
  overflow:hidden; padding:0;
  box-shadow:0 26px 56px -50px rgba(16,36,58,.85);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s ease;
}
.ps-blog-recent-posts .blog-article::before{ content:none; }
.ps-blog-recent-posts .blog-article:hover{
  transform:translateY(-5px); border-color:rgba(228,87,46,.32); box-shadow:0 42px 84px -46px rgba(16,36,58,1);
}
.ps-blog-recent-posts .ps-article-img{ margin:0; overflow:hidden; }
.ps-blog-recent-posts .ps-article-img img{
  width:100%; aspect-ratio:3/2; object-fit:cover; display:block; border-radius:0;
  box-shadow:none; transition:transform .5s var(--ease);
}
.ps-blog-recent-posts .blog-article:hover .ps-article-img img{ transform:scale(1.06); }
/* recent post text padding */
.ps-blog-recent-posts .article-category,
.ps-blog-recent-posts .article-title,
.ps-blog-recent-posts .item-body,
.ps-blog-recent-posts .blog-article > p{ padding-left:22px; padding-right:22px; }
.ps-blog-recent-posts .article-category{ padding-top:20px; margin-bottom:8px; }
.ps-blog-recent-posts .article-title{ margin:0 0 10px; }
.ps-blog-recent-posts .article-title a{
  font-family:var(--font-head); font-weight:700; font-size:19px; line-height:1.2; letter-spacing:-.02em;
  color:var(--c-ink) !important; text-decoration:none;
  transition:color .25s ease;
}
.ps-blog-recent-posts .article-title a:hover{ color:var(--c-accent) !important; }
.ps-blog-recent-posts .item-body.rte p{
  margin:0; font-family:var(--font-body); font-size:15px; line-height:1.65; color:var(--c-ink-2);
}
.ps-blog-recent-posts .blog-article > p.pb-0{ padding-bottom:22px; margin:14px 0 0; }


/* =========================================================================
   HEADER (new-header new-header-4) — real classes only
   Scoped to .new-header-4 so it applies on every page incl. blog.
   ========================================================================= */
.new-header.new-header-4{
  background:var(--c-primary);
  font-family:var(--font-head);
}
.new-header.new-header-4.has-bg{ box-shadow:0 1px 0 var(--c-line-light); }

/* top row */
.new-header-4 .custom-grid-container{ position:relative; }

/* phone (left) */
.new-header-4 .sitePhoneNumber{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--font-mono); font-size:13px; letter-spacing:.02em; font-weight:500;
  color:var(--c-light); text-decoration:none;
  transition:color .25s ease;
}
.new-header-4 .sitePhoneNumber i{ color:var(--c-accent); font-size:14px; }
.new-header-4 .sitePhoneNumber:hover{ color:var(--c-accent); }
.new-header-4 .sitePhoneNumber:hover i{ color:var(--c-accent-2); }

/* logo (center) */
.new-header-4 .logo-container a{ text-decoration:none; display:inline-flex; align-items:center; }
.new-header-4 .text-logo{
  font-family:var(--font-head); font-weight:800; font-size:clamp(20px,2vw,26px);
  letter-spacing:-.03em; color:var(--c-light);
  display:inline-flex; align-items:center; gap:8px;
}
.new-header-4 .text-logo::before{
  content:""; width:10px; height:10px; flex:none;
  border-radius:50% 50% 50% 0; transform:rotate(-45deg);
  background:linear-gradient(135deg,var(--c-accent),var(--c-accent-soft));
}

/* Contact Us button (right) */
.new-header-4 .mobile-contact-button-section .cta,
.new-header-4 .menu .cta.button{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--c-accent); color:var(--c-light);
  padding:12px 26px; border-radius:var(--r-pill);
  font-family:var(--font-head); font-weight:600; font-size:14px; letter-spacing:-.01em;
  text-decoration:none; border:none;
  box-shadow:0 14px 32px -20px rgba(228,87,46,.95);
  transition:background-color .25s ease, transform .25s var(--ease);
}
.new-header-4 .menu .cta.button:hover{ background:var(--c-accent-2); transform:translateY(-2px); color:var(--c-light); }
.new-header-4 .menu.align-right{ margin:0; justify-content:flex-end; }

/* ---- MAIN NAV ---- */
@media all and (min-width:1024px){
  .new-header-4 .new-header-menu-container{ border-top:1px solid var(--c-line-light); }
}
.new-header-4 .dropdown.menu.level-1{ background:transparent; }
.new-header-4 .dropdown.menu.level-1 > li > a{
  font-family:var(--font-head); font-weight:600; font-size:15px; letter-spacing:-.01em;
  color:var(--c-light) !important; padding:18px 20px; position:relative;
  text-decoration:none !important; border-bottom:none !important;
  background:transparent !important;
  transition:color .25s ease;
}
.new-header-4 .dropdown.menu.level-1 > li > a span{ position:relative; text-decoration:none !important; }
/* animated underline (our own bar) */
.new-header-4 .dropdown.menu.level-1 > li > a::after{
  content:"" !important; position:absolute !important;
  left:20px !important; right:20px !important; width:auto !important;
  bottom:12px !important; top:auto !important; height:2px !important;
  background:var(--c-accent) !important; border:0 !important;
  transform:scaleX(0); transform-origin:center;
  transition:transform .3s var(--ease); border-radius:2px;
}
.new-header-4 .dropdown.menu.level-1 > li > a:hover{ color:var(--c-blue) !important; }
.new-header-4 .dropdown.menu.level-1 > li > a:hover::after{ transform:scaleX(1); }
/* active page */
.new-header-4 .dropdown.menu.level-1 > li.active > a{ color:var(--c-light) !important; }
.new-header-4 .dropdown.menu.level-1 > li.active > a::after{ transform:scaleX(1); }

/* dropdown parent caret */
.new-header-4 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a{ padding-right:32px; }
.new-header-4 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a::before{
  content:""; position:absolute; right:18px; top:50%; width:6px; height:6px;
  border-right:2px solid var(--c-blue); border-bottom:2px solid var(--c-blue);
  transform:translateY(-70%) rotate(45deg); transition:border-color .25s ease;
}
.new-header-4 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a:hover::before{ border-color:var(--c-accent); }

/* ---- SUBMENU ---- */
.new-header-4 .is-dropdown-submenu.menu.level-2{
  background:var(--c-light) !important; border:1px solid var(--c-line);
  border-radius:var(--r-sm); padding:8px;
  box-shadow:0 24px 54px -30px rgba(6,18,30,.55); min-width:260px;
}
.new-header-4 .is-dropdown-submenu.menu.level-2 > li{ list-style:none; }
/* divider between items (not after the last) */
.new-header-4 .is-dropdown-submenu.menu.level-2 > li + li{
  border-top:1px solid var(--c-line);
}
.new-header-4 .is-dropdown-submenu.menu.level-2 > li > a,
.new-header-4 .is-dropdown-submenu.menu.level-2 > li > a span{
  font-family:var(--font-head); font-weight:500; font-size:14px; letter-spacing:-.01em;
  color:var(--c-ink) !important; padding:11px 16px; border-radius:var(--r-sm);
  display:block; line-height:1.35; text-decoration:none;
  transition:background-color .2s ease, color .2s ease, padding-left .2s ease;
}
.new-header-4 .is-dropdown-submenu.menu.level-2 > li > a span{ padding:0; display:inline; }
.new-header-4 .is-dropdown-submenu.menu.level-2 > li > a:hover,
.new-header-4 .is-dropdown-submenu.menu.level-2 > li > a:hover span{
  background:var(--c-tint); color:var(--c-accent) !important; padding-left:20px;
}
.new-header-4 .is-dropdown-submenu.menu.level-2 > li > a:hover span{ padding-left:0; background:none; }

/* ---- MOBILE (below Webware's 1023.5px breakpoint) ---- */
.new-header-4 .openMenu{
  background:transparent; border:none; cursor:pointer; color:var(--c-light);
  display:inline-flex; align-items:center; padding:6px;
}
.new-header-4 .openMenu i{ color:var(--c-light); }
.new-header-4 .openMenu:hover i{ color:var(--c-accent); }

@media all and (max-width:1023.5px){
  .new-header-4 .mobile-contact-number-section{
    text-align:center; padding:10px 16px; border-top:1px solid var(--c-line-light);
  }
  .new-header-4 .mobile-contact-number-section .sitePhoneNumber{ color:var(--c-light); }
  .new-header-4 .mobile-contact-button-section{
    padding:10px 16px; text-align:center; border-bottom:1px solid var(--c-line-light);
  }
  .new-header-4 .mobile-contact-button-section .cta{
    display:inline-flex; align-items:center; gap:8px; justify-content:center;
    font-family:var(--font-mono); font-size:12.5px; letter-spacing:.02em;
    color:var(--c-blues); text-decoration:none; margin-bottom:0;
    transition:color .25s ease;
  }
  .new-header-4 .mobile-contact-button-section .cta i{ color:var(--c-accent); }
  .new-header-4 .mobile-contact-button-section .cta:hover{ color:var(--c-light); }
}


/* =========================================================================
   MOBILE SIDENAV (off-canvas accordion) — real classes only
   ========================================================================= */
.sidenav.off-canvas{
  background:var(--c-primary);
  padding:0;
  box-shadow:-30px 0 80px -30px rgba(6,18,30,.7);
}
/* thin accent bar down the leading edge */
.sidenav.off-canvas::before{
  content:""; position:absolute; top:0; left:0; width:3px; height:100%;
  background:linear-gradient(180deg,var(--c-accent),var(--c-accent-soft));
}

/* menu list */
.sidenav .vertical.menu.accordion-menu{
  background:transparent; list-style:none; margin:0; 
}
.sidenav .accordion-menu > li{ list-style:none; border-bottom:1px solid var(--c-line-light); }
.sidenav .accordion-menu > li:last-child{ border-bottom:none; }

/* top-level links */
.sidenav .accordion-menu > li > a{
  display:flex; align-items:center; justify-content:space-between;
  font-family:var(--font-head); font-weight:600; font-size:16px; letter-spacing:-.015em;
  color:var(--c-light) !important; text-decoration:none !important;
  padding:16px 6px; position:relative;
  transition:color .2s ease, padding-left .2s ease;
}
.sidenav .accordion-menu > li > a span{ color:inherit !important; }
.sidenav .accordion-menu > li > a:hover{ color:var(--c-blue) !important; padding-left:12px; }

/* active top-level */
.sidenav .accordion-menu > li.active > a,
.sidenav .accordion-menu > li.is-page.active > a{ color:var(--c-accent) !important; }

/* submenu parent caret */
.sidenav .accordion-menu > li.is-accordion-submenu-parent > a::after{
  content:""; width:8px; height:8px; flex:none; margin-left:12px;
  border-rights:0px solid var(--c-blue) !important;
  border-bottom:2px solid var(--c-blue) !important;
  border-top:0s !important; border-lefts:0 !important;
  transform:rotate(45deg)s;
  transition:transform .3s var(--ease), border-color .2s ease;
}
.sidenav .accordion-menu > li.is-accordion-submenu-parent[aria-expanded="true"] > a::after{
  transform:rotate(-135deg)s !important;
}
.sidenav .accordion-menu > li.is-accordion-submenu-parent > a:hover::after{
  border-right-color:var(--c-accent) !important;
  border-bottom-color:var(--c-accent) !important;
}

/* ---- SUBMENU (accordion nested) ---- */
.sidenav .is-accordion-submenu.level-2{
  list-style:none; margin:0 0 8px; padding:4px 0 8px;
  background:rgba(0,0,0,.18); border-radius:var(--r-sm);
}
.sidenav .is-accordion-submenu.level-2 > li{ list-style:none; }
.sidenav .is-accordion-submenu.level-2 > li + li{ border-top:1px solid rgba(255,255,255,.06); }
.sidenav .is-accordion-submenu.level-2 > li > a{
  display:block; position:relative;
  font-family:var(--font-head); font-weight:500; font-size:14px; letter-spacing:-.01em;
  color:var(--c-blue) !important; text-decoration:none !important;
  padding:12px 6px; transition:color .2s ease, padding-left .2s ease;
}
.sidenav .is-accordion-submenu.level-2 > li > a span{ color:inherit !important; }
.sidenav .is-accordion-submenu.level-2 > li > a span.padding-left-1{ padding-left:18px; display:inline-block; position:relative; }
/* dot marker before submenu items */
.sidenav .is-accordion-submenu.level-2 > li > a span.padding-left-1::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:5px; height:5px; border-radius:50%; background:var(--c-accent); opacity:.6;
  transition:opacity .2s ease, transform .2s ease;
}
.sidenav .is-accordion-submenu.level-2 > li > a:hover{ color:var(--c-light) !important; padding-left:10px; }
.sidenav .is-accordion-submenu.level-2 > li > a:hover span.padding-left-1::before{ opacity:1; transform:translateY(-50%) scale(1.3); }
/* active submenu item */
.sidenav .is-accordion-submenu.level-2 > li.active > a{ color:var(--c-accent) !important; }
.sidenav .is-accordion-submenu.level-2 > li.active > a span.padding-left-1::before{ opacity:1; }


/* =========================================================================
   FOOTER (new-footer new-footer-1) — real classes only
   ========================================================================= */
.new-footer.new-footer-1{
  position:relative; background:var(--c-primary-dark); color:var(--c-blue);
  border-top:3px solid var(--c-accent);
  background-image:
    radial-gradient(60% 60% at 88% 0%, rgba(228,87,46,.1) 0%, rgba(6,18,30,0) 60%),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:auto, var(--grid-cell) var(--grid-cell), var(--grid-cell) var(--grid-cell);
}
.new-footer-1 .custom-grid-container{ max-width:1200px; margin:0 auto; }

/* ---- FOOTER NAV (hidden) ---- */
.new-footer-1 .footer-menu-container{ display:none !important; }
.new-footer-1 .dropdown.menu.level-1{ background:transparent; }
.new-footer-1 .dropdown.menu.level-1 > li > a{
  font-family:var(--font-head); font-weight:600; font-size:15px; letter-spacing:-.01em;
  color:var(--c-light) !important; text-decoration:none !important; border:0 !important;
  padding:14px 18px; position:relative;
  transition:color .25s ease;
}
.new-footer-1 .dropdown.menu.level-1 > li > a span{ color:inherit !important; }
.new-footer-1 .dropdown.menu.level-1 > li > a::after{
  content:"" !important; position:absolute !important;
  left:18px !important; right:18px !important; width:auto !important;
  bottom:9px !important; top:auto !important; height:2px !important;
  background:var(--c-accent) !important; border:0 !important;
  transform:scaleX(0); transform-origin:center; transition:transform .3s var(--ease); border-radius:2px;
}
.new-footer-1 .dropdown.menu.level-1 > li > a:hover{ color:var(--c-blue) !important; }
.new-footer-1 .dropdown.menu.level-1 > li > a:hover::after{ transform:scaleX(1); }
.new-footer-1 .dropdown.menu.level-1 > li.active > a::after{ transform:scaleX(1); }

/* footer nav submenu (if it shows) */
.new-footer-1 .is-dropdown-submenu.menu.level-2{
  background:var(--c-primary-dark) !important; border:1px solid var(--c-line-light);
  border-radius:var(--r-sm); padding:8px; min-width:240px;
  box-shadow:0 24px 54px -30px rgba(0,0,0,.6);
}
.new-footer-1 .is-dropdown-submenu.menu.level-2 > li + li{ border-top:1px solid rgba(255,255,255,.06); }
.new-footer-1 .is-dropdown-submenu.menu.level-2 > li > a,
.new-footer-1 .is-dropdown-submenu.menu.level-2 > li > a span{
  color:var(--c-blue) !important; font-family:var(--font-head); font-weight:500; font-size:14px;
  padding:10px 14px; display:block; text-decoration:none !important; transition:color .2s ease, padding-left .2s ease;
}
.new-footer-1 .is-dropdown-submenu.menu.level-2 > li > a:hover,
.new-footer-1 .is-dropdown-submenu.menu.level-2 > li > a:hover span{ color:var(--c-accent) !important; padding-left:18px; }

/* ---- FOOTER COLUMNS ---- */
.new-footer-1 .footer-text h4,
.new-footer-1 .contact-us-column h4{
  font-family:var(--font-head); font-weight:700; font-size:18px; letter-spacing:-.02em;
  color:var(--c-light); margin:0 0 16px; position:relative; padding-bottom:12px;
}
.new-footer-1 .footer-text h4::after,
.new-footer-1 .contact-us-column h4::after{
  content:""; position:absolute; left:0; bottom:0; width:38px; height:2px; background:var(--c-accent); border-radius:2px;
}
.new-footer-1 .footer-text p{
  margin:0; font-family:var(--font-body); font-size:15px; line-height:1.7; color:var(--c-blue);
}

/* social icons */
.new-footer-1 .footer-social-media{ margin-top:22px; }
.new-footer-1 .footer-social-media .menu{ list-style:none; margin:0; padding:0; display:flex; gap:10px; }
.new-footer-1 .footer-social-media .menu li a{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  background:rgb(255 255 255); border:1px solid var(--c-line-light); color:var(--c-light);
  text-decoration:none;    padding: 10px !important; transition:transform .25s var(--ease), background-color .25s ease, border-color .25s ease, color .25s ease;
}
.new-footer-1 .footer-social-media .menu li a:hover{
  background:var(--c-accent); border-color:var(--c-accent); color:var(--c-light); transform:translateY(-3px);
}

/* center logo */
.new-footer-1 .footer-media-box{ display:flex; align-items:center; justify-content:center; }
.new-footer-1 .footer-media-box img{ width:495px; height:auto; }

/* contact column */
.new-footer-1 .contact-us-column .shop-address{
  position:relative; display:block; padding-left:30px;
  font-family:var(--font-body); font-size:15px; line-height:1.7; color:var(--c-blue) !important;
  text-decoration:none; transition:color .2s ease;
}
.new-footer-1 .contact-us-column .shop-address:hover{ color:var(--c-light) !important; }
.new-footer-1 .contact-us-column .shop-address::before{
  content:""; position:absolute; left:0; top:3px; width:18px; height:18px;
  background:var(--c-accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/><circle cx='12' cy='10' r='2.4' fill='none' stroke='black' stroke-width='2'/></svg>") no-repeat center / contain;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/><circle cx='12' cy='10' r='2.4' fill='none' stroke='black' stroke-width='2'/></svg>") no-repeat center / contain;
}

.new-footer-1 .contact-us-column .contact-number{
  display:inline-flex !important; align-items:center; gap:8px;
  margin:16px 0 !important; padding:0 !important;
}
.new-footer-1 .contact-us-column .contact-number::before{
  content:""; position:static !important; left:auto !important; top:auto !important;
  flex:none; width:18px; height:18px;
  background:var(--c-accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.5 3h3l1.5 4-2 1.5a11 11 0 0 0 5 5l1.5-2 4 1.5v3a2 2 0 0 1-2.2 2A16 16 0 0 1 4.5 5.2 2 2 0 0 1 6.5 3Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/></svg>") no-repeat center / contain;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.5 3h3l1.5 4-2 1.5a11 11 0 0 0 5 5l1.5-2 4 1.5v3a2 2 0 0 1-2.2 2A16 16 0 0 1 4.5 5.2 2 2 0 0 1 6.5 3Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/></svg>") no-repeat center / contain;
}
.new-footer-1 .contact-us-column .contact-number a,
.new-footer-1 .contact-us-column .siteDisplayNumber a{
  font-family:var(--font-mono); font-size:15px; letter-spacing:.02em; color:var(--c-light) !important;
  text-decoration:none; transition:color .2s ease;
  padding-left:0 !important; margin-bottom:0 !important; display:inline !important;
}
.new-footer-1 .contact-us-column .contact-number a:hover{ color:var(--c-accent) !important; }

.new-footer-1 .contact-us-column .email-id{
  position:relative; display:inline-block; padding-left:30px !important;
  font-family:var(--font-mono); font-size:13.5px; letter-spacing:.02em;
  color:var(--c-blue) !important; text-decoration:none; margin-bottom:18px; transition:color .2s ease;
}
.new-footer-1 .contact-us-column .email-id::before{
  content:""; position:absolute; left:0; top:1px; width:18px; height:18px;
  background:var(--c-accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/><path d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/></svg>") no-repeat center / contain;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/><path d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/></svg>") no-repeat center / contain;
}
.new-footer-1 .contact-us-column .email-id:hover{ color:var(--c-accent) !important; }
.new-footer-1 .contact-us-column .contact-number:hover,
.new-footer-1 .contact-us-column .email-id:hover{
  color:var(--c-accent) !important;
}

.new-footer-1 .contact-us-column .email-id{
  position:relative;
  display:inline-block;
  padding-left:30px !important;
  font-family:var(--font-mono);
  font-size:13.5px;
  letter-spacing:.02em;
  color:var(--c-blue) !important;
  text-decoration:none;
  margin-bottom:18px;
  transition:color .2s ease;
}
/* phone number keeps mono/color styling without the gutter (icon is inline) */
.new-footer-1 .contact-us-column .contact-number{
  display:inline-flex !important; align-items:center; gap:8px;
  padding:0 !important; margin:16px 0 !important;
  font-family:var(--font-mono); font-size:13.5px; letter-spacing:.02em;
  color:var(--c-blue) !important; text-decoration:none;
}

/* mailing list button */
.new-footer-1 .mailing-list-button .button{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--c-accent); color:var(--c-light) !important;
  padding:13px 26px; border-radius:var(--r-pill);
  font-family:var(--font-head); font-weight:600; font-size:14px; letter-spacing:-.01em;
  text-decoration:none; border:none;
  box-shadow:0 16px 36px -22px rgba(228,87,46,.95);
  transition:background-color .25s ease, transform .25s var(--ease);
}
.new-footer-1 .mailing-list-button .button:hover{ background:var(--c-accent-2); transform:translateY(-2px); }

/* ---- COPYRIGHT ---- */
.new-footer-1 .copyright-container{ border-top:1px solid var(--c-line-light); padding:20px 0; }
.new-footer-1 .copyright{
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:.03em; color:var(--c-ink-3); margin:0;
}
.new-footer-1 .copyright a{ color:var(--c-blue); text-decoration:none; transition:color .2s ease; }
.new-footer-1 .copyright a:hover{ color:var(--c-accent); }

/* ---- FOOTER MOBILE (below 1023.5px) ---- */
@media all and (max-width:1023.5px){
  .new-footer-1 .footer-media-box{ order:-1; margin-bottom:8px; }
  /* stack + center everything */
  .new-footer-1 .footer-text,
  .new-footer-1 .contact-us-column{ text-align:center; }
  .new-footer-1 .footer-text h4,
  .new-footer-1 .contact-us-column h4{ display:inline-block; }
  .new-footer-1 .footer-text h4::after,
  .new-footer-1 .contact-us-column h4::after{ left:50%; transform:translateX(-50%); }
  /* center social icons */
  .new-footer-1 .footer-social-media{ display:flex; justify-content:center; }
  .new-footer-1 .footer-social-media .menu{ justify-content:center; }
  /* center contact items; keep each icon tight to its text */
  .new-footer-1 .contact-us-column .shop-address{
    display:block; text-align:center;
    padding-left:0;
  }
  .new-footer-1 .contact-us-column .shop-address::before{ position:static; display:inline-block; vertical-align:middle; margin-right:8px; top:auto; }
  .new-footer-1 .contact-us-column .contact-number{
    display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
    padding-left:0 !important; width:100%; margin-bottom:6px !important;
  }
  .new-footer-1 .contact-us-column .contact-number::before{ position:static !important; margin:0 !important; top:auto !important; }
  .new-footer-1 .contact-us-column .email-id{
    display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
    padding-left:0 !important; text-align:center; margin-bottom:18px !important;
  }
  .new-footer-1 .contact-us-column .email-id::before{ position:static !important; margin:0 !important; top:auto !important; }
  .new-footer-1 .mailing-list-button{ display:flex; justify-content:center; }
}


/* =========================================================================
   CONTACT FORM (ww-form-container-3) — real classes only
   ========================================================================= */
.ww-form-container-3{
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:clamp(26px,3vw,44px);
  box-shadow:0 34px 72px -46px rgba(16,36,58,.9);
}
.ww-form-container-3 .hide{ display:none; }

/* fieldset resets to a clean grid */
.ww-form-container-3 .fieldset{
  border:0; margin:0; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:18px 20px;
}
/* full-width fields */
.ww-form-container-3 .email_wrap,
.ww-form-container-3 .phone_wrap,
.ww-form-container-3 .field_34012_wrap{ grid-column:1 / -1; }

/* labels */
.ww-form-container-3 label{
  display:block; margin:0 0 7px;
  font-family:var(--font-head); font-weight:600; font-size:13.5px; letter-spacing:-.01em;
  color:var(--c-ink);
}
.ww-form-container-3 .required{ color:var(--c-accent); margin-left:3px; }

/* inputs + textarea */
.ww-form-container-3 .input,
.ww-form-container-3 input[type="text"],
.ww-form-container-3 input[type="email"],
.ww-form-container-3 input[type="tel"],
.ww-form-container-3 textarea{
  width:100%; font-family:var(--font-body); font-size:15px; color:var(--c-ink);
  background:var(--c-paper-3); border:1px solid var(--c-line-2); border-radius:var(--r-sm);
  padding:11px 15px; outline:none; box-sizing:border-box;
  transition:border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.ww-form-container-3 .input::placeholder,
.ww-form-container-3 textarea::placeholder,
.ww-form-container-3 input::placeholder{ color:var(--c-ink-3); }
.ww-form-container-3 .input:focus,
.ww-form-container-3 input:focus,
.ww-form-container-3 textarea:focus{
  border-color:var(--c-accent); background:var(--c-light);
  box-shadow:0 0 0 4px rgba(228,87,46,.12);
}
.ww-form-container-3 textarea{ min-height:140px; resize:vertical; line-height:1.6; }

/* intl-tel phone wrapper */
.ww-form-container-3 .iti{ width:100%; display:block; }
.ww-form-container-3 .iti input.phone_number{ width:100%; }
.ww-form-container-3 .iti--allow-dropdown .iti__flag-container{ z-index:2; }
.ww-form-container-3 #mob_phone_phone_number_valid{
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.04em; margin-top:6px; display:inline-block;
}

/* error messages */
.ww-form-container-3 .error{
  display:block; margin-top:6px;
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.02em; color:#c0392b;
}
.ww-form-container-3 .input.error-field,
.ww-form-container-3 .input.error{ border-color:#c0392b; }

/* captcha */
.ww-form-container-3 .form-container{ margin-top:4px; }
.ww-form-container-3 .captcha_wrap{ margin-top:18px; }
.ww-form-container-3 .recaptcha-block{
  background:transparent; border:0; padding:0;
}

/* submit button */
.ww-form-container-3 .submit_wrap{ margin-top:8px; text-align:center !important; }
.ww-form-container-3 .submit_wrap .button.input,
.ww-form-container-3 input[type="submit"].button{
  display:inline-flex; align-items:center; justify-content:center;
  width:auto; cursor:pointer;
  background:var(--c-accent); color:var(--c-light);
  border:none; border-radius:var(--r-pill);
  padding:15px 40px;
  font-family:var(--font-head); font-weight:600; font-size:15px; letter-spacing:-.01em;
  box-shadow:0 18px 40px -22px rgba(228,87,46,.95);
  transition:background-color .25s ease, transform .25s var(--ease), box-shadow .25s ease;
}
.ww-form-container-3 .submit_wrap .button.input:hover,
.ww-form-container-3 input[type="submit"].button:hover{
  background:var(--c-accent-2); transform:translateY(-2px);
  box-shadow:0 24px 48px -22px rgba(228,87,46,1);
}
.ww-form-container-3 .submit_wrap .button.input:focus-visible{ outline:2px solid var(--c-accent); outline-offset:3px; }

/* form responsive */
@media all and (max-width:640px){
  .ww-form-container-3 .fieldset{ grid-template-columns:1fr; }
  .ww-form-container-3 .submit_wrap .button.input{ width:100%; }
}


/* =========================================================================
   LEAD MAGNET FORM (ww-form-container) — real classes only
   Blog lead-capture: heading + intro + First Name + Email + captcha + submit
   ========================================================================= */
.ww-form-container{
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:clamp(26px,3vw,44px);
  box-shadow:0 34px 72px -46px rgba(16,36,58,.9);
  position:relative; overflow:hidden;
}
.ww-form-container::before{
  content:""; position:absolute; top:0; left:0; width:100%; height:4px;
  background:linear-gradient(90deg,var(--c-accent),var(--c-accent-soft));
}
.ww-form-container .ocp-h2{
  margin:0 0 14px; font-size:clamp(21px,2.2vw,28px); line-height:1.18;
}
.ww-form-container > form > p,
.ww-form-container form p{
  margin:0 0 22px; font-family:var(--font-body); font-size:15.5px; line-height:1.7; color:var(--c-ink-2);
}
.ww-form-container .hide{ display:none; }

/* fields */
.ww-form-container .first_name_wrap,
.ww-form-container .email_wrap{ margin-bottom:16px; }
.ww-form-container label{
  display:block; margin:0 0 7px;
  font-family:var(--font-head); font-weight:600; font-size:13.5px; letter-spacing:-.01em; color:var(--c-ink);
}
.ww-form-container .required{ color:var(--c-accent); margin-left:3px; }
.ww-form-container .input,
.ww-form-container input[type="text"],
.ww-form-container input[type="email"]{
  box-sizing:border-box;
  font-family:var(--font-body); font-size:15px; color:var(--c-ink);
  outline:none;
}
.ww-form-container .input::placeholder,
.ww-form-container input::placeholder{ color:var(--c-ink-3); }
.ww-form-container .input:focus,
.ww-form-container input:focus{
  border-color:var(--c-accent); background:var(--c-light);
  box-shadow:0 0 0 4px rgba(228,87,46,.12);
}

/* errors */
.ww-form-container .error{
  display:block; margin-top:6px;
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.02em; color:#c0392b;
}

/* captcha */
.ww-form-container .captcha_wrap{ margin-top:18px; }
.ww-form-container .recaptcha-block{ background:transparent; border:0; padding:0; }

/* submit */
.ww-form-container .submit_wrap{ margin-top:8px; text-align:center; }
.ww-form-container .submit_wrap .button.input,
.ww-form-container input[type="submit"].button{
  display:inline-flex; align-items:center; justify-content:center;
  width:auto; cursor:pointer;
  background:var(--c-accent); color:var(--c-light);
  border:none; border-radius:var(--r-pill);
  padding:15px 40px;
  font-family:var(--font-head); font-weight:600; font-size:15px; letter-spacing:-.01em;
  box-shadow:0 18px 40px -22px rgba(228,87,46,.95);
  transition:background-color .25s ease, transform .25s var(--ease), box-shadow .25s ease;
}
.ww-form-container .submit_wrap .button.input:hover,
.ww-form-container input[type="submit"].button:hover{
  background:var(--c-accent-2); transform:translateY(-2px);
  box-shadow:0 24px 48px -22px rgba(228,87,46,1);
}
.ww-form-container .submit_wrap .button.input:focus-visible{ outline:2px solid var(--c-accent); outline-offset:3px; }

@media all and (max-width:640px){
  .ww-form-container .submit_wrap .button.input{ width:100%; }
}


/* =========================================================================
   NEWSLETTER REGISTRATION FORM — real classes only
   Shares .ww-form-container base; adds page wrapper, legend, checkbox opt-in
   ========================================================================= */
.newsletter-form-wrapper{ padding:clamp(36px,4.5vw,64px) 0; }

/* the registration card reuses .ww-form-container styling */
.ww-newsletter-registration.ww-form-container{ max-width:640px; margin:40px auto; }
/* neutralize the narrow medium-6 column so content fills the card evenly */
.ww-newsletter-registration .grid-container{ max-width:100%; padding:0; }
.ww-newsletter-registration .cell.medium-6{
  width:100% !important; flex:0 0 100% !important; max-width:100% !important;
  padding-top:0 !important; padding-bottom:0 !important;
}
.ww-newsletter-registration form{ text-align:left; }

/* legend / section label */
.ww-newsletter-registration .fieldset legend,
.ww-form-container .fieldset legend{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--c-accent); padding:0; margin:0 0 16px;
}

/* first name / last name / email spacing in registration */
.ww-newsletter-registration .first_name_wrap,
.ww-newsletter-registration .last_name_wrap,
.ww-newsletter-registration .email_wrap{ margin-bottom:16px; }

/* opt-in checkbox row */
.ww-form-container .checkbox_wrap,
.ww-newsletter-registration .checkbox_wrap{ margin:6px 0 4px; }
.ww-form-container .checkbox_wrap p:empty{ display:none; }
.ww-form-container .checkbox_wrap .float-left{ float:none !important; }
.ww-form-container .checkbox_wrap label{
  display:flex; align-items:center; gap:10px; cursor:pointer;
  font-family:var(--font-body); font-weight:500; font-size:14.5px; color:var(--c-ink-2); margin:0;
}
.ww-form-container .checkbox_wrap input[type="checkbox"]{
  appearance:none; -webkit-appearance:none;
  width:20px; height:20px; flex:none; margin:0;
  background:var(--c-paper-3); border:1.5px solid var(--c-line-2); border-radius:5px;
  cursor:pointer; position:relative;
  transition:background-color .2s ease, border-color .2s ease;
}
.ww-form-container .checkbox_wrap input[type="checkbox"]:hover{ border-color:var(--c-accent); }
.ww-form-container .checkbox_wrap input[type="checkbox"]:checked{
  background:var(--c-accent); border-color:var(--c-accent);
}
.ww-form-container .checkbox_wrap input[type="checkbox"]:checked::after{
  content:""; position:absolute; left:6px; top:2px; width:5px; height:10px;
  border:solid var(--c-light); border-width:0 2px 2px 0; transform:rotate(45deg);
}
.ww-form-container .checkbox_wrap input[type="checkbox"]:focus-visible{
  outline:2px solid var(--c-accent); outline-offset:2px;
}


/* =========================================================================
   LOGIN PAGE (ps-login-page) — real classes only
   ========================================================================= */
.ps-login-page{ background:var(--c-paper); }
.ps-login-page .grid-container{ max-width:1100px; }

/* login card */
.ps-login-form-wrap{
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:clamp(28px,3vw,44px);
  box-shadow:0 34px 72px -46px rgba(16,36,58,.9);
  position:relative; overflow:hidden;
}
.ps-login-form-wrap::before{
  content:""; position:absolute; top:0; left:0; width:100%; height:4px;
  background:linear-gradient(90deg,var(--c-accent),var(--c-accent-soft));
}
.ps-login-form-wrap h4{
  font-family:var(--font-head); font-weight:700; font-size:clamp(20px,2.2vw,26px);
  letter-spacing:-.02em; color:var(--c-ink); margin:0 0 22px; padding-bottom:14px;
  position:relative;
}
.ps-login-form-wrap h4::after{
  content:""; position:absolute; left:0; bottom:0; width:42px; height:2px; background:var(--c-accent); border-radius:2px;
}

/* labels */
.ps-login-form-wrap label{
  display:block; margin:0 0 7px;
  font-family:var(--font-head); font-weight:600; font-size:13.5px; letter-spacing:-.01em; color:var(--c-ink);
}
.ps-login-form-wrap label .error{ color:var(--c-accent); margin-left:3px; }

/* text inputs */
.ps-login-form-wrap .ps-text,
.ps-login-form-wrap input[type="email"],
.ps-login-form-wrap input[type="password"]{
  width:100%; box-sizing:border-box;
  font-family:var(--font-body); font-size:15px; color:var(--c-ink);
  background:var(--c-paper-3); border:1px solid var(--c-line-2); border-radius:var(--r-sm);
  padding:13px 15px; outline:none;
  transition:border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.ps-login-form-wrap .ps-text:focus,
.ps-login-form-wrap input:focus{
  border-color:var(--c-accent); background:var(--c-light);
  box-shadow:0 0 0 4px rgba(228,87,46,.12);
}

/* password field + show/hide toggle */
.ps-login-form-wrap .password-container{ position:relative; }
.ps-login-form-wrap .password-container .passwordField{ padding-right:44px; }
.ps-login-form-wrap .toggle-password{
  position:absolute; top:50%; transform:translateY(-50%);
  color:var(--c-ink-3); cursor:pointer; font-size:15px;
  transition:color .2s ease;
}
.ps-login-form-wrap .toggle-password:hover{ color:var(--c-accent); }
.ps-login-form-wrap .password-container + p{
  margin:8px 0 0; font-family:var(--font-mono); font-size:11.5px; letter-spacing:.03em; color:var(--c-ink-3);
}

/* login button */
.ps-login-form-wrap .ps-login-button,
.ps-login-form-wrap input[type="submit"].ps-login-button{
  display:inline-flex; align-items:center; justify-content:center;
  width:100%; cursor:pointer;
  background:var(--c-accent); color:var(--c-light);
  border:none; border-radius:var(--r-pill);
  padding:15px 30px;
  font-family:var(--font-head); font-weight:600; font-size:15px; letter-spacing:-.01em;
  box-shadow:0 18px 40px -22px rgba(228,87,46,.95);
  transition:background-color .25s ease, transform .25s var(--ease), box-shadow .25s ease;
}
.ps-login-form-wrap .ps-login-button:hover{
  background:var(--c-accent-2); transform:translateY(-2px);
  box-shadow:0 24px 48px -22px rgba(228,87,46,1);
}

/* forgot password line */
.ps-login-form-wrap > p,
.ps-login-form-wrap form + p{
  margin:18px 0 0; font-family:var(--font-body); font-size:14px; color:var(--c-ink-2);
}
.ps-login-form-wrap p a{
  color:var(--c-accent); text-decoration:none; font-weight:600;
  transition:color .2s ease;
}
.ps-login-form-wrap p a:hover{ color:var(--c-accent-2); text-decoration:underline; }

/* separator */
.ps-login-form-wrap .ps-separator{
  height:1px; background:var(--c-line); margin:24px 0;
}

/* signup / register */
.ps-login-form-wrap .signup-container{ text-align:center; }
.ps-login-form-wrap .signup-container p{
  margin:0 0 12px; font-family:var(--font-head); font-weight:600; font-size:15px; color:var(--c-ink);
}
.ps-login-form-wrap .ps-register-button,
.ps-login-form-wrap input[type="button"].ps-register-button{
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  background:transparent; color:var(--c-ink) !important;
  border:1.5px solid var(--c-ink); border-radius:var(--r-pill);
  padding:13px 32px;
  font-family:var(--font-head); font-weight:600; font-size:14px; letter-spacing:.02em; text-transform:uppercase;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s var(--ease);
}
.ps-login-form-wrap .ps-register-button:hover{
  background:var(--c-ink); color:var(--c-light) !important; border-color:var(--c-ink); transform:translateY(-2px);
}


/* =========================================================================
   BACK TO TOP BUTTON (back-to-top-button) — real classes only
   ========================================================================= */
.back-to-top-button.position-fixed{
  position:fixed; right:24px; bottom:24px; z-index:900;
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--c-accent); color:var(--c-light) !important;
  text-decoration:none; border:none;
  box-shadow:0 18px 40px -18px rgba(228,87,46,.95);
  transition:transform .3s var(--ease), background-color .25s ease, box-shadow .25s ease, opacity .3s ease;
}
.back-to-top-button.position-fixed:hover{
  background:var(--c-accent-2); transform:translateY(-4px);
  box-shadow:0 26px 54px -18px rgba(228,87,46,1);
}
.back-to-top-button.position-fixed:active{ transform:translateY(-1px); }

/* icon — force upward arrow regardless of FontAwesome rotate/border/pull classes */
.back-to-top-button.position-fixed i{
  color:var(--c-light) !important;
  font-size:18px !important; line-height:1 !important;
  border:0 !important; padding:0 !important; margin:0 !important;
  float:none !important; background:none !important;
  transform:rotate(-90deg) !important;   /* fa-arrow-right -> points up */
  transition:transform .3s var(--ease);
}
.back-to-top-button.position-fixed:hover i{ transform:rotate(-90deg) translateX(3px) !important; }

@media all and (max-width:640px){
  .back-to-top-button.position-fixed{ right:16px; bottom:16px; width:46px; height:46px; }
  .back-to-top-button.position-fixed i{ font-size:16px !important; }
}



/* =========================================================================
   1 CHOICE PEST CONTROL — REVIEWS / TESTIMONIALS PAGE
   Standalone stylesheet. Uses the brand tokens already defined in site.css
   (var(--c-primary), var(--c-accent), var(--font-head), etc.).
   Load this AFTER site.css so the :root tokens are available.
   Real classes only.
   ========================================================================= */

/* ---- REVIEW FORM CARD ---- */
#form .reviews-form-container{
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:clamp(28px,3vw,44px);
  box-shadow:0 34px 72px -46px rgba(16,36,58,.9);
  position:relative; overflow:hidden;
}
#form .reviews-form-container::before{
  content:""; position:absolute; top:0; left:0; width:100%; height:4px;
  background:linear-gradient(90deg,var(--c-accent),var(--c-accent-soft));
}

/* form headings */
.rating-experience-heading{
  font-family:var(--font-mono) !important; font-size:12px !important; font-weight:600 !important;
  letter-spacing:.24em !important; text-transform:uppercase; color:var(--c-accent) !important;
  margin:0 !important;
}
#reviewform .ocp-h3{
  font-family:var(--font-head); font-weight:800; color:var(--c-ink);
  font-size:clamp(26px,3vw,38px); letter-spacing:-.03em; line-height:1.1; margin:0;
}
#reviewform .review-feedback-form-text,
#reviewform p.ocp-benefit-title{
  font-family:var(--font-body); font-size:15.5px; color:var(--c-ink-2); margin:0;
}

/* ---- STAR RATING PICKER ---- */
.review-stars{ margin:0 auto; }
.rating-star{
  display:inline-flex; align-items:center; gap:6px; direction:rtl;
}
.rating-star span{
  width:38px; height:38px; cursor:pointer; position:relative; display:inline-block;
  background:var(--c-line-2);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 .288l2.833 8.718h9.167l-7.417 5.389 2.833 8.718-7.416-5.388-7.417 5.388 2.833-8.718-7.416-5.389h9.167z'/></svg>") no-repeat center / contain;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 .288l2.833 8.718h9.167l-7.417 5.389 2.833 8.718-7.416-5.388-7.417 5.388 2.833-8.718-7.416-5.389h9.167z'/></svg>") no-repeat center / contain;
  transition:background-color .18s ease, transform .18s var(--ease);
}
/* hover + selected fill (rtl trick highlights this + following siblings) */
.rating-star:hover span:hover,
.rating-star:hover span:hover ~ span,
.rating-star span.selected,
.rating-star span.selected ~ span{ background:var(--c-accent); }
.rating-star span:hover{ transform:scale(1.12); }
.reset-stars{
  margin-left:12px; color:var(--c-ink-3); cursor:pointer; font-size:14px; direction:ltr;
  transition:color .2s ease;
}
.reset-stars:hover{ color:var(--c-accent); }

/* ---- FORM FIELDS ---- */
.input-fields{ margin-bottom:16px; }
.input-field-label,
.input-field-feedback{
  display:block;
  font-family:var(--font-head); font-weight:600; font-size:13.5px; letter-spacing:-.01em; color:var(--c-ink);
}
.input-fields .required{ color:var(--c-accent); margin-left:3px; }
.input-fields input[type="text"],
.input-fields input[type="email"],
.input-fields textarea,
#reviewform .name,
#reviewform .text{
  width:100%; box-sizing:border-box; margin-top:7px;
  font-family:var(--font-body); font-size:15px; color:var(--c-ink);
  background:var(--c-paper-3); border:1px solid var(--c-line-2); border-radius:var(--r-sm);
  padding:13px 15px; outline:none;
  transition:border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.input-fields textarea{ min-height:130px; resize:vertical; line-height:1.6; }
.input-fields input:focus,
.input-fields textarea:focus{
  border-color:var(--c-accent); background:var(--c-light);
  box-shadow:0 0 0 4px rgba(228,87,46,.12);
}

/* captcha */
.review-captcha{ margin:6px 0 4px; }

/* submit (reuses ocp-btn ocp-btn-ink ocp-btn-arrow from site.css; ensure clean) */
.submit-review-form{ text-align:center; }
#submitBtn.ocp-btn{ cursor:pointer; border:none; }

/* ---- POSITIVE FEEDBACK STATE (after high rating) ---- */
.positive-feedback-services{ text-align:center; }
.positive-feedback-services .ocp-h3{
  font-family:var(--font-head); font-weight:800; color:var(--c-ink);
  font-size:clamp(22px,2.4vw,30px); letter-spacing:-.03em; margin:0 0 10px;
}
.positive-feedback-services h2{
  font-family:var(--font-head); font-weight:600; color:var(--c-ink-2);
  font-size:clamp(17px,1.7vw,20px); margin:0 0 22px;
}
#review-logo-container{ margin:0 auto; }
.review-logo{ padding:10px; }
.review-logo a{ display:inline-block; transition:transform .25s var(--ease); }
.review-logo a:hover{ transform:translateY(-3px); }
.review-logo img{ max-width:180px; height:auto; }

/* ---- REVIEWS LIST ---- */
.reviews-form-container > .padding-bottom-2 strong,
.reviews-form-container p strong{
  font-family:var(--font-head); font-weight:700; font-size:clamp(18px,2vw,22px);
  letter-spacing:-.02em; color:var(--c-ink);
}
.review-list-container{ list-style:none; margin:0; padding:0; }
.review-list-container > li{
  background:var(--c-light); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:clamp(20px,2.2vw,28px); margin-bottom:16px;
  box-shadow:0 26px 56px -52px rgba(16,36,58,.85);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s ease;
  position:relative; overflow:hidden;
}
.review-list-container > li::before{
  content:""; position:absolute; top:0; left:0; width:3px; height:100%;
}
.review-list-container > li.google-post::before{ background:var(--c-blue); }
.review-list-container > li.facebook-post::before{ background:#1877F2; }
.review-list-container > li.site-post::before{ background:var(--c-accent); }
.review-list-container > li:hover{
  transform:translateY(-3px); border-color:rgba(228,87,46,.28);
  box-shadow:0 40px 80px -48px rgba(16,36,58,1);
}

/* source badge image */
.review-img img{ width:36px; height:36px; object-fit:contain; }

/* user + rating */
.user-profile strong{
  display:block; font-family:var(--font-head); font-weight:700; font-size:16px;
  letter-spacing:-.02em; color:var(--c-ink); margin-bottom:4px;
}
.star-ratings-css{ display:inline-flex; gap:2px; margin-bottom:8px; }
.star-rating-icon{
  width:16px; height:16px; display:inline-block; fill:var(--c-line-2);
}
.star-rating-icon.active{ fill:var(--c-accent); }

/* review text */
.user-comment .review-text p{
  margin:0; font-family:var(--font-body); font-size:15.5px; line-height:1.7; color:var(--c-ink-2);
}

/* date */
.review-date{
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.04em; color:var(--c-ink-3);
}

/* ---- PAGINATION ---- */
.pagination{ margin-top:24px; }
.pagination p{ margin:0; display:inline-flex; gap:6px; align-items:center; flex-wrap:wrap; justify-content:center; }
.pagination .page a,
.pagination .next a,
.pagination .prev a{
  display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 12px;
  font-family:var(--font-head); font-weight:600; font-size:14px;
  color:var(--c-ink) !important; text-decoration:none;
  background:var(--c-tint); border:1px solid var(--c-line-2); border-radius:var(--r-sm);
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.pagination .page a:hover,
.pagination .next a:hover,
.pagination .prev a:hover{ background:var(--c-light); border-color:var(--c-accent); color:var(--c-accent) !important; }
.pagination .page.current{
  display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 12px;
  font-family:var(--font-head); font-weight:700; font-size:14px;
  background:var(--c-ink); color:var(--c-light); border-radius:var(--r-sm);
}

/* ---- RESPONSIVE ---- */
@media all and (max-width:640px){
  .rating-star span{ width:32px; height:32px; }
  .review-date{ margin-top:8px; }
}

header .dropdown.menu li ul.submenu li.is-active>a,header .dropdown.menu li ul.submenu li.active>a{color:#e4572e !important;font-weight:600;padding-left:42px!important;border-bottom-color:rgba(255,255,255,.1);box-shadow:inset 0 0 18px rgba(65,139,190,.12),0 3px 10px rgba(7,24,36,.12)}header .dropdown.menu li ul.submenu li.is-active>a::after,header .dropdown.menu li ul.submenu li.active>a::after{content:"";position:absolute;right:15px;top:50%;width:6px;height:6px;background:#FFF;border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 4px rgba(255,255,255,.12);transition:all .3s ease}header .dropdown.menu li ul.submenu li.is-active>a:hover,header .dropdown.menu li ul.submenu li.active>a:hover{background:#FFF!important;padding-left:20px!important}header .dropdown.menu li ul.submenu li.is-active>a:hover::after,header .dropdown.menu li ul.submenu li.active>a:hover::after{transform:translateY(-50%) scale(1.2);box-shadow:0 0 0 5px rgba(255,255,255,.14),0 0 10px rgba(255,255,255,.2)}

@media (max-width:1023px){
.inner-banner.blog-banner,.in-banner-desc{ 
    position: relative;justify-content: center;
    height: 100%;
    align-items: center;
    display: flex;    padding: 25px 13px;        background: var(--c-primary) !important;box-shadow: 0px 0px 0px -40px rgba(0, 0, 0, .7);
    }
}

@media (min-width:1023px){
.in-banner-desc{
  max-width:620px; text-align:left; margin-left:0; margin-right:auto;
  padding:clamp(26px,3vw,40px) clamp(24px,2.6vw,40px); border-radius:16px;
  background:linear-gradient(100deg, rgba(6,20,34,.92) 0%, rgba(6,20,34,.86) 100%);
  color:var(--c-light);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.7);
}
}