@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo:wght@400;500;700;800&family=DM+Serif+Display:ital@0;1&display=swap');
/* =====================================================================
   Graham SEO site-wide punk silkscreen theme (brand palette)
   Styling only: no text or markup content changes.
   ===================================================================== */


/* ===== Poster theme (seo-liverpool only) ===== */
body.gs-punk {
  --paper: #efe5cf;
  --paper-2: #e6d9bb;
  --ink: #141414;
  --red: #e2412b;
  --yellow: #f2c230;
  --shadow: 6px 6px 0 var(--ink);
  --panel: var(--red);
  --sun: #f2c230;
  --sun-2: #f7d65f;
  --sun-glow: 242,194,48;
  --highlight: var(--yellow);
  background: var(--paper);
  color: var(--ink);
  font-family: 'Archivo', 'Inter', sans-serif;
  position: relative;
}
/* halftone print grain over the whole page */
body.gs-punk main { position: relative; }
body.gs-punk main::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(20,20,20,.07) 1px, transparent 1.2px);
  background-size: 5px 5px;
  pointer-events: none; z-index: 0;
}

body.gs-punk p, body.gs-punk li, body.gs-punk td { color: var(--ink); }
body.gs-punk a { color: var(--red); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* ---------- headings ---------- */
body.gs-punk h1, body.gs-punk h2, body.gs-punk h3 {
  font-family: 'Anton', 'Impact', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .01em;
  color: var(--ink);
}
body.gs-punk .section-header h2,
body.gs-punk .case-header-row h2,
body.gs-punk .contact-card h2 {
  font-size: clamp(30px, 4.2vw, 54px);
  line-height: 1.02;
  max-width: 980px;
}
body.gs-punk .section-header h2 {
  display: inline;
  background: linear-gradient(transparent 62%, var(--highlight) 62%, var(--highlight) 92%, transparent 92%);
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
  padding: 0 4px;
}
body.gs-punk .section-header { margin-bottom: 34px; }
body.gs-punk .section-header .section-lead {
  font-family: 'DM Serif Display', Georgia, serif;
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.45;
  color: var(--ink);
  margin-top: 18px;
  max-width: 860px;
}
body.gs-punk h3 { font-size: 22px; line-height: 1.1; margin-bottom: 10px; }

/* ---------- sections + dashed dividers ---------- */
body.gs-punk .content-section { background: transparent; padding: 70px 0; border-top: 3px dashed var(--ink); }
body.gs-punk .section-slate { background: var(--paper-2); }

/* ---------- hero ---------- */
body.gs-punk .hero-section {
  background: var(--paper);
  color: var(--ink);
  margin-bottom: 0;
  padding: 44px 0 0;
  border-bottom: 6px solid var(--ink);
}
body.gs-punk .hero-card {
  border: 6px solid var(--ink);
  background: var(--ink);
  box-shadow: 10px 10px 0 var(--red);
  overflow: hidden;
}
body.gs-punk .hero-grid { gap: 0; grid-template-columns: 1.2fr .8fr; align-items: stretch; }
body.gs-punk .hero-copy {
  padding: 46px 40px;
  background: var(--paper);
  border-right: 6px solid var(--ink);
  position: relative;
}
body.gs-punk .hero-copy::before {   /* red corner block like the poster's "F" tile */
  content: ""; position: absolute; top: 0; left: 0; width: 18px; height: 100%; background: var(--red);
}
body.gs-punk .hero-title {
  color: var(--ink) !important;
  font-size: clamp(38px, 5.4vw, 76px) !important;
  line-height: .95 !important;
  letter-spacing: 0 !important;
  margin: 0 0 22px;
}
body.gs-punk .hero-lead {
  font-family: 'DM Serif Display', Georgia, serif;
  font-style: italic;
  color: var(--ink) !important;
  font-size: 19px;
  line-height: 1.5;
  max-width: 620px;
}
body.gs-punk .hero-portrait-col {
  background: var(--panel);
  display: flex; align-items: flex-end; justify-content: center;
  min-height: 460px;
  position: relative;
  overflow: hidden;
}
body.gs-punk .portrait-circle-bg {   /* the yellow sun */
  width: 300px; height: 300px;
  top: 34px; bottom: auto; left: 50%; transform: translateX(-50%);
  background:
    radial-gradient(circle, transparent 0 34%, rgba(20,20,20,.18) 34.5% 35.5%, transparent 36%),
    radial-gradient(circle, var(--sun) 0 58%, var(--sun-2) 58% 64%, var(--sun) 64% 70%, rgba(var(--sun-glow),0) 71%);
  box-shadow: 0 0 0 10px rgba(var(--sun-glow),.35), 0 0 0 22px rgba(var(--sun-glow),.18);
}
body.gs-punk .hero-portrait-img {
  filter: grayscale(1) contrast(1.35) brightness(1.05);
  mix-blend-mode: normal;
  filter: grayscale(1) contrast(1.3) brightness(1.08) drop-shadow(6px 6px 0 rgba(20,20,20,.9));
  width: 300px; max-height: 440px;
}
body.gs-punk .portrait-tag {
  top: 22px; right: 22px;
  background: var(--yellow);
  border: 3px solid var(--ink);
  padding: 8px 12px;
  transform: rotate(6deg);
  box-shadow: 4px 4px 0 var(--ink);
  text-align: center;
}
body.gs-punk .portrait-tag strong { font-family: 'Anton', sans-serif; font-weight: 400; text-transform: uppercase; font-size: 18px; color: var(--ink); display: block; }
body.gs-punk .portrait-tag span { color: var(--ink); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
body.gs-punk .hero-stats-row {
  margin-top: 0; padding: 0;
  border-top: 6px solid var(--ink);
  background: var(--yellow);
  grid-template-columns: repeat(3, 1fr);
}
body.gs-punk .hero-stat-item { padding: 16px 10px; border-right: 3px dashed var(--ink); }
body.gs-punk .hero-stat-item:last-child { border-right: 0; }
body.gs-punk .hero-stat-num { font-family: 'Anton', sans-serif; font-weight: 400; font-size: 40px; color: var(--ink); }
body.gs-punk .hero-stat-label { color: var(--ink); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: 12px; }

/* ---------- buttons ---------- */
body.gs-punk .btn-pill-red {
  background: var(--red);
  color: var(--paper) !important;
  border: 3px solid var(--ink);
  border-radius: 0;
  box-shadow: 5px 5px 0 var(--ink);
  font-family: 'Anton', sans-serif; font-weight: 400;
  text-transform: uppercase; letter-spacing: .06em; font-size: 17px;
  padding: 12px 24px; text-decoration: none;
}
body.gs-punk .btn-pill-red:hover { transform: translate(2px, 2px); box-shadow: 3px 3px 0 var(--ink); background: var(--ink); }
body.gs-punk .hero-link-results, body.gs-punk .view-all-link {
  color: var(--ink) !important; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; text-decoration: none;
  border-bottom: 3px solid var(--yellow);
}

/* ---------- cards ---------- */
body.gs-punk .service-card,
body.gs-punk .feature-card,
body.gs-punk .process-item,
body.gs-punk .local-seo-box,
body.gs-punk .faq-card {
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 0;
  box-shadow: var(--shadow);
}
body.gs-punk .service-card:hover, body.gs-punk .process-item:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--ink); }
body.gs-punk .services-grid .service-card:nth-child(3n+2) { box-shadow: 6px 6px 0 var(--red); }
body.gs-punk .services-grid .service-card:nth-child(3n+3) { background: #f6e7b0; }
body.gs-punk .card-icon-box, body.gs-punk .feature-icon-circle, body.gs-punk .process-icon-box {
  background: var(--yellow); color: var(--ink);
  border: 3px solid var(--ink); border-radius: 0;
}
body.gs-punk .local-seo-box { padding: 30px 32px; }

/* card text: no stretched gaps, bigger print */
body.gs-punk .service-card p, body.gs-punk .feature-card p { flex-grow: 0; font-size: 15px; line-height: 1.6; color: var(--ink); }
body.gs-punk .service-card p + p, body.gs-punk .service-card p + ul, body.gs-punk .service-card ul + p { margin-top: 12px; }
body.gs-punk .local-seo-box p, body.gs-punk .checklist-styled li, body.gs-punk .process-content p, body.gs-punk .faq-content, body.gs-punk .faq-content p { font-size: 16px; line-height: 1.65; }
body.gs-punk .services-grid .service-card:last-child:nth-child(3n+1) { grid-column: 1 / -1; }

/* checklists */
body.gs-punk .check-pill {
  background: var(--ink); color: var(--yellow);
  border-radius: 0; width: 22px; height: 22px; font-size: 12px;
}
body.gs-punk .checklist-styled li { color: var(--ink); }

/* process */
body.gs-punk .process-badge {
  background: var(--red); color: var(--paper);
  border: 3px solid var(--ink); border-radius: 0;
  font-family: 'Anton', sans-serif; font-weight: 400; font-size: 20px; width: 48px; height: 48px;
}
body.gs-punk .info-banner {
  background: var(--ink); color: var(--paper);
  border: 0; border-radius: 0;
  box-shadow: 6px 6px 0 var(--red);
}
body.gs-punk .info-banner p, body.gs-punk .info-banner h3 { color: var(--paper); }
body.gs-punk .info-banner .info-icon { background: var(--yellow); color: var(--ink); border-radius: 0; font-family: 'Anton', sans-serif; }

/* ---------- table (gallery ticket style) ---------- */
body.gs-punk .lp-table-wrap { border: 3px solid var(--ink); box-shadow: var(--shadow); border-radius: 0; background: var(--paper); }
body.gs-punk .lp-table-wrap table { border-collapse: collapse; }
body.gs-punk .lp-table-wrap th {
  background: var(--ink); color: var(--yellow);
  font-family: 'Anton', sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .06em; font-size: 16px;
}
body.gs-punk .lp-table-wrap td { border-bottom: 2px dashed rgba(20,20,20,.35); color: var(--ink); }
body.gs-punk .lp-table-wrap tr td:nth-child(2) { font-weight: 700; }

/* ---------- case studies: black poster panel ---------- */
body.gs-punk .case-studies-container {
  background: var(--ink); border-radius: 0;
  border: 6px solid var(--ink); box-shadow: 10px 10px 0 var(--yellow);
}
body.gs-punk .case-header-row h2 { color: var(--yellow); }
body.gs-punk .case-header-row p, body.gs-punk .case-studies-container > div > p { color: var(--paper); font-family: 'DM Serif Display', serif; font-style: italic; font-size: 19px; }
body.gs-punk .case-studies-container .view-all-link { color: var(--paper) !important; }
body.gs-punk .case-studies-container .feature-card { box-shadow: 6px 6px 0 var(--red); }
body.gs-punk .case-studies-container .feature-card:nth-child(even) { background: var(--yellow); }
body.gs-punk .case-studies-container a { color: var(--yellow); }

/* ---------- FAQ ---------- */
body.gs-punk .faq-card summary h3 { font-family: 'Anton', sans-serif !important; text-transform: uppercase; font-size: 19px !important; letter-spacing: .02em; }
body.gs-punk .faq-card[open] { box-shadow: 6px 6px 0 var(--red); }
body.gs-punk .faq-indicator { background: var(--yellow); border: 2px solid var(--ink); color: var(--ink); width: 28px; height: 28px; display: grid; place-items: center; font-weight: 800; }
body.gs-punk .faq-content { color: var(--ink); border-top: 2px dashed var(--ink); }
body.gs-punk .text-center h2 { display: inline; }

/* ---------- contact: red poster block ---------- */
body.gs-punk .contact-card {
  background: var(--red); border-radius: 0;
  border: 6px solid var(--ink); box-shadow: 10px 10px 0 var(--ink);
  color: var(--ink);
}
body.gs-punk .contact-card h2 { color: var(--paper); text-shadow: 3px 3px 0 var(--ink); }
body.gs-punk .contact-card .contact-sub { font-family: 'DM Serif Display', serif; font-style: italic; font-size: 21px; color: var(--ink); }
body.gs-punk .contact-card .contact-foot-note { color: var(--ink); font-size: 15px; }
body.gs-punk .contact-card a:not(.btn-pill-red) { color: var(--paper); }
body.gs-punk .contact-card .btn-pill-red { background: var(--yellow); color: var(--ink) !important; }
body.gs-punk .contact-quick-link {
  background: var(--paper); color: var(--ink) !important; border: 3px solid var(--ink); border-radius: 0;
  box-shadow: 4px 4px 0 var(--ink); text-decoration: none; font-weight: 800;
}
body.gs-punk .gs-location-map { border: 4px solid var(--ink); border-radius: 0 !important; filter: grayscale(1) contrast(1.1); }

/* ---------- mobile ---------- */
@media (max-width: 860px) {
  body.gs-punk .hero-grid { grid-template-columns: 1fr; }
  body.gs-punk .hero-copy { border-right: 0; border-bottom: 6px solid var(--ink); padding: 34px 22px 30px 34px; }
  body.gs-punk .hero-portrait-col { min-height: 380px; }
  body.gs-punk .hero-stat-num { font-size: 30px; }
  body.gs-punk .hero-stat-label { font-size: 10px; letter-spacing: .05em; }
  body.gs-punk .hero-card { box-shadow: 6px 6px 0 var(--red); }
  body.gs-punk .contact-card, body.gs-punk .case-studies-container { padding: 28px 20px; }
}

/* ===== Brand palette variant: navy / red / sky blue ===== */
body.gs-punk {
  --paper: #f4f8fc;
  --paper-2: #e3eef8;
  --ink: #0a192f;
  --red: #e51b24;
  --yellow: #38bdf8;
  --highlight: #9ddcfb;
  --panel: #0a192f;
  --sun: #e51b24;
  --sun-2: #ff4a52;
  --sun-glow: 229,27,36;
}
body.gs-punk main { position: relative; }
body.gs-punk main::before { background-image: radial-gradient(rgba(10,25,47,.06) 1px, transparent 1.2px); }
body.gs-punk .hero-card { box-shadow: 10px 10px 0 #0369a1; }
body.gs-punk .case-studies-container { box-shadow: 10px 10px 0 var(--red); }
body.gs-punk .case-studies-container .feature-card:nth-child(even) { background: #e0f2fe; }
body.gs-punk .services-grid .service-card:nth-child(3n+3) { background: #e0f2fe; }
body.gs-punk .contact-card .btn-pill-red { background: #fff; }
body.gs-punk .portrait-tag { background: #fff; }

/* ===== Ripped newsprint / Higgsfield artwork layer (brand) ===== */
body.gs-punk { background: var(--paper) url(/assets/liverpool-punk/newsprint.webp) repeat; background-size: 620px; }
body.gs-punk main { position: relative; }
body.gs-punk main::before { opacity: .6; }
body.gs-punk .section-slate { background: #dfeaf5 url(/assets/liverpool-punk/newsprint.webp) repeat; background-size: 620px; background-blend-mode: multiply; }
/* ripped top edge on every section, in that section's own colour */
body.gs-punk .content-section { position: relative; border-top: 0; }
body.gs-punk .content-section::before {
  content: ""; position: absolute; left: 0; right: 0; top: -54px; height: 56px;
  background: inherit; background-position: inherit;
  -webkit-mask: url(/assets/liverpool-punk/torn-edge.webp) left bottom / 1100px 56px repeat-x;
          mask: url(/assets/liverpool-punk/torn-edge.webp) left bottom / 1100px 56px repeat-x;
  pointer-events: none; z-index: 2;
}
body.gs-punk .content-section:nth-of-type(even)::before { -webkit-mask-position: -700px bottom; mask-position: -700px bottom; }
/* hero: generated backdrop + halftone cut-out portrait */
body.gs-punk .hero-portrait-col { background: var(--ink) url(/assets/liverpool-punk/hero-backdrop.webp) center / cover no-repeat; }
body.gs-punk .portrait-circle-bg { display: none; }
body.gs-punk .hero-portrait-img {
  filter: drop-shadow(6px 6px 0 rgba(10,25,47,.85)) !important;
  mix-blend-mode: normal; width: 330px; max-height: 470px; margin-bottom: -2px;
}
body.gs-punk .hero-section { background: transparent; }
body.gs-punk .hero-copy { background: var(--paper) url(/assets/liverpool-punk/newsprint.webp); background-size: 520px; }
/* collage feel: masking tape + a slight tilt on cards */
body.gs-punk .service-card, body.gs-punk .feature-card, body.gs-punk .local-seo-box { position: relative; }
body.gs-punk .services-grid .service-card:nth-child(odd), body.gs-punk .wide-grid > :nth-child(odd) { transform: rotate(-.5deg); }
body.gs-punk .services-grid .service-card:nth-child(even), body.gs-punk .wide-grid > :nth-child(even) { transform: rotate(.45deg); }
body.gs-punk .service-card::after, body.gs-punk .local-seo-box::after, body.gs-punk .wide-grid > .feature-card::after {
  content: ""; position: absolute; top: -13px; left: 50%; width: 96px; height: 26px;
  background: rgba(233, 222, 190, .82); transform: translateX(-50%) rotate(-3deg);
  box-shadow: 0 1px 0 rgba(0,0,0,.08); pointer-events: none;
}
body.gs-punk .services-grid .service-card:nth-child(even)::after { transform: translateX(-50%) rotate(4deg); left: 30%; }
/* torn bottom edge on the hero stats strip */
body.gs-punk .hero-stats-row { position: relative; }
@media (max-width: 860px) {
  body.gs-punk .services-grid .service-card, body.gs-punk .wide-grid > * { transform: none !important; }
  body.gs-punk .hero-portrait-img { width: 280px; }
}

/* ===== Round 2: stronger poster rhythm ===== */
/* visible tear: a dark sliver peeks out just under the ripped edge */
body.gs-punk .content-section::after {
  content: ""; position: absolute; left: 0; right: 0; top: -49px; height: 49px;
  background: rgba(10,25,47,.55);
  -webkit-mask: url(/assets/liverpool-punk/torn-edge.webp) left bottom / 1100px 56px repeat-x;
          mask: url(/assets/liverpool-punk/torn-edge.webp) left bottom / 1100px 56px repeat-x;
  pointer-events: none; z-index: 1;
}
body.gs-punk .content-section:nth-of-type(even)::after { -webkit-mask-position: -700px bottom; mask-position: -700px bottom; }
body.gs-punk .content-section:first-of-type::before, body.gs-punk .content-section:first-of-type::after { display: none; }

/* ink misregistration on big type */
body.gs-punk .section-header h2, body.gs-punk .case-header-row h2, body.gs-punk .contact-card h2, body.gs-punk .hero-title {
  text-shadow: 2px 0 0 rgba(56,189,248,.55), -2px 0 0 rgba(229,27,36,.45);
}
body.gs-punk .hero-title { transform: rotate(-1deg); transform-origin: left bottom; }

/* colour-block sections (poster red / navy zones) */
body.gs-punk .gs-block-navy {
  background: var(--ink) url(/assets/liverpool-punk/newsprint.webp) repeat; background-size: 620px; background-blend-mode: multiply;
}
body.gs-punk .gs-block-navy .section-header h2 { color: var(--paper); background: linear-gradient(transparent 62%, var(--red) 62%, var(--red) 92%, transparent 92%); }
body.gs-punk .gs-block-navy .section-lead, body.gs-punk .gs-block-navy > .shell > p { color: var(--paper); }
body.gs-punk .gs-block-navy .process-item { box-shadow: 6px 6px 0 var(--red); }
body.gs-punk .gs-block-navy .info-banner { background: var(--yellow); color: var(--ink); box-shadow: 6px 6px 0 var(--paper); }
body.gs-punk .gs-block-navy .info-banner p, body.gs-punk .gs-block-navy .info-banner h3 { color: var(--ink); }
body.gs-punk .gs-block-navy .info-banner .info-icon { background: var(--ink); color: var(--yellow); }
body.gs-punk .gs-block-red {
  background: var(--red) url(/assets/liverpool-punk/newsprint.webp) repeat; background-size: 620px; background-blend-mode: multiply;
}
body.gs-punk .gs-block-red .section-header h2 { color: var(--paper); text-shadow: 3px 3px 0 var(--ink); background: none; padding: 0; }
body.gs-punk .gs-block-red .section-lead { color: var(--paper); }
body.gs-punk .gs-block-red .feature-card { box-shadow: 6px 6px 0 var(--ink); }
body.gs-punk .gs-block-red .feature-icon-circle { background: var(--ink); color: var(--yellow); }

/* hero extras: vertical running text, catalogue tile, badge, scratchy frame */
body.gs-punk .hero-card { overflow: visible; position: relative; }
body.gs-punk .hero-portrait-col { overflow: visible; }
body.gs-punk .gs-vtext {
  position: absolute; right: -34px; top: 50%; transform: translateY(-50%) rotate(180deg);
  writing-mode: vertical-rl; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 12px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--ink); white-space: nowrap; pointer-events: none;
}
body.gs-punk .gs-tile {
  position: absolute; top: -18px; left: 34px; width: 52px; height: 60px; z-index: 5;
  background: var(--paper); border: 3px solid var(--ink); display: grid; place-items: center;
  font-family: 'Anton', sans-serif; font-size: 34px; color: var(--red); transform: rotate(-4deg); box-shadow: 3px 3px 0 var(--ink);
}
body.gs-punk .gs-badge {
  position: absolute; left: -46px; bottom: 46px; width: 150px; height: 150px; z-index: 6;
  transform: rotate(-12deg); filter: drop-shadow(4px 4px 0 rgba(10,25,47,.5));
}
body.gs-punk .gs-frame {
  position: absolute; inset: -22px -26px; pointer-events: none; z-index: 4;
  border: 26px solid transparent; border-image: url(/assets/liverpool-punk/scratch-frame.webp) 150 round; opacity: .9;
}
body.gs-punk .portrait-tag { z-index: 7; }
/* real tape + scraps */
body.gs-punk .service-card::after, body.gs-punk .local-seo-box::after, body.gs-punk .wide-grid > .feature-card::after,
body.gs-punk .services-grid .service-card:nth-child(even)::after {
  background: url(/assets/liverpool-punk/tape.webp) center / 100% 100% no-repeat; width: 118px; height: 34px; top: -17px; box-shadow: none;
}
body.gs-punk .gs-scrap { position: absolute; pointer-events: none; z-index: 3; opacity: .95; }
body.gs-punk .gs-scrap--a { right: -40px; top: -40px; width: 220px; transform: rotate(8deg); }
body.gs-punk .gs-scrap--b { left: -50px; bottom: -30px; width: 190px; transform: rotate(-11deg); }
body.gs-punk .shell { position: relative; }
/* second halftone portrait torn into the consultant section */
body.gs-punk .gs-portrait-scrap {
  position: absolute; right: -10px; top: -70px; width: 190px; z-index: 3; transform: rotate(7deg);
  filter: drop-shadow(5px 5px 0 rgba(10,25,47,.7)); pointer-events: none;
}
@media (max-width: 1100px) { body.gs-punk .gs-vtext, body.gs-punk .gs-badge, body.gs-punk .gs-portrait-scrap, body.gs-punk .gs-scrap { display: none; } body.gs-punk .gs-frame { inset: -12px; } }

@media (max-width: 860px) {
  body.gs-punk .gs-tile { left: 12px; top: -20px; width: 42px; height: 48px; font-size: 26px; }
  body.gs-punk .hero-copy { padding-top: 48px; }
  body.gs-punk .hero-title { transform: none; }
}

/* decorative labels live in CSS so the page text stays exactly as written */
body.gs-punk .gs-tile::before { content: "G"; }
body.gs-punk .gs-vtext::before { content: "Graham SEO  b7 Ness, Wirral  b7 0333 335 5902"; }

/* =====================================================================
   SITE CHROME: header (Breakdance header builder 16827) + footer (15072)
   ===================================================================== */
body.gs-punk { background: var(--paper) url(/assets/liverpool-punk/newsprint.webp) repeat; background-size: 620px; }

/* top utility bar */
body.gs-punk .bde-header-builder .bde-div-16827-102 {
  background: var(--ink) !important;
  border-bottom: 4px solid var(--red);
}
body.gs-punk .bde-header-builder .bde-div-16827-102,
body.gs-punk .bde-header-builder .bde-div-16827-102 a,
body.gs-punk .bde-header-builder .bde-text-16827-104 {
  color: var(--paper) !important;
  font-family: 'Archivo', sans-serif !important; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 11px !important;
}
body.gs-punk .bde-social-icons__icon-wrapper { background: var(--red) !important; border: 2px solid var(--paper); border-radius: 0 !important; }
body.gs-punk .bde-social-icons__icon-wrapper svg { fill: var(--paper) !important; }
body.gs-punk .bde-header-builder .bde-button .button-atom {
  background: var(--yellow) !important; color: var(--ink) !important;
  border: 3px solid var(--paper) !important; border-radius: 0 !important; box-shadow: 4px 4px 0 var(--red) !important;
  font-family: 'Anton', sans-serif !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .05em;
}
body.gs-punk .bde-header-builder .bde-button .button-atom .button-atom__text { color: var(--ink) !important; }

/* main nav bar */
body.gs-punk .bde-header-builder .bde-div-16827-106 {
  background: var(--paper) url(/assets/liverpool-punk/newsprint.webp) !important; background-size: 520px !important;
  border-bottom: 5px solid var(--ink);
  box-shadow: 0 5px 0 var(--red);
}
body.gs-punk .bde-header-builder .breakdance-menu-link,
body.gs-punk .bde-header-builder .breakdance-menu-link-arrow {
  font-family: 'Anton', 'Impact', sans-serif !important; font-weight: 400 !important;
  text-transform: uppercase; letter-spacing: .06em; font-size: 16px !important; color: var(--ink) !important;
}
body.gs-punk .bde-header-builder .breakdance-menu-link:hover,
body.gs-punk .bde-header-builder .breakdance-menu-item--active > .breakdance-menu-link {
  color: var(--red) !important; text-decoration: none;
  background: linear-gradient(transparent 62%, var(--highlight) 62%, var(--highlight) 92%, transparent 92%);
}
body.gs-punk .breakdance-dropdown-floater .breakdance-dropdown-body {
  background: var(--paper) !important; border: 3px solid var(--ink) !important; border-radius: 0 !important;
  box-shadow: 8px 8px 0 var(--ink) !important;
}
body.gs-punk .breakdance-dropdown-column__title {
  font-family: 'Anton', sans-serif !important; text-transform: uppercase; color: var(--red) !important; letter-spacing: .05em;
}
body.gs-punk .breakdance-dropdown-link__text { font-family: 'Archivo', sans-serif !important; font-weight: 800 !important; color: var(--ink) !important; }
body.gs-punk .breakdance-dropdown-link__description { color: #3b4a5e !important; font-family: 'Archivo', sans-serif !important; }
body.gs-punk .breakdance-dropdown-link__icon { background: var(--yellow) !important; border: 2px solid var(--ink); border-radius: 0 !important; color: var(--ink) !important; }
body.gs-punk .breakdance-dropdown-link__icon svg { fill: var(--ink) !important; }
body.gs-punk .breakdance-dropdown-link:hover .breakdance-dropdown-link__text { color: var(--red) !important; }
body.gs-punk .breakdance-menu-toggle-lines,
body.gs-punk .breakdance-menu-toggle-lines::before,
body.gs-punk .breakdance-menu-toggle-lines::after { background: var(--ink) !important; }

/* footer (homepage <footer> wrapper and Breakdance footer section) */
body.gs-punk .bde-section-15072-101 {
  background: var(--ink) url(/assets/liverpool-punk/newsprint.webp) !important; background-size: 620px !important;
  background-blend-mode: multiply; color: var(--paper) !important;
  position: relative; border-top: 6px solid var(--red); margin-top: 60px;
}
body.gs-punk .bde-section-15072-101::before {
  content: ""; position: absolute; left: 0; right: 0; top: -58px; height: 56px; background: var(--ink);
  -webkit-mask: url(/assets/liverpool-punk/torn-edge.webp) left bottom / 1100px 56px repeat-x;
          mask: url(/assets/liverpool-punk/torn-edge.webp) left bottom / 1100px 56px repeat-x;
}
body.gs-punk .bde-section-15072-101 p,
body.gs-punk .bde-section-15072-101 .bde-text,
body.gs-punk .bde-section-15072-101 div { color: var(--paper) !important; font-family: 'Archivo', sans-serif; }
body.gs-punk .bde-section-15072-101 strong {
  font-family: 'Anton', sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .06em;
  font-size: 20px; color: var(--yellow) !important; display: inline-block; margin-bottom: 6px;
}
body.gs-punk .bde-section-15072-101 a { color: var(--yellow) !important; }
body.gs-punk .bde-section-15072-101 .breakdance-image-object { filter: brightness(0) invert(1); }
body.gs-punk .bde-section-15072-101 .bde-div-15072-112 { border-top: 3px dashed rgba(244,248,252,.5); }

/* =====================================================================
   BREAKDANCE CONTENT PAGES (services, pricing, about, blog, etc.)
   ===================================================================== */
body.gs-punk .bde-section:not(.bde-section-15072-101) {
  background-color: transparent !important; background-image: none !important; position: relative;
}
body.gs-punk .bde-section:not(.bde-section-15072-101) > .section-background-overlay,
body.gs-punk .bde-section:not(.bde-section-15072-101) .section-background-video { display: none !important; }
body.gs-punk .bde-section:not(.bde-section-15072-101) > .section-background-overlay { opacity: 0 !important; }
body.gs-punk .bde-section:not(.bde-section-15072-101):nth-of-type(even) {
  background-color: #dfeaf5 !important;
  background-image: url(/assets/liverpool-punk/newsprint.webp) !important; background-size: 620px !important; background-blend-mode: multiply;
}
body.gs-punk .bde-section:not(.bde-section-15072-101) + .bde-section:not(.bde-section-15072-101)::before {
  content: ""; position: absolute; left: 0; right: 0; top: -54px; height: 56px;
  background: inherit; z-index: 2; pointer-events: none;
  -webkit-mask: url(/assets/liverpool-punk/torn-edge.webp) left bottom / 1100px 56px repeat-x;
          mask: url(/assets/liverpool-punk/torn-edge.webp) left bottom / 1100px 56px repeat-x;
}
/* headings */
body.gs-punk h1, body.gs-punk h2, body.gs-punk h3,
body.gs-punk .bde-heading {
  font-family: 'Anton', 'Impact', sans-serif !important; font-weight: 400 !important;
  text-transform: uppercase; letter-spacing: .01em; color: var(--ink) !important;
  text-shadow: 2px 0 0 rgba(56,189,248,.55), -2px 0 0 rgba(229,27,36,.45);
}
body.gs-punk h1 { font-size: clamp(36px, 5vw, 68px) !important; line-height: 1 !important; }
body.gs-punk h2 { font-size: clamp(28px, 3.6vw, 46px) !important; line-height: 1.05 !important; }
body.gs-punk h3 { font-size: clamp(20px, 2vw, 26px) !important; line-height: 1.1 !important; }
body.gs-punk .bde-section:not(.bde-section-15072-101) h2 {
  background-image: linear-gradient(transparent 62%, var(--highlight) 62%, var(--highlight) 92%, transparent 92%);
  -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 4px;
}
/* body copy */
body.gs-punk .bde-section:not(.bde-section-15072-101) p,
body.gs-punk .bde-section:not(.bde-section-15072-101) li,
body.gs-punk .bde-section:not(.bde-section-15072-101) .bde-text,
body.gs-punk .bde-section:not(.bde-section-15072-101) td {
  color: var(--ink) !important; font-family: 'Archivo', sans-serif;
}
body.gs-punk .bde-section:not(.bde-section-15072-101) a:not(.button-atom):not(.breakdance-menu-link):not(.bde-container-link):not(.breakdance-link.bde-social-icons__icon-wrapper) {
  color: var(--red) !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px;
}
/* buttons */
body.gs-punk .bde-section .button-atom,
body.gs-punk .breakdance-form-button {
  background: var(--red) !important; color: var(--paper) !important;
  border: 3px solid var(--ink) !important; border-radius: 0 !important; box-shadow: 5px 5px 0 var(--ink) !important;
  font-family: 'Anton', sans-serif !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .06em;
  text-decoration: none !important;
}
body.gs-punk .bde-section .button-atom .button-atom__text { color: var(--paper) !important; }
body.gs-punk .bde-section .button-atom:hover { background: var(--ink) !important; transform: translate(2px,2px); box-shadow: 3px 3px 0 var(--ink) !important; }
/* cards / boxes */
body.gs-punk .bde-icon-box, body.gs-punk .bde-pricing-table, body.gs-punk .ee-post,
body.gs-punk .bde-loop-item, body.gs-punk .bde-testimonial, body.gs-punk .bde-form-builder,
body.gs-punk .bde-table-of-contents, body.gs-punk .bde-accordion__item {
  background: var(--paper) !important; border: 3px solid var(--ink) !important; border-radius: 0 !important;
  box-shadow: 6px 6px 0 var(--ink) !important;
}
body.gs-punk .bde-pricing-table__price-area--amount-number-main,
body.gs-punk .bde-pricing-table__price-area--amount-currency { font-family: 'Anton', sans-serif !important; color: var(--red) !important; }
body.gs-punk .bde-section:not(.bde-section-15072-101) .bde-image figure { border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--red); }
/* forms */
body.gs-punk .breakdance-form-field__input, body.gs-punk .breakdance-form input, body.gs-punk .breakdance-form textarea, body.gs-punk .breakdance-form select {
  border: 3px solid var(--ink) !important; border-radius: 0 !important; background: #fff !important; font-family: 'Archivo', sans-serif !important;
}
body.gs-punk .breakdance-form-field__label { font-family: 'Anton', sans-serif !important; text-transform: uppercase; letter-spacing: .05em; color: var(--ink) !important; }
/* rich text extras */
body.gs-punk .breakdance-rich-text-styles table { border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); background: var(--paper); }
body.gs-punk .breakdance-rich-text-styles th { background: var(--ink); color: var(--yellow) !important; font-family: 'Anton', sans-serif; text-transform: uppercase; font-weight: 400; }
body.gs-punk .breakdance-rich-text-styles blockquote { border-left: 8px solid var(--red); background: var(--paper); padding: 14px 18px; font-family: 'DM Serif Display', serif; font-style: italic; }

/* location pages (local-pages.css components) */
body.gs-punk .lp-tab { font-family: 'Anton', sans-serif !important; font-weight: 400 !important; text-transform: uppercase; border: 3px solid var(--ink) !important; border-radius: 0 !important; background: var(--paper) !important; color: var(--ink) !important; }
body.gs-punk .lp-tab[aria-selected="true"] { background: var(--red) !important; color: var(--paper) !important; box-shadow: 4px 4px 0 var(--ink); }
body.gs-punk .lp-panel, body.gs-punk .lp-check-card, body.gs-punk .lp-link-card, body.gs-punk .lp-post-card, body.gs-punk .lp-case-card, body.gs-punk .lp-form-card {
  background: var(--paper) !important; border: 3px solid var(--ink) !important; border-radius: 0 !important; box-shadow: 6px 6px 0 var(--ink) !important;
}
body.gs-punk .lp-hero-rating { color: var(--ink) !important; font-weight: 800; }
body.gs-punk .lp-prose h2, body.gs-punk .lp-prose h3 { font-family: 'Anton', sans-serif; font-weight: 400; text-transform: uppercase; color: var(--ink); }
body.gs-punk .lp-form input, body.gs-punk .lp-form textarea, body.gs-punk .lp-form select { border: 3px solid var(--ink) !important; border-radius: 0 !important; }

@media (max-width: 860px) {
  body.gs-punk .bde-header-builder .breakdance-menu-link { font-size: 20px !important; }
}

/* ===== fixes round 1 ===== */
body.gs-punk .bde-header-builder .breakdance-menu-link,
body.gs-punk .bde-header-builder .breakdance-menu-link-arrow { font-size: 14px !important; letter-spacing: .03em !important; }
body.gs-punk .hero-title {
  font-family: 'Anton', 'Impact', sans-serif !important; font-weight: 400 !important; text-transform: uppercase;
  color: var(--ink) !important; font-size: clamp(40px, 5.2vw, 76px) !important; line-height: .98 !important; letter-spacing: .005em !important;
  text-shadow: 2px 0 0 rgba(56,189,248,.55), -2px 0 0 rgba(229,27,36,.45);
}
body.gs-punk .hero-badge {
  display: inline-block; background: var(--red) !important; color: var(--paper) !important;
  border: 3px solid var(--ink) !important; border-radius: 0 !important; box-shadow: 4px 4px 0 var(--ink);
  font-family: 'Anton', sans-serif !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .08em;
  font-size: 18px !important; padding: 6px 14px !important; transform: rotate(-2deg); margin-bottom: 18px;
}
body.gs-punk .hero-section + .content-section::before,
body.gs-punk .hero-section + .content-section::after { display: none; }
body.gs-punk .hero-section { padding-bottom: 50px; }
body.gs-punk .bde-header-builder .breakdance-menu-link,
body.gs-punk .bde-header-builder .breakdance-menu-link-arrow { font-size: 13px !important; letter-spacing: .02em !important; padding-left: 9px !important; padding-right: 9px !important; }

/* pricing table detail */
body.gs-punk .bde-pricing-table { overflow: visible !important; }
body.gs-punk .bde-pricing-table:nth-child(even) { box-shadow: 6px 6px 0 var(--red) !important; }
body.gs-punk .bde-pricing-table__title { font-family: 'Anton', sans-serif !important; text-transform: uppercase; color: var(--ink) !important; font-size: 24px !important; }
body.gs-punk .bde-pricing-table__price-area--amount-number-main { font-size: 64px !important; }
body.gs-punk .bde-pricing-table__price-area--badge, body.gs-punk .bde-pricing-table__accent-label {
  background: var(--yellow) !important; color: var(--ink) !important; border: 2px solid var(--ink) !important; border-radius: 0 !important;
  font-family: 'Anton', sans-serif !important; font-weight: 400 !important; letter-spacing: .06em; transform: rotate(-2deg);
}
body.gs-punk .bde-pricing-table__accent-label { background: var(--red) !important; color: var(--paper) !important; }
body.gs-punk .bde-pricing-table__icon svg, body.gs-punk .bde-pricing-table__features-icon svg { fill: var(--ink) !important; color: var(--ink) !important; }
body.gs-punk .bde-pricing-table__features-icon { background: var(--yellow) !important; border-radius: 0 !important; border: 2px solid var(--ink); }
body.gs-punk .bde-pricing-table__description, body.gs-punk .bde-pricing-table__features-text, body.gs-punk .bde-pricing-table__price-area--billing-period,
body.gs-punk .bde-pricing-table__price-area--before-price-text { color: var(--ink) !important; font-family: 'Archivo', sans-serif !important; }

/* ===== auto-generated: Breakdance boxes with backgrounds/rounded corners -> paper cards ===== */
 {
  background: var(--paper) !important; background-image: none !important;
  border: 3px solid var(--ink) !important; border-radius: 0 !important; box-shadow: 6px 6px 0 var(--ink) !important;
}
 { color: var(--ink) !important; }

/* ===== auto-generated: Breakdance boxes with background + rounded corners -> paper cards ===== */
body.gs-punk .bde-author-15434-117,
body.gs-punk .bde-author-16327-117,
body.gs-punk .bde-author-16331-117,
body.gs-punk .bde-div-15137-119,
body.gs-punk .bde-div-15142-119,
body.gs-punk .bde-div-15148-119,
body.gs-punk .bde-div-15434-108,
body.gs-punk .bde-div-16327-108,
body.gs-punk .bde-div-16331-108,
body.gs-punk .bde-form-builder-16545-121,
body.gs-punk .bde-form-builder-99962-305,
body.gs-punk .bde-form-builder-99989-305,
body.gs-punk .bde-rich-text-15369-302,
body.gs-punk .bde-rich-text-15369-304,
body.gs-punk .bde-rich-text-15662-120,
body.gs-punk .bde-rich-text-15662-125,
body.gs-punk .bde-rich-text-15662-135,
body.gs-punk .bde-rich-text-15662-138,
body.gs-punk .bde-rich-text-15662-141,
body.gs-punk .bde-rich-text-15662-144,
body.gs-punk .bde-rich-text-15662-147,
body.gs-punk .bde-rich-text-15662-150,
body.gs-punk .bde-rich-text-16978-673,
body.gs-punk .bde-rich-text-16978-680,
body.gs-punk .bde-rich-text-16978-687,
body.gs-punk .bde-rich-text-16978-692,
body.gs-punk .bde-rich-text-16978-697,
body.gs-punk .bde-rich-text-16978-702,
body.gs-punk .bde-rich-text-16978-707,
body.gs-punk .bde-rich-text-16978-712,
body.gs-punk .bde-rich-text-16978-715,
body.gs-punk .bde-rich-text-99962-120,
body.gs-punk .bde-rich-text-99962-125,
body.gs-punk .bde-rich-text-99962-130,
body.gs-punk .bde-rich-text-99962-135,
body.gs-punk .bde-rich-text-99962-138,
body.gs-punk .bde-rich-text-99962-141,
body.gs-punk .bde-rich-text-99962-144,
body.gs-punk .bde-rich-text-99962-147,
body.gs-punk .bde-rich-text-99962-150,
body.gs-punk .bde-rich-text-99989-120,
body.gs-punk .bde-rich-text-99989-125,
body.gs-punk .bde-rich-text-99989-130,
body.gs-punk .bde-rich-text-99989-135,
body.gs-punk .bde-rich-text-99989-138,
body.gs-punk .bde-rich-text-99989-141,
body.gs-punk .bde-rich-text-99989-144,
body.gs-punk .bde-rich-text-99989-147,
body.gs-punk .bde-rich-text-99989-150 {
  background: var(--paper) !important; background-image: none !important;
  border: 3px solid var(--ink) !important; border-radius: 0 !important; box-shadow: 6px 6px 0 var(--ink) !important;
}
body.gs-punk .bde-author-15434-117 p, body.gs-punk .bde-author-15434-117 li, body.gs-punk .bde-author-15434-117 h2, body.gs-punk .bde-author-15434-117 h3, body.gs-punk .bde-author-15434-117 h4, body.gs-punk .bde-author-15434-117 .bde-text,
body.gs-punk .bde-author-16327-117 p, body.gs-punk .bde-author-16327-117 li, body.gs-punk .bde-author-16327-117 h2, body.gs-punk .bde-author-16327-117 h3, body.gs-punk .bde-author-16327-117 h4, body.gs-punk .bde-author-16327-117 .bde-text,
body.gs-punk .bde-author-16331-117 p, body.gs-punk .bde-author-16331-117 li, body.gs-punk .bde-author-16331-117 h2, body.gs-punk .bde-author-16331-117 h3, body.gs-punk .bde-author-16331-117 h4, body.gs-punk .bde-author-16331-117 .bde-text,
body.gs-punk .bde-div-15137-119 p, body.gs-punk .bde-div-15137-119 li, body.gs-punk .bde-div-15137-119 h2, body.gs-punk .bde-div-15137-119 h3, body.gs-punk .bde-div-15137-119 h4, body.gs-punk .bde-div-15137-119 .bde-text,
body.gs-punk .bde-div-15142-119 p, body.gs-punk .bde-div-15142-119 li, body.gs-punk .bde-div-15142-119 h2, body.gs-punk .bde-div-15142-119 h3, body.gs-punk .bde-div-15142-119 h4, body.gs-punk .bde-div-15142-119 .bde-text,
body.gs-punk .bde-div-15148-119 p, body.gs-punk .bde-div-15148-119 li, body.gs-punk .bde-div-15148-119 h2, body.gs-punk .bde-div-15148-119 h3, body.gs-punk .bde-div-15148-119 h4, body.gs-punk .bde-div-15148-119 .bde-text,
body.gs-punk .bde-div-15434-108 p, body.gs-punk .bde-div-15434-108 li, body.gs-punk .bde-div-15434-108 h2, body.gs-punk .bde-div-15434-108 h3, body.gs-punk .bde-div-15434-108 h4, body.gs-punk .bde-div-15434-108 .bde-text,
body.gs-punk .bde-div-16327-108 p, body.gs-punk .bde-div-16327-108 li, body.gs-punk .bde-div-16327-108 h2, body.gs-punk .bde-div-16327-108 h3, body.gs-punk .bde-div-16327-108 h4, body.gs-punk .bde-div-16327-108 .bde-text,
body.gs-punk .bde-div-16331-108 p, body.gs-punk .bde-div-16331-108 li, body.gs-punk .bde-div-16331-108 h2, body.gs-punk .bde-div-16331-108 h3, body.gs-punk .bde-div-16331-108 h4, body.gs-punk .bde-div-16331-108 .bde-text,
body.gs-punk .bde-form-builder-16545-121 p, body.gs-punk .bde-form-builder-16545-121 li, body.gs-punk .bde-form-builder-16545-121 h2, body.gs-punk .bde-form-builder-16545-121 h3, body.gs-punk .bde-form-builder-16545-121 h4, body.gs-punk .bde-form-builder-16545-121 .bde-text,
body.gs-punk .bde-form-builder-99962-305 p, body.gs-punk .bde-form-builder-99962-305 li, body.gs-punk .bde-form-builder-99962-305 h2, body.gs-punk .bde-form-builder-99962-305 h3, body.gs-punk .bde-form-builder-99962-305 h4, body.gs-punk .bde-form-builder-99962-305 .bde-text,
body.gs-punk .bde-form-builder-99989-305 p, body.gs-punk .bde-form-builder-99989-305 li, body.gs-punk .bde-form-builder-99989-305 h2, body.gs-punk .bde-form-builder-99989-305 h3, body.gs-punk .bde-form-builder-99989-305 h4, body.gs-punk .bde-form-builder-99989-305 .bde-text,
body.gs-punk .bde-rich-text-15369-302 p, body.gs-punk .bde-rich-text-15369-302 li, body.gs-punk .bde-rich-text-15369-302 h2, body.gs-punk .bde-rich-text-15369-302 h3, body.gs-punk .bde-rich-text-15369-302 h4, body.gs-punk .bde-rich-text-15369-302 .bde-text,
body.gs-punk .bde-rich-text-15369-304 p, body.gs-punk .bde-rich-text-15369-304 li, body.gs-punk .bde-rich-text-15369-304 h2, body.gs-punk .bde-rich-text-15369-304 h3, body.gs-punk .bde-rich-text-15369-304 h4, body.gs-punk .bde-rich-text-15369-304 .bde-text,
body.gs-punk .bde-rich-text-15662-120 p, body.gs-punk .bde-rich-text-15662-120 li, body.gs-punk .bde-rich-text-15662-120 h2, body.gs-punk .bde-rich-text-15662-120 h3, body.gs-punk .bde-rich-text-15662-120 h4, body.gs-punk .bde-rich-text-15662-120 .bde-text,
body.gs-punk .bde-rich-text-15662-125 p, body.gs-punk .bde-rich-text-15662-125 li, body.gs-punk .bde-rich-text-15662-125 h2, body.gs-punk .bde-rich-text-15662-125 h3, body.gs-punk .bde-rich-text-15662-125 h4, body.gs-punk .bde-rich-text-15662-125 .bde-text,
body.gs-punk .bde-rich-text-15662-135 p, body.gs-punk .bde-rich-text-15662-135 li, body.gs-punk .bde-rich-text-15662-135 h2, body.gs-punk .bde-rich-text-15662-135 h3, body.gs-punk .bde-rich-text-15662-135 h4, body.gs-punk .bde-rich-text-15662-135 .bde-text,
body.gs-punk .bde-rich-text-15662-138 p, body.gs-punk .bde-rich-text-15662-138 li, body.gs-punk .bde-rich-text-15662-138 h2, body.gs-punk .bde-rich-text-15662-138 h3, body.gs-punk .bde-rich-text-15662-138 h4, body.gs-punk .bde-rich-text-15662-138 .bde-text,
body.gs-punk .bde-rich-text-15662-141 p, body.gs-punk .bde-rich-text-15662-141 li, body.gs-punk .bde-rich-text-15662-141 h2, body.gs-punk .bde-rich-text-15662-141 h3, body.gs-punk .bde-rich-text-15662-141 h4, body.gs-punk .bde-rich-text-15662-141 .bde-text,
body.gs-punk .bde-rich-text-15662-144 p, body.gs-punk .bde-rich-text-15662-144 li, body.gs-punk .bde-rich-text-15662-144 h2, body.gs-punk .bde-rich-text-15662-144 h3, body.gs-punk .bde-rich-text-15662-144 h4, body.gs-punk .bde-rich-text-15662-144 .bde-text,
body.gs-punk .bde-rich-text-15662-147 p, body.gs-punk .bde-rich-text-15662-147 li, body.gs-punk .bde-rich-text-15662-147 h2, body.gs-punk .bde-rich-text-15662-147 h3, body.gs-punk .bde-rich-text-15662-147 h4, body.gs-punk .bde-rich-text-15662-147 .bde-text,
body.gs-punk .bde-rich-text-15662-150 p, body.gs-punk .bde-rich-text-15662-150 li, body.gs-punk .bde-rich-text-15662-150 h2, body.gs-punk .bde-rich-text-15662-150 h3, body.gs-punk .bde-rich-text-15662-150 h4, body.gs-punk .bde-rich-text-15662-150 .bde-text,
body.gs-punk .bde-rich-text-16978-673 p, body.gs-punk .bde-rich-text-16978-673 li, body.gs-punk .bde-rich-text-16978-673 h2, body.gs-punk .bde-rich-text-16978-673 h3, body.gs-punk .bde-rich-text-16978-673 h4, body.gs-punk .bde-rich-text-16978-673 .bde-text,
body.gs-punk .bde-rich-text-16978-680 p, body.gs-punk .bde-rich-text-16978-680 li, body.gs-punk .bde-rich-text-16978-680 h2, body.gs-punk .bde-rich-text-16978-680 h3, body.gs-punk .bde-rich-text-16978-680 h4, body.gs-punk .bde-rich-text-16978-680 .bde-text,
body.gs-punk .bde-rich-text-16978-687 p, body.gs-punk .bde-rich-text-16978-687 li, body.gs-punk .bde-rich-text-16978-687 h2, body.gs-punk .bde-rich-text-16978-687 h3, body.gs-punk .bde-rich-text-16978-687 h4, body.gs-punk .bde-rich-text-16978-687 .bde-text,
body.gs-punk .bde-rich-text-16978-692 p, body.gs-punk .bde-rich-text-16978-692 li, body.gs-punk .bde-rich-text-16978-692 h2, body.gs-punk .bde-rich-text-16978-692 h3, body.gs-punk .bde-rich-text-16978-692 h4, body.gs-punk .bde-rich-text-16978-692 .bde-text,
body.gs-punk .bde-rich-text-16978-697 p, body.gs-punk .bde-rich-text-16978-697 li, body.gs-punk .bde-rich-text-16978-697 h2, body.gs-punk .bde-rich-text-16978-697 h3, body.gs-punk .bde-rich-text-16978-697 h4, body.gs-punk .bde-rich-text-16978-697 .bde-text,
body.gs-punk .bde-rich-text-16978-702 p, body.gs-punk .bde-rich-text-16978-702 li, body.gs-punk .bde-rich-text-16978-702 h2, body.gs-punk .bde-rich-text-16978-702 h3, body.gs-punk .bde-rich-text-16978-702 h4, body.gs-punk .bde-rich-text-16978-702 .bde-text,
body.gs-punk .bde-rich-text-16978-707 p, body.gs-punk .bde-rich-text-16978-707 li, body.gs-punk .bde-rich-text-16978-707 h2, body.gs-punk .bde-rich-text-16978-707 h3, body.gs-punk .bde-rich-text-16978-707 h4, body.gs-punk .bde-rich-text-16978-707 .bde-text,
body.gs-punk .bde-rich-text-16978-712 p, body.gs-punk .bde-rich-text-16978-712 li, body.gs-punk .bde-rich-text-16978-712 h2, body.gs-punk .bde-rich-text-16978-712 h3, body.gs-punk .bde-rich-text-16978-712 h4, body.gs-punk .bde-rich-text-16978-712 .bde-text,
body.gs-punk .bde-rich-text-16978-715 p, body.gs-punk .bde-rich-text-16978-715 li, body.gs-punk .bde-rich-text-16978-715 h2, body.gs-punk .bde-rich-text-16978-715 h3, body.gs-punk .bde-rich-text-16978-715 h4, body.gs-punk .bde-rich-text-16978-715 .bde-text,
body.gs-punk .bde-rich-text-99962-120 p, body.gs-punk .bde-rich-text-99962-120 li, body.gs-punk .bde-rich-text-99962-120 h2, body.gs-punk .bde-rich-text-99962-120 h3, body.gs-punk .bde-rich-text-99962-120 h4, body.gs-punk .bde-rich-text-99962-120 .bde-text,
body.gs-punk .bde-rich-text-99962-125 p, body.gs-punk .bde-rich-text-99962-125 li, body.gs-punk .bde-rich-text-99962-125 h2, body.gs-punk .bde-rich-text-99962-125 h3, body.gs-punk .bde-rich-text-99962-125 h4, body.gs-punk .bde-rich-text-99962-125 .bde-text,
body.gs-punk .bde-rich-text-99962-130 p, body.gs-punk .bde-rich-text-99962-130 li, body.gs-punk .bde-rich-text-99962-130 h2, body.gs-punk .bde-rich-text-99962-130 h3, body.gs-punk .bde-rich-text-99962-130 h4, body.gs-punk .bde-rich-text-99962-130 .bde-text,
body.gs-punk .bde-rich-text-99962-135 p, body.gs-punk .bde-rich-text-99962-135 li, body.gs-punk .bde-rich-text-99962-135 h2, body.gs-punk .bde-rich-text-99962-135 h3, body.gs-punk .bde-rich-text-99962-135 h4, body.gs-punk .bde-rich-text-99962-135 .bde-text,
body.gs-punk .bde-rich-text-99962-138 p, body.gs-punk .bde-rich-text-99962-138 li, body.gs-punk .bde-rich-text-99962-138 h2, body.gs-punk .bde-rich-text-99962-138 h3, body.gs-punk .bde-rich-text-99962-138 h4, body.gs-punk .bde-rich-text-99962-138 .bde-text,
body.gs-punk .bde-rich-text-99962-141 p, body.gs-punk .bde-rich-text-99962-141 li, body.gs-punk .bde-rich-text-99962-141 h2, body.gs-punk .bde-rich-text-99962-141 h3, body.gs-punk .bde-rich-text-99962-141 h4, body.gs-punk .bde-rich-text-99962-141 .bde-text,
body.gs-punk .bde-rich-text-99962-144 p, body.gs-punk .bde-rich-text-99962-144 li, body.gs-punk .bde-rich-text-99962-144 h2, body.gs-punk .bde-rich-text-99962-144 h3, body.gs-punk .bde-rich-text-99962-144 h4, body.gs-punk .bde-rich-text-99962-144 .bde-text,
body.gs-punk .bde-rich-text-99962-147 p, body.gs-punk .bde-rich-text-99962-147 li, body.gs-punk .bde-rich-text-99962-147 h2, body.gs-punk .bde-rich-text-99962-147 h3, body.gs-punk .bde-rich-text-99962-147 h4, body.gs-punk .bde-rich-text-99962-147 .bde-text,
body.gs-punk .bde-rich-text-99962-150 p, body.gs-punk .bde-rich-text-99962-150 li, body.gs-punk .bde-rich-text-99962-150 h2, body.gs-punk .bde-rich-text-99962-150 h3, body.gs-punk .bde-rich-text-99962-150 h4, body.gs-punk .bde-rich-text-99962-150 .bde-text,
body.gs-punk .bde-rich-text-99989-120 p, body.gs-punk .bde-rich-text-99989-120 li, body.gs-punk .bde-rich-text-99989-120 h2, body.gs-punk .bde-rich-text-99989-120 h3, body.gs-punk .bde-rich-text-99989-120 h4, body.gs-punk .bde-rich-text-99989-120 .bde-text,
body.gs-punk .bde-rich-text-99989-125 p, body.gs-punk .bde-rich-text-99989-125 li, body.gs-punk .bde-rich-text-99989-125 h2, body.gs-punk .bde-rich-text-99989-125 h3, body.gs-punk .bde-rich-text-99989-125 h4, body.gs-punk .bde-rich-text-99989-125 .bde-text,
body.gs-punk .bde-rich-text-99989-130 p, body.gs-punk .bde-rich-text-99989-130 li, body.gs-punk .bde-rich-text-99989-130 h2, body.gs-punk .bde-rich-text-99989-130 h3, body.gs-punk .bde-rich-text-99989-130 h4, body.gs-punk .bde-rich-text-99989-130 .bde-text,
body.gs-punk .bde-rich-text-99989-135 p, body.gs-punk .bde-rich-text-99989-135 li, body.gs-punk .bde-rich-text-99989-135 h2, body.gs-punk .bde-rich-text-99989-135 h3, body.gs-punk .bde-rich-text-99989-135 h4, body.gs-punk .bde-rich-text-99989-135 .bde-text,
body.gs-punk .bde-rich-text-99989-138 p, body.gs-punk .bde-rich-text-99989-138 li, body.gs-punk .bde-rich-text-99989-138 h2, body.gs-punk .bde-rich-text-99989-138 h3, body.gs-punk .bde-rich-text-99989-138 h4, body.gs-punk .bde-rich-text-99989-138 .bde-text,
body.gs-punk .bde-rich-text-99989-141 p, body.gs-punk .bde-rich-text-99989-141 li, body.gs-punk .bde-rich-text-99989-141 h2, body.gs-punk .bde-rich-text-99989-141 h3, body.gs-punk .bde-rich-text-99989-141 h4, body.gs-punk .bde-rich-text-99989-141 .bde-text,
body.gs-punk .bde-rich-text-99989-144 p, body.gs-punk .bde-rich-text-99989-144 li, body.gs-punk .bde-rich-text-99989-144 h2, body.gs-punk .bde-rich-text-99989-144 h3, body.gs-punk .bde-rich-text-99989-144 h4, body.gs-punk .bde-rich-text-99989-144 .bde-text,
body.gs-punk .bde-rich-text-99989-147 p, body.gs-punk .bde-rich-text-99989-147 li, body.gs-punk .bde-rich-text-99989-147 h2, body.gs-punk .bde-rich-text-99989-147 h3, body.gs-punk .bde-rich-text-99989-147 h4, body.gs-punk .bde-rich-text-99989-147 .bde-text,
body.gs-punk .bde-rich-text-99989-150 p, body.gs-punk .bde-rich-text-99989-150 li, body.gs-punk .bde-rich-text-99989-150 h2, body.gs-punk .bde-rich-text-99989-150 h3, body.gs-punk .bde-rich-text-99989-150 h4, body.gs-punk .bde-rich-text-99989-150 .bde-text { color: var(--ink) !important; }
body.gs-punk .breakdance-rich-text-styles h2, body.gs-punk .breakdance-rich-text-styles h3, body.gs-punk .breakdance-rich-text-styles h4,
body.gs-punk .lp-prose h2, body.gs-punk .lp-prose h3 {
  font-family: 'Anton', 'Impact', sans-serif !important; font-weight: 400 !important; text-transform: uppercase !important; color: var(--ink) !important;
}
/* shallower tear on Breakdance sections so it never covers content above */
body.gs-punk .bde-section:not(.bde-section-15072-101) + .bde-section:not(.bde-section-15072-101)::before {
  top: -26px; height: 28px;
  -webkit-mask-size: 800px 28px; mask-size: 800px 28px;
}
body.gs-punk .bde-section:not(.bde-section-15072-101) { padding-bottom: 12px; }
/* highlighter hugs the words, not the full width */
body.gs-punk .bde-section:not(.bde-section-15072-101) h2 { display: inline-block; max-width: 100%; }

/* ===== header bars run full width (content stays centred) ===== */
body.gs-punk .bde-header-builder .bde-div-16827-102,
body.gs-punk .bde-header-builder .bde-div-16827-106 {
  position: relative; isolation: isolate;
  background: transparent !important; border-bottom: 0 !important; box-shadow: none !important;
}
body.gs-punk .bde-header-builder .bde-div-16827-102::before,
body.gs-punk .bde-header-builder .bde-div-16827-106::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%);
  z-index: -1; pointer-events: none;
}
body.gs-punk .bde-header-builder .bde-div-16827-102::before {
  background: var(--ink); border-bottom: 4px solid var(--red);
}
body.gs-punk .bde-header-builder .bde-div-16827-106::before {
  background: var(--paper) url(/assets/liverpool-punk/newsprint.webp); background-size: 520px;
  border-bottom: 5px solid var(--ink); box-shadow: 0 5px 0 var(--red);
}
body.gs-punk .bde-header-builder, body.gs-punk .bde-header-builder__container { overflow-x: clip; }
/* active / hover menu item: tight underline instead of a floating block */
body.gs-punk .bde-header-builder .breakdance-menu-link:hover,
body.gs-punk .bde-header-builder .breakdance-menu-item--active > .breakdance-menu-link {
  background: none !important; color: var(--red) !important;
  text-decoration: underline !important; text-decoration-thickness: 3px !important; text-underline-offset: 5px;
  text-decoration-color: var(--red) !important;
}

/* =====================================================================
   READABILITY + LAYERING FIXES
   ===================================================================== */
/* 1. no coloured fringe on headings (keep type crisp); hero H1 gets a solid offset instead */
body.gs-punk h1, body.gs-punk h2, body.gs-punk h3, body.gs-punk h4, body.gs-punk .bde-heading,
body.gs-punk .section-header h2, body.gs-punk .case-header-row h2, body.gs-punk .contact-card h2 { text-shadow: none !important; }
body.gs-punk .hero-title { text-shadow: 3px 3px 0 rgba(56,189,248,.55) !important; }
body.gs-punk h1, body.gs-punk h2, body.gs-punk h3, body.gs-punk .bde-heading, body.gs-punk .hero-title { letter-spacing: .025em !important; }
body.gs-punk h3, body.gs-punk .service-card h3, body.gs-punk .feature-card h3, body.gs-punk .faq-card summary h3 { font-size: clamp(19px, 1.7vw, 24px) !important; line-height: 1.2 !important; }
body.gs-punk .bde-header-builder .breakdance-menu-link, body.gs-punk .bde-header-builder .breakdance-menu-link-arrow { font-size: 14px !important; letter-spacing: .04em !important; }

/* 2. light type on every dark panel (beats the generic navy heading rule) */
body.gs-punk .case-studies-container h2, body.gs-punk .case-studies-container h3,
body.gs-punk .gs-block-navy h2, body.gs-punk .gs-block-navy h3,
body.gs-punk .gs-block-red h2, body.gs-punk .gs-block-red h3,
body.gs-punk .contact-card h2, body.gs-punk .contact-card h3,
body.gs-punk .bde-section-15072-101 h2, body.gs-punk .bde-section-15072-101 h3 {
  color: var(--paper) !important; background: none !important; padding: 0 !important;
  text-shadow: 3px 3px 0 var(--ink) !important;
}
body.gs-punk .case-studies-container h2, body.gs-punk .gs-block-navy h2 { color: var(--yellow) !important; text-shadow: none !important; }
body.gs-punk .case-studies-container, body.gs-punk .case-studies-container p, body.gs-punk .case-studies-container li,
body.gs-punk .gs-block-navy > .shell > p, body.gs-punk .gs-block-navy .section-lead,
body.gs-punk .gs-block-red, body.gs-punk .gs-block-red .section-lead, body.gs-punk .gs-block-red > .shell > p,
body.gs-punk .contact-card, body.gs-punk .contact-card p { color: var(--paper) !important; }
body.gs-punk .case-studies-container .feature-card, body.gs-punk .case-studies-container .feature-card p,
body.gs-punk .gs-block-red .feature-card, body.gs-punk .gs-block-red .feature-card p, body.gs-punk .gs-block-red .feature-card h3,
body.gs-punk .gs-block-navy .process-item p, body.gs-punk .gs-block-navy .info-banner, body.gs-punk .gs-block-navy .info-banner p, body.gs-punk .gs-block-navy .info-banner h3 {
  color: var(--ink) !important; text-shadow: none !important;
}
body.gs-punk .gs-block-red .feature-card h3 { color: var(--ink) !important; }
body.gs-punk .case-studies-container a:not(.btn-pill-red), body.gs-punk .contact-card a:not(.btn-pill-red):not(.contact-quick-link) { color: var(--yellow) !important; }
body.gs-punk .contact-card .contact-quick-link { color: var(--ink) !important; }
/* dark Breakdance columns (red CTA strips) become paper cards so forced navy text stays readable */
body.gs-punk .bde-column-15021-229, body.gs-punk .bde-column-15022-263, body.gs-punk .bde-column-2411-131, body.gs-punk .bde-column-15369-102 {
  background: var(--paper) !important; border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--red);
}

/* 3. decorative artwork never sits on top of text */
body.gs-punk .gs-scrap, body.gs-punk .gs-portrait-scrap { z-index: 0 !important; opacity: .9; }
body.gs-punk .gs-scrap--a { top: -70px !important; right: -60px !important; width: 170px !important; }
body.gs-punk .gs-scrap--b { bottom: -60px !important; left: -70px !important; width: 150px !important; }
body.gs-punk .gs-portrait-scrap { top: -90px !important; right: -40px !important; width: 150px !important; }
body.gs-punk .section-header, body.gs-punk .services-grid, body.gs-punk .wide-grid, body.gs-punk .local-seo-box,
body.gs-punk .process-list, body.gs-punk .info-banner, body.gs-punk .faq-container, body.gs-punk .lp-table-wrap,
body.gs-punk .case-studies-container, body.gs-punk .four-col-grid { position: relative; z-index: 1; }
body.gs-punk .gs-badge { left: auto !important; right: 40% !important; bottom: -34px !important; top: auto !important; width: 130px !important; height: 130px !important; z-index: 6 !important; }
body.gs-punk .gs-tile { z-index: 2 !important; }
body.gs-punk .hero-stats-row { position: relative; z-index: 5; }
/* torn edges live in the gap between sections instead of over the previous section's content */
body.gs-punk .content-section { margin-top: 56px; }
body.gs-punk .content-section::before { top: -56px !important; height: 56px !important; }
body.gs-punk .content-section::after { top: -49px !important; height: 49px !important; }
body.gs-punk .hero-section + .content-section { margin-top: 0; }
body.gs-punk .bde-section:not(.bde-section-15072-101) + .bde-section:not(.bde-section-15072-101) { margin-top: 28px; }
body.gs-punk .bde-section:not(.bde-section-15072-101) + .bde-section:not(.bde-section-15072-101)::before { top: -28px; height: 28px; }
body.gs-punk .bde-section-15072-101 { margin-top: 90px; }
/* images inside content never overlap neighbouring text */
body.gs-punk .bde-image, body.gs-punk .bde-image figure, body.gs-punk .about-portrait-card, body.gs-punk .lp-split-media, body.gs-punk .lp-case-media { position: relative; z-index: 0; }
body.gs-punk .bde-text, body.gs-punk .bde-rich-text, body.gs-punk .bde-heading, body.gs-punk .about-details, body.gs-punk .lp-split-copy { position: relative; z-index: 1; }
@media (max-width: 1100px) { body.gs-punk .gs-badge { display: none !important; } }
/* explainer video (Liverpool) */
body.gs-punk .lp-video-section { padding: 56px 0 10px; position: relative; z-index: 1; }
body.gs-punk .lp-video { margin: 0 auto; background: var(--ink); border: 5px solid var(--ink); box-shadow: 10px 10px 0 var(--red); position: relative; }
body.gs-punk .lp-video video { display: block; width: 100%; height: auto; }
body.gs-punk .lp-video figcaption {
  background: var(--paper) url(/assets/liverpool-punk/newsprint.webp); background-size: 520px; color: var(--ink);
  font-family: 'DM Serif Display', Georgia, serif; font-style: italic; font-size: 18px; padding: 12px 18px; border-top: 5px solid var(--ink);
}
body.gs-punk .lp-video::before { content: ""; position: absolute; top: -18px; left: 50%; width: 118px; height: 34px; transform: translateX(-50%) rotate(-3deg); background: url(/assets/liverpool-punk/tape.webp) center / 100% 100% no-repeat; z-index: 2; }
body.gs-punk .lp-video-section + .content-section { margin-top: 56px; }
/* stamp badge: bottom-right of the artwork panel, clear of the stats strip and vertical text */
body.gs-punk .gs-badge { left: auto !important; right: -36px !important; top: auto !important; bottom: 84px !important; width: 128px !important; height: 128px !important; }
/* grid cells may shrink; wide tables scroll inside their box */
body.gs-punk .wide-grid > *, body.gs-punk .services-grid > *, body.gs-punk .four-col-grid > * { min-width: 0; }
body.gs-punk .local-seo-box > div { min-width: 0; max-width: 100%; }
body.gs-punk .lp-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* footer: 4th column with location links */
body.gs-punk .bde-columns-15072-102 { --columnCount: 4; }
body.gs-punk .bde-column-15072-103 { --column-width: 31%; }
body.gs-punk .bde-column-15072-108, body.gs-punk .bde-column-15072-110, body.gs-punk .gs-footer-areas { --column-width: 23%; }
body.gs-punk .gs-footer-areas p { margin: 0 0 4px; }
body.gs-punk .gs-footer-areas a { color: var(--paper) !important; text-decoration: none; border-bottom: 2px solid var(--red); font-weight: 700; }
body.gs-punk .gs-footer-areas a:hover { color: var(--yellow) !important; border-bottom-color: var(--yellow); }
@media (max-width: 1023px) {
  body.gs-punk .bde-columns-15072-102 { --columnCount: 2; }
  body.gs-punk .bde-column-15072-103, body.gs-punk .bde-column-15072-108, body.gs-punk .bde-column-15072-110, body.gs-punk .gs-footer-areas { --column-width: 50%; }
}
/* header (and its dropdowns) always above page content */
body.gs-punk .bde-header-builder { position: relative; z-index: 1000; }
body.gs-punk .bde-header-builder--sticky { z-index: 1001; }
body.gs-punk .breakdance-dropdown-floater { z-index: 1002 !important; }
/* keep dropdowns open while the pointer crosses the gap below the menu bar */
body.gs-punk .breakdance-dropdown-floater { padding-top: 26px !important; margin-top: 0 !important; }
body.gs-punk .breakdance-dropdown-floater::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 42px; }
body.gs-punk .breakdance-dropdown { position: relative; }
body.gs-punk .breakdance-dropdown-toggle::after { content: ""; position: absolute; left: 0; right: 0; bottom: -26px; height: 26px; }
/* video play button (pages that do not load local-pages.css) */
body.gs-punk .lp-video-frame { position: relative; }
body.gs-punk .lp-video video { aspect-ratio: 16 / 9; background: #f3ede1; }
body.gs-punk .lp-video-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 96px; height: 96px; padding: 0; border: 5px solid var(--ink); border-radius: 50%;
  background: var(--red); box-shadow: 6px 6px 0 var(--ink); cursor: pointer;
  display: flex; align-items: center; justify-content: center; z-index: 3;
}
body.gs-punk .lp-video-play[hidden] { display: none; }
body.gs-punk .lp-video-play svg { width: 40px; height: 40px; margin-left: 6px; fill: #fff; }
body.gs-punk .lp-video-play:hover { transform: translate(calc(-50% + 2px), calc(-50% + 2px)); box-shadow: 3px 3px 0 var(--ink); }
body.gs-punk .lp-video { max-width: 880px; margin: 0 auto; }
