/* ============================================================
   Weber Advertising — reusable building blocks for interior
   page redesigns (PROOF). Lets per-page modernizations match
   the homepage look on the calm grey canvas.
   ============================================================ */
.wa-sec{ padding:74px 0; }
.wa-sec.tight{ padding:46px 0; }
.wa-wrap{ max-width:1140px; margin:0 auto; padding:0 22px; }
.wa-center{ text-align:center; }

.wa-kicker{ text-transform:uppercase; letter-spacing:.16em; font-size:13px; font-weight:700; color:#e50a2d; margin:0 0 12px; }
.wa-h1{ font-family:'Poppins',sans-serif; font-weight:800; font-size:42px; line-height:1.08; letter-spacing:-.015em; color:#2b313a; margin:0 0 16px; }
.wa-h2{ font-family:'Poppins',sans-serif; font-weight:800; font-size:34px; line-height:1.12; letter-spacing:-.01em; color:#2b313a; margin:0 0 14px; }
.wa-h3{ font-family:'Poppins',sans-serif; font-weight:700; font-size:21px; line-height:1.25; color:#2b313a; margin:0 0 8px; }
.wa-lead{ font-family:'Inter',sans-serif; font-size:19px; line-height:1.65; color:#5f6670; margin:0; }

/* responsive card grid (2-up, collapses to 1 on small screens) */
.wa-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.wa-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:760px){ .wa-grid,.wa-grid.cols-3{ grid-template-columns:1fr; } }
/* round icon chip used inside cards */
.wa-ichip{ width:62px; height:62px; border-radius:50%; background:#111; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.wa-ichip img{ width:58%; height:auto; }

.wa-split{ display:flex; flex-wrap:wrap; gap:38px; align-items:center; }
.wa-split > *{ flex:1 1 320px; min-width:0; }

.wa-btn{ display:inline-flex; align-items:center; gap:10px; background:linear-gradient(135deg,#e50a2d,#ff5a3c); color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:16px; padding:14px 28px; border-radius:40px; text-decoration:none; box-shadow:0 12px 28px rgba(229,10,45,.32); transition:transform .2s ease, box-shadow .2s ease; }
.wa-btn:hover{ transform:translateY(-2px); color:#fff; box-shadow:0 16px 34px rgba(229,10,45,.45); }

/* frosted glass panel — use where it makes sense */
.wa-glass{
  background:rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.75);
  border-radius:24px;
  box-shadow:0 18px 44px rgba(20,30,50,.10);
}
/* clean solid card */
.wa-card{ background:#fbfcfe; border:1px solid #e9ecf0; border-radius:20px; box-shadow:0 12px 34px rgba(20,30,50,.11); }

/* All public contact forms (name="form1") render as a frosted-glass panel */
form[name="form1"]{
  background:rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.75);
  border-radius:24px;
  box-shadow:0 18px 44px rgba(20,30,50,.10);
  padding:34px 32px;
  max-width:1040px;
  margin:22px auto 0;
}
form[name="form1"]::after{ content:""; display:block; clear:both; }

/* visually reverse two stacked sibling blocks without moving markup */
.wa-flip{ display:flex; flex-direction:column-reverse; }

/* centered team grid (floats off, cards centered) */
.wa-team{ text-align:center; }
.wa-team .col-sm-3{ float:none !important; display:inline-block; vertical-align:top; text-align:center; margin:0 6px; }

/* light variants — use on the dark glass bands (.bluebar/.blackbar/.darkgreybar) */
.wa-h1.on-dark, .wa-h2.on-dark{ color:#fff; }
.wa-lead.on-dark{ color:rgba(255,255,255,.82); }
.wa-kicker.on-dark{ color:#ff7a5c; }
.wa-quote{ font-family:'Poppins',sans-serif; font-weight:600; font-size:26px; line-height:1.4; letter-spacing:-.01em; color:#2b313a; margin:0; }
.wa-quote .red,.wa-quote strong{ color:#e50a2d; font-weight:700; }
.wa-cite{ font-family:'Inter',sans-serif; color:#5f6670; margin:14px 0 0; }
.wa-cite strong{ color:#2b313a; }
.wa-quote.on-dark{ color:#fff; }
.wa-quote.on-dark .red,.wa-quote.on-dark strong{ color:#ff7a5c; }
.wa-cite.on-dark{ color:rgba(255,255,255,.78); }
.wa-cite.on-dark strong{ color:#fff; }
@media (max-width:600px){ .wa-quote{ font-size:21px; } }

@media (max-width:600px){
  .wa-sec{ padding:54px 0; }
  .wa-h1{ font-size:32px; }
  .wa-h2{ font-size:26px; }
}

/* ---- VISIBLE (Printing & Signage) subpage helpers ---- */
.vis-crumb{ font-family:'Inter',sans-serif; font-size:13px; color:#7a818b; background:none; padding:0; margin:0; }
.vis-crumb a{ color:#e50a2d; }
.vis-list{ list-style:none; padding:0; margin:0; column-gap:30px; }
.vis-list li{ display:flex; gap:11px; align-items:flex-start; margin:0 0 12px; font-family:'Inter',sans-serif; font-size:17px; color:#3a4049; }
.vis-list li::before{ content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900; color:#e50a2d; font-size:14px; margin-top:3px; flex:0 0 auto; }
.vis-gallery .bricklayer-column{ padding:0 8px; }
.vis-gallery p{ margin:0 0 16px; }
.vis-gallery img{ width:100%; border:none !important; border-radius:16px !important; box-shadow:0 10px 28px rgba(20,30,50,.10); padding:0 !important; background:none !important; transition:transform .2s ease, box-shadow .2s ease; }
.vis-gallery a:hover img{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(20,30,50,.18); }
