/* Extracted from Dev 5187 ppc-lp-css 2026-09-01 */
:root {

  /* Measured from live Blocksy/Greenshift (2026-08-06 / 2026-08-07; re-verified 2026-08-17) */

  --brand: #0c4b6c; /* --theme-palette-color-1 */

  --accent: #46e7b7; /* --theme-palette-color-2 */

  --mint-soft: #a2f3db;

  --mint-tint: rgba(63, 187, 150, 0.2); /* live hero + trust band bg */

  --ppc-band-bg: rgba(63, 187, 150, 0.2); /* PPC hero + book bands (single layer on white) */

  --ppc-section-pad: 3.125rem; /* 50px — live Greenshift row rhythm */

  --slate-band: #b2c9d9;

  --peach: #ffe2c9; /* --theme-palette-color-5 */

  --blush: #fcf2f0; /* --theme-palette-color-6 */

  --ink: #212121; /* live body copy colour */

  --ink-soft: #51565a; /* --theme-palette-color-3 */

  --ink-heading: #212121;

  --ink-strong: #2f2c2c; /* --theme-palette-color-4, button text */

  --muted: #6b7075;

  --paper: #f9f9fb; /* --theme-palette-color-7 */

  --white: #ffffff;

  --line: rgba(12, 75, 108, 0.1);


  --radius-header: 50px;

  --radius-btn: 40px; /* --theme-button-border-radius */

  --radius-menu: 20px;

  --radius-img: 20px;

  --radius-panel: 20px;

  --radius-social: 30px;

  --radius-explore: 22px;


  --header-h: 80px;

  --header-offset: 25px;

  --ppc-logo-h: 24px;

  --ppc-footer-logo-h: 24px;

  --ease: cubic-bezier(0.455, 0.03, 0.515, 0.955);

  --t: 0.12s var(--ease);


  /* Live: body Inter 16px; headings Helvetica Neue LT Std (licensed webfont) */

  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --font-display: "Helvetica Neue", Helvetica, Arial, sans-serif;

  --max: 1200px;

  --max-wide: 1290px; /* --theme-normal-container-max-width */

  --section-pad: 50px; /* live Greenshift row rhythm */

  --tap: 48px;

}


*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }


body {

  margin: 0;

  font-family: var(--font);

  color: var(--ink);

  background: var(--white);

  line-height: 1.5625; /* live: 25px on 16px */

  font-size: 16px;

}


body.ppc {

  background: var(--white);

}


body.ppc .trust-band,

body.ppc .section.section-tight:not(.grow),

body.ppc .site-footer:not(.ppc-footer) {

  background: var(--white);

}


body.modal-open { overflow: hidden; }


img { max-width: 100%; height: auto; display: block; }

a { color: var(--brand); }

.wrap { width: min(var(--max), calc(100% - 3rem)); margin: 0 auto; }

.wrap-wide { width: min(var(--max-wide), calc(100% - 3rem)); margin: 0 auto; }


/* —— Floating pill header (live: top 25px, radius 50px, h 80) —— */

.site-header {

  position: sticky;

  top: var(--header-offset);

  z-index: 50;

  padding: 0 16px;

  margin-bottom: calc(-1 * (var(--header-h) + var(--header-offset)));

  pointer-events: none;

}


.site-header .bar {

  pointer-events: auto;

  max-width: var(--max);

  margin: 0 auto;

  min-height: var(--header-h);

  padding: 0 15px 0 30px;

  background: var(--brand);

  border-radius: var(--radius-header);

  display: grid;

  grid-template-columns: auto 1fr auto;

  align-items: center;

  gap: 1rem;

  transition: box-shadow var(--t), background-color var(--t);

}


.logo img { height: 22px; width: auto; }


.nav-main {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0;

  list-style: none;

  margin: 0;

  padding: 0;

}


.nav-main a {

  color: var(--paper);

  text-decoration: none;

  font-size: 16px;

  text-transform: capitalize;

  padding: 0.45rem 0.95rem;

  border-radius: var(--radius-menu);

  white-space: nowrap;

  display: inline-flex;

  align-items: center;

  gap: 0.3rem;

  transition: background-color var(--t), color var(--t);

}


.nav-main a:hover { background: rgba(255, 255, 255, 0.08); color: var(--accent); }


.nav-main a[aria-current="page"],

.nav-main a.is-active {

  background: var(--accent);

  color: var(--ink);

}


.nav-main .chev {

  font-size: 0.65rem;

  opacity: 0.85;

  line-height: 1;

}


.header-actions {

  display: flex;

  align-items: center;

  gap: 12px;

}


.btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 12px;

  padding: 8px 20px;

  min-height: 42px;

  border-radius: var(--radius-btn);

  font: inherit;

  font-size: 16px;

  font-weight: 400;

  text-decoration: none;

  border: none;

  cursor: pointer;

  transition: filter var(--t), background-color var(--t), color var(--t), transform var(--t);

}


.btn:hover { filter: brightness(0.97); }

.btn .arrow { font-size: 0.85rem; line-height: 1; }


.btn-phone {

  background: var(--paper);

  color: var(--ink);

}


.btn-phone:hover { background: #fff; color: var(--ink); }


.btn-accent {

  background: var(--accent);

  color: var(--ink-strong); /* live: #2f2c2c on mint */

}


.btn-accent:hover { filter: brightness(0.96); color: var(--ink); }


.btn-outline {

  background: transparent;

  color: var(--brand);

  border: 1.5px solid var(--brand);

}


.nav-toggle { display: none; }


/* —— Hero banner —— */

.hero-banner {

  position: relative;

  min-height: 500px;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: calc(var(--header-h) + var(--header-offset) + 2rem) 1.5rem 4rem;

  color: var(--white);

  text-align: center;

  background:

    linear-gradient(180deg, rgba(8, 40, 58, 0.28) 0%, rgba(8, 40, 58, 0.55) 100%),

    var(--hero-image) center / cover no-repeat;

}


.hero-banner h1 {

  margin: 0;

  font-family: var(--font-display);

  font-size: clamp(3rem, 7.2vw, 105px);

  font-weight: 700;

  line-height: 1;

  letter-spacing: -0.02em;

  color: #fff;

}


/* —— Intro split —— */

.intro {

  padding: 4.5rem 0 3rem;

  background: var(--white);

}


.intro-grid {

  display: grid;

  grid-template-columns: 1.05fr 0.95fr;

  gap: 3rem;

  align-items: start;

}


.intro h1,

.intro h2 {

  margin: 0 0 1.25rem;

  font-family: var(--font-display);

  font-size: clamp(2rem, 3.8vw, 55px);

  font-weight: 700;

  line-height: 1.1;

  letter-spacing: -0.02em;

  color: var(--ink-heading);

}


.intro .body p {

  margin: 0 0 1rem;

  color: var(--ink);

  font-size: 1.02rem;

}


.intro-actions {

  display: flex;

  flex-wrap: wrap;

  gap: 0.75rem;

  margin-top: 1.75rem;

}


.intro-media {

  border-radius: var(--radius-img);

  overflow: hidden;

  min-height: 420px;

  background: var(--media-image) center / cover no-repeat;

}


/* —— Trust band: testimonials left + stats right (inline) —— */

.trust-band {

  padding: var(--section-pad) 0;

  background: var(--white);

}


.trust-grid {

  display: grid;

  grid-template-columns: 1.2fr 0.8fr;

  gap: 1.25rem;

  align-items: stretch;

}


.stats-stack {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 0.85rem;

  align-content: stretch;

}


.stat {

  background: var(--white);

  border-radius: var(--radius-panel);

  padding: 1.25rem 1rem;

  text-align: center;

  border: 1px solid var(--line);

  display: flex;

  flex-direction: column;

  justify-content: center;

}


/* Live counters: Inter 700, bold labels (#212121) */

.stat strong {

  display: block;

  font-family: var(--font);

  font-size: clamp(1.75rem, 2.8vw, 2.5rem);

  font-weight: 700;

  color: var(--ink-heading);

  letter-spacing: -0.02em;

  line-height: 1.1;

}


.stat span {

  display: block;

  margin-top: 0.35rem;

  font-size: 0.88rem;

  font-weight: 700;

  color: var(--ink-heading);

  line-height: 1.3;

}


.quote-card {

  border-radius: var(--radius-social);

  padding: 40px;

  background: var(--mint-soft);

  color: var(--ink-heading);

  display: flex;

  flex-direction: column;

  min-height: 0;

}


.quote-card h5 {

  margin: 0 0 1.25rem;

  font-size: 17px;

  font-weight: 700;

  line-height: 1.3;

}


.quote-stage {

  position: relative;

  flex: 1;

}


.quote-slide {

  display: none;

}


.quote-slide.is-active {

  display: block;

}


.quote-slide p {

  margin: 0 0 1.25rem;

  font-size: 1.05rem;

  line-height: 1.55;

}


.quote-slide cite {

  display: block;

  font-style: normal;

  font-weight: 700;

  font-size: 0.95rem;

  color: var(--ink-soft);

}


.quote-nav {

  display: flex;

  gap: 0.5rem;

  margin-top: 1.5rem;

}


.quote-nav button {

  width: 36px;

  height: 36px;

  border-radius: 999px;

  border: none;

  background: var(--brand);

  color: #fff;

  cursor: pointer;

  font-size: 1rem;

  line-height: 1;

}


.quote-nav button:hover { filter: brightness(1.08); }


/* —— Enquire (Option B — after social proof) —— */

.enquire {

  padding: 3.5rem 0;

  background: var(--paper);

}


.enquire-panel {

  background: var(--white);

  border-radius: var(--radius-panel);

  padding: 2.25rem;

  display: grid;

  grid-template-columns: 0.9fr 1.1fr;

  gap: 2rem;

  border: 1px solid var(--line);

}


.enquire h2 {

  margin: 0 0 0.5rem;

  font-size: 2rem;

  font-weight: 700;

  color: var(--ink-heading);

  letter-spacing: -0.02em;

}


.enquire .sub { margin: 0; color: var(--ink-soft); }


.service-note {

  display: inline-block;

  background: rgba(70, 231, 183, 0.28);

  color: var(--brand);

  font-size: 0.8rem;

  font-weight: 600;

  padding: 0.3rem 0.75rem;

  border-radius: 999px;

  margin-bottom: 0.85rem;

}


.form-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 0.75rem;

}


.form-grid .full { grid-column: 1 / -1; }


label {

  display: block;

  font-size: 0.82rem;

  font-weight: 600;

  color: var(--ink-soft);

  margin-bottom: 0.3rem;

}


label .optional {

  font-weight: 400;

}


input, textarea {

  width: 100%;

  padding: 0.7rem 0.85rem;

  border: 1px solid var(--line);

  border-radius: 12px;

  font: inherit;

  background: var(--paper);

  transition: border-color var(--t), outline var(--t);

}


input:focus, textarea:focus {

  outline: 2px solid rgba(70, 231, 183, 0.65);

  border-color: var(--brand);

}


textarea { min-height: 72px; resize: vertical; }


.consent {

  display: flex;

  gap: 0.55rem;

  align-items: flex-start;

  font-size: 0.88rem;

  color: var(--ink-soft);

}


.consent input { width: auto; margin-top: 0.2rem; }


.form-success {

  display: none;

  padding: 1rem;

  background: rgba(70, 231, 183, 0.22);

  border-radius: 12px;

  color: var(--brand);

  font-weight: 600;

}


.form-success.show { display: block; }


/* —— Grow / value props (+ legacy cards for Awards/Proofreading) —— */

.section { padding: var(--section-pad) 0; }

.section.alt { background: var(--paper); }

.section.grow { background: var(--slate-band); }


.cards-3 {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 1.25rem;

}


.card {

  background: var(--white);

  border-radius: var(--radius-panel);

  padding: 1.5rem 1.35rem;

  border: 1px solid var(--line);

  text-align: left;

}


.card h3 {

  margin: 0 0 0.5rem;

  font-size: 1.2rem;

  color: var(--brand);

}


.card p { margin: 0; color: var(--ink-soft); font-size: 0.95rem; }


.section h2 {

  margin: 0 0 2rem;

  font-family: var(--font-display);

  font-size: clamp(1.75rem, 3vw, 2.5rem);

  font-weight: 700;

  color: var(--ink-heading);

  letter-spacing: -0.02em;

  text-align: center;

}


.value-list {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 2rem;

}


.value-item {

  text-align: left;

}


.value-icon {

  width: 48px;

  height: 48px;

  border-radius: 999px;

  background: var(--brand);

  color: #fff;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  margin-bottom: 1rem;

  font-size: 1.1rem;

}


.value-item h3 {

  margin: 0 0 0.5rem;

  font-size: 1.25rem;

  color: var(--ink-heading);

}


.value-item p {

  margin: 0;

  color: var(--ink-soft);

  font-size: 0.98rem;

}


/* —— Explore more services —— */

.explore {

  padding: 3.5rem 0;

  background: var(--white);

}


.explore-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 1.25rem;

}


.explore-card {

  background: #fffefe;

  border-radius: var(--radius-explore);

  padding: 1.75rem 1.5rem 1.5rem;

  border: 1px solid var(--line);

  display: flex;

  flex-direction: column;

  min-height: 240px;

  position: relative;

  overflow: hidden;

}


.explore-card::after {

  content: "";

  position: absolute;

  right: 0;

  bottom: 0;

  width: 64px;

  height: 8px;

  border-radius: 8px 0 0 0;

  background: var(--card-accent, var(--accent));

}


.explore-card[data-tone="mint"] { --card-accent: #46e7b7; }

.explore-card[data-tone="sand"] { --card-accent: #d4b896; }

.explore-card[data-tone="sky"] { --card-accent: #8ec5e8; }


.explore-icon {

  width: 40px;

  height: 40px;

  margin-bottom: 1rem;

  color: var(--brand);

  font-size: 1.5rem;

}


.explore-card h3 {

  margin: 0 0 0.5rem;

  font-size: 1.25rem;

  color: var(--ink-heading);

}


.explore-card p {

  margin: 0 0 1.25rem;

  color: var(--ink-soft);

  flex: 1;

}


.explore-card .explore-link {

  display: inline-flex;

  align-items: center;

  gap: 0.4rem;

  color: var(--brand);

  font-weight: 600;

  text-decoration: none;

}


.explore-card .explore-link:hover { color: var(--ink); }


/* —— Bottom CTA —— */

.cta-band {

  padding: 4rem 0;

  background:

    linear-gradient(100deg, rgba(12, 75, 108, 0.9), rgba(12, 75, 108, 0.72)),

    url("img/home-cta.jpg") center / cover;

  color: var(--white);

}


.cta-band-inner {

  display: grid;

  grid-template-columns: 1.1fr 0.9fr;

  gap: 2rem;

  align-items: center;

}


.cta-band h2 {

  margin: 0 0 0.75rem;

  font-size: clamp(1.6rem, 3vw, 2.25rem);

  color: #fff;

  text-align: left;

  max-width: 28rem;

}


.cta-band p {

  margin: 0 0 1.35rem;

  color: rgba(255, 255, 255, 0.9);

  max-width: 32rem;

}


.cta-band .actions {

  display: flex;

  flex-wrap: wrap;

  gap: 0.75rem;

}


.btn-ghost-light {

  background: transparent;

  color: #fff;

  border: 1.5px solid rgba(255, 255, 255, 0.55);

}


.btn-ghost-light:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }


.cta-media {

  border-radius: var(--radius-img);

  min-height: 260px;

  background: url("img/home-cta.jpg") center / cover;

}


/* —— Footer —— */

.site-footer {

  padding: 1.5rem 0;

  background: var(--white);

  border-top: 1px solid var(--line);

  font-size: 0.9rem;

  color: var(--muted);

}


.site-footer .inner {

  display: flex;

  flex-wrap: wrap;

  gap: 0.75rem 1.25rem;

  justify-content: space-between;

}


.site-footer a { color: var(--brand); text-decoration: none; }


.concept-badge {

  position: fixed;

  bottom: 0.75rem;

  left: 0.75rem;

  z-index: 80;

  background: var(--ink);

  color: #fff;

  font-size: 0.68rem;

  font-weight: 700;

  letter-spacing: 0.04em;

  text-transform: uppercase;

  padding: 0.35rem 0.55rem;

  border-radius: 8px;

  opacity: 0.8;

}


/* —— Centred enquire modal (Option A) —— */

.modal-backdrop {

  position: fixed;

  inset: 0;

  background: rgba(18, 21, 25, 0.55);

  opacity: 0;

  pointer-events: none;

  transition: opacity 0.2s var(--ease);

  z-index: 90;

}

.modal-backdrop.open { opacity: 1; pointer-events: auto; }


.modal {

  position: fixed;

  top: 50%;

  left: 50%;

  width: min(560px, calc(100% - 2rem));

  max-height: calc(100vh - 2.5rem);

  background: var(--white);

  border-radius: var(--radius-panel);

  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);

  transform: translate(-50%, -46%) scale(0.96);

  opacity: 0;

  pointer-events: none;

  transition: transform 0.22s var(--ease), opacity 0.22s var(--ease);

  z-index: 100;

  display: flex;

  flex-direction: column;

  overflow: hidden;

}

.modal.open {

  transform: translate(-50%, -50%) scale(1);

  opacity: 1;

  pointer-events: auto;

}


.modal-header {

  display: flex;

  justify-content: space-between;

  gap: 1rem;

  padding: 1.25rem 1.25rem 0.85rem;

  border-bottom: 1px solid var(--line);

}

.modal-header h2 {

  margin: 0.35rem 0 0;

  font-size: 1.35rem;

  color: var(--ink-heading);

}

.modal-body { padding: 1.25rem; overflow-y: auto; flex: 1; }

.modal-close {

  border: none;

  background: var(--paper);

  width: 36px;

  height: 36px;

  border-radius: 999px;

  font-size: 1.2rem;

  cursor: pointer;

  flex-shrink: 0;

}


@media (max-width: 980px) {

  .nav-main { display: none; }

  .nav-toggle { display: inline-flex; }

  .btn-phone span { display: none; }

  .intro-grid,

  .enquire-panel,

  .value-list,

  .explore-grid,

  .cards-3,

  .cta-band-inner,

  .trust-grid { grid-template-columns: 1fr; }

  .stats-stack { grid-template-columns: 1fr 1fr; }

  .intro-media { min-height: 280px; }

}


@media (max-width: 640px) {

  .stats-stack,

  .form-grid { grid-template-columns: 1fr; }

  .hero-banner { min-height: 360px; }

}


/* —— PPC standalone template (no site nav) —— */

body.ppc .site-header {

  margin-bottom: 0;

}


body.ppc .btn {

  min-height: var(--tap);

  padding: 10px 18px;

  flex-shrink: 0;

}


body.ppc .site-header .bar {

  display: flex;

  grid-template-columns: unset;

  align-items: center;

  gap: 0.75rem;

  min-height: var(--header-h);

  height: auto;

  padding: 8px 12px 8px 20px;

}


body.ppc .logo {

  flex: 0 1 auto;

  min-width: 0;

}


body.ppc .logo img {

  height: var(--ppc-logo-h);

  width: auto;

  max-width: calc(var(--ppc-logo-h) * 243 / 19);

}


body.ppc .header-actions {

  margin-left: auto;

  flex-wrap: nowrap;

  gap: 8px;

  min-width: 0;

}


body.ppc .header-actions .btn-outline,

body.ppc .header-actions .btn-secondary {

  border: 1.5px solid rgba(255, 255, 255, 0.55);

  background: transparent;

  color: #fff;

}


body.ppc .header-actions .btn-outline:hover,

body.ppc .header-actions .btn-secondary:hover {

  background: rgba(255, 255, 255, 0.1);

  color: #fff;

  filter: none;

}


body.ppc .btn-phone span { display: inline; }


.btn-secondary {

  background: transparent;

  color: var(--brand);

  border: 1.5px solid var(--brand);

}


.btn-secondary:hover {

  background: rgba(12, 75, 108, 0.06);

  color: var(--brand);

  filter: none;

}


.btn-accent:disabled {

  opacity: 0.75;

  cursor: wait;

  filter: none;

}


.eyebrow {

  display: inline-block;

  font-size: 0.8rem;

  font-weight: 700;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  color: var(--brand);

  margin: 0;

}


.also-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 1rem;

}


.services-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 1.15rem;

}


.service-card {

  display: flex;

  flex-direction: column;

  text-align: left;

  background: var(--white);

  border: 1px solid var(--line);

  border-radius: var(--radius-panel);

  padding: 0;

  overflow: hidden;

  color: inherit;

  text-decoration: none;

  cursor: pointer;

  font: inherit;

  width: 100%;

  transition: border-color var(--t), box-shadow var(--t);

}


.service-photo {

  height: 260px;

  overflow: hidden;

  background: var(--paper);

  line-height: 0;

}


.service-photo img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center top;

}


.service-card[data-service-tone="proofreading"] .service-photo img {

  object-position: center 6%;

}


.service-card[data-service-tone="copywriting"] .service-photo img {

  object-position: center 10%;

}


.service-card[data-service-tone="awards"] .service-photo img {

  object-position: center 14%;

}


.service-body {

  padding: 1.25rem 1.5rem 1.5rem;

  flex: 1;

  display: flex;

  flex-direction: column;

}


.service-card:hover,

.service-card:focus-visible {

  border-color: var(--brand);

  box-shadow: 0 8px 24px rgba(12, 75, 108, 0.08);

  outline: none;

}


.service-card-static {

  cursor: default;

}


.service-card-static:hover,

.service-card-static:focus-visible {

  border-color: var(--line);

  box-shadow: none;

}


.service-card[data-lp-link-pending] {

  cursor: pointer;

}


.service-card h3 {

  margin: 0 0 0.4rem;

  font-size: 1.35rem;

  color: var(--ink-heading);

}


.service-card .outcome {

  margin: 0 0 0.85rem;

  color: var(--ink-soft);

  font-size: 0.98rem;

}


.service-card ul {

  margin: 0;

  padding: 0 0 0 1.1rem;

  color: var(--muted);

  font-size: 0.92rem;

}


.service-card .pick {

  display: inline-flex;

  align-items: center;

  gap: 0.35rem;

  margin-top: auto;

  padding-top: 1rem;

  font-weight: 600;

  color: var(--brand);

}


.service-card .pick .arrow {

  font-size: 0.85rem;

  line-height: 1;

}


.steps {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 1.25rem;

}


.step {

  background: var(--white);

  border-radius: var(--radius-panel);

  padding: 1.5rem;

  border: 1px solid var(--line);

}


.step-num {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 36px;

  height: 36px;

  border-radius: 999px;

  background: var(--accent);

  color: var(--ink);

  font-weight: 700;

  margin-bottom: 0.85rem;

}


.step h3 { margin: 0 0 0.4rem; font-size: 1.15rem; color: var(--ink-heading); }

.step p { margin: 0; color: var(--ink-soft); font-size: 0.95rem; }


.logo-strip {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 0.65rem;

  align-items: stretch;

  padding: 0.25rem 0 0;

}


.logo-mark {

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 0.2rem 0.35rem;

  overflow: hidden;

  background: transparent;

}


.logo-mark img {

  display: block;

  width: 100%;

  height: auto;

  aspect-ratio: 320 / 96;

  object-fit: contain;

  object-position: center;

}


.trust-heading {

  margin: 0 0 1rem;

  font-size: 1.15rem;

  font-weight: 700;

  color: var(--ink-heading);

  text-align: left;

  letter-spacing: -0.01em;

}


.cite-role {

  display: block;

  margin-top: 0.2rem;

  font-weight: 500;

  font-size: 0.82rem;

  color: var(--muted);

}


.convert-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 1.25rem;

  align-items: stretch;

}


.convert-card {

  background: var(--white);

  border: 1px solid var(--line);

  border-radius: var(--radius-panel);

  padding: 1.75rem;

}


.convert-card.form-card {

  box-shadow: 0 16px 40px rgba(12, 75, 108, 0.08);

}


.hero-convert {

  position: relative;

  isolation: isolate;

  padding: calc(var(--header-h) + var(--header-offset) + 3.25rem) 0 var(--ppc-section-pad);

  background: var(--ppc-band-bg);

}


.hero-convert::before {

  content: "";

  position: absolute;

  left: 0;

  right: 0;

  top: calc(-1 * (var(--header-h) + var(--header-offset)));

  height: calc(var(--header-h) + var(--header-offset));

  background: var(--ppc-band-bg);

  z-index: -1;

}


.hero-convert .intro-grid {

  grid-template-columns: 1.05fr 0.95fr;

  grid-template-rows: auto auto;

  gap: 1.5rem 3rem;

  align-items: start;

}


.hero-copy {

  grid-column: 1;

  grid-row: 1;

  display: flex;

  flex-direction: column;

  gap: 0.85rem;

  min-height: 0;

  align-self: start;

}


.hero-copy h1 {

  margin: 0;

}


.hero-copy .body p {

  margin: 0;

}


.hero-convert .enquire {

  grid-column: 2;

  grid-row: 1 / span 2;

  align-self: start;

}


.hero-photo {

  grid-column: 1;

  grid-row: 2;

  position: relative;

  height: 260px;

  min-height: 260px;

  max-height: 280px;

  margin: 0;

  border-radius: var(--radius-img);

  overflow: hidden;

  background: #0c4b6c;

  align-self: start;

}


.hero-photo img {

  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

}


.hero-photo figcaption {

  position: absolute;

  left: 0;

  right: 0;

  bottom: 0;

  padding: 2.5rem 1.2rem 1.15rem;

  background: linear-gradient(
    180deg,
    rgba(12, 75, 108, 0) 0%,
    rgba(12, 75, 108, 0.55) 28%,
    rgba(12, 75, 108, 0.9) 62%,
    rgba(12, 75, 108, 0.96) 100%
  );

  color: #fff;

  font-size: 0.92rem;

  line-height: 1.45;

  text-shadow: 0 1px 2px rgba(8, 40, 58, 0.45);

}


.hero-photo cite {

  display: block;

  margin-top: 0.35rem;

  font-style: normal;

  font-weight: 700;

  font-size: 0.8rem;

  color: var(--accent);

}


.step {

  overflow: hidden;

  padding: 0;

}


.step-photo {

  height: 260px;

  overflow: hidden;

  background: var(--paper);

  line-height: 0;

}


.step-photo img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center 22%;

}


.step:nth-child(1) .step-photo img { object-position: center 28%; }

.step:nth-child(2) .step-photo img { object-position: center 24%; }

.step:nth-child(3) .step-photo img { object-position: center 18%; }


.step-body {

  padding: 1.25rem 1.5rem 1.5rem;

}


.why-grid {

  display: grid;

  grid-template-columns: 1.05fr 0.95fr;

  gap: 2rem;

  align-items: stretch;

}


.why-photo {

  min-height: 100%;

  border-radius: var(--radius-img);

  background:

    linear-gradient(180deg, rgba(12, 75, 108, 0.15), rgba(12, 75, 108, 0.45)),

    url("img/tenders-img.jpg") center / cover;

}


.why-list {

  margin: 0;

  padding: 0;

  list-style: none;

}


.why-list li {

  padding: 1rem 0;

  border-bottom: 1px solid var(--line);

}


.why-list li:first-child { padding-top: 0; }


.why-list li:last-child {

  border-bottom: none;

  padding-bottom: 0;

}


.why-list strong {

  display: block;

  color: var(--ink-heading);

  margin-bottom: 0.25rem;

}


.why-list span { color: var(--ink-soft); font-size: 0.95rem; }


.why-list li:last-child span {

  display: block;

}


.why-book-btn {

  display: inline-flex;

  margin-top: 0.85rem;

  width: fit-content;

}


.form-book-link {

  margin: 0.85rem 0 0;

  font-size: 0.92rem;

  color: var(--ink-soft);

}


.form-book-link a {

  font-weight: 600;

  color: var(--brand);

  text-decoration: none;

}


.form-book-link a:hover {

  text-decoration: underline;

}


.form-status {

  display: none;

  margin: 0.75rem 0 0;

  padding: 0.75rem 0.85rem;

  border-radius: 12px;

  font-size: 0.92rem;

  font-weight: 600;

}


.form-status.is-visible {

  display: block;

}


.form-status.is-error {

  background: rgba(180, 40, 40, 0.08);

  color: #8b2020;

}


.form-status.is-success {

  background: rgba(70, 231, 183, 0.22);

  color: var(--brand);

}


.hero-convert .enquire {

  padding: 0;

  background: transparent;

}


.hero-convert .convert-card {

  margin: 0;

}


.proof-row {

  display: flex;

  flex-wrap: wrap;

  gap: 0.75rem;

  margin: 1.15rem 0 0;

  padding: 0.35rem 0 0.15rem;

}


.proof-row .stat {

  flex: 1 1 7rem;

  padding: 0.85rem 0.7rem;

}


.proof-row .stat strong {

  font-size: 1.35rem;

}


.form-trust {

  margin: 0.75rem 0 0;

  font-size: 0.9rem;

  font-weight: 600;

  color: var(--brand);

}


.also-lede {

  margin: -1rem auto 1.5rem;

  max-width: 36rem;

  text-align: center;

  color: var(--ink-soft);

}


.section-tight {

  padding: var(--ppc-section-pad) 0;

}


body.ppc .trust-band {

  padding: var(--ppc-section-pad) 0;

}


body.ppc .section.grow.section-tight {

  padding: var(--ppc-section-pad) 0;

}


.section h2.section-title-left {

  text-align: left;

}


.why-lede {

  margin: 0 0 1.25rem;

  color: var(--ink-soft);

  font-size: 1.02rem;

}


.book-section {

  padding: var(--ppc-section-pad) 0;

  background: var(--ppc-band-bg);

}


.book-card {

  max-width: 40rem;

  margin: 0 auto;

  padding: 2rem 2rem 2.15rem;

  box-shadow: 0 16px 40px rgba(12, 75, 108, 0.08);

}


.book-card .eyebrow {

  margin-bottom: 0.45rem;

}


.btn-book-open {

  margin-top: 0.15rem;

}


.calendly-wrap {

  margin-top: 1.25rem;

}


.calendly-wrap[hidden] {

  display: none;

}


.convert-card h2 {

  margin: 0 0 0.4rem;

  text-align: left;

  font-size: 1.65rem;

}


.intro .convert-card h2 {

  font-size: 1.65rem;

  margin: 0 0 0.4rem;

  letter-spacing: -0.02em;

}


.convert-card .sub { margin: 0 0 1.15rem; color: var(--ink-soft); }


.privacy-line {

  margin: 0.75rem 0 0;

  font-size: 0.85rem;

  color: var(--muted);

}


.calendly-frame {

  width: 100%;

  min-height: 620px;

  border: 0;

  border-radius: 12px;

  background: var(--paper);

}


.faq-list {

  max-width: 44rem;

  margin: 0 auto;

}


.faq-list details {

  border-bottom: 1px solid var(--line);

  padding: 1rem 0;

}


.faq-list summary {

  cursor: pointer;

  font-weight: 600;

  color: var(--ink-heading);

  min-height: var(--tap);

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 1rem;

  list-style: none;

}


.faq-list summary::-webkit-details-marker,

.faq-list summary::marker {

  display: none;

  content: none;

}


.faq-list summary::after {

  content: "";

  width: 0.5rem;

  height: 0.5rem;

  flex-shrink: 0;

  border-right: 2px solid var(--brand);

  border-bottom: 2px solid var(--brand);

  transform: rotate(45deg);

  transition: transform 0.2s var(--ease);

  margin-top: -0.2rem;

}


.faq-list details[open] summary::after {

  transform: rotate(225deg);

  margin-top: 0.15rem;

}


.faq-list p {

  margin: 0.5rem 0 0;

  color: var(--ink-soft);

}


.ppc-footer {

  padding: 0;

  border-top: none;

  background: transparent;

  color: rgba(255, 255, 255, 0.88);

}


.ppc-footer-main {

  position: relative;

  padding: 2.75rem 0 2.5rem;

  background: var(--brand);

}


.ppc-footer-main::before {

  content: "";

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  height: 3px;

  background: linear-gradient(

    90deg,

    transparent,

    var(--accent) 18%,

    var(--mint-soft) 50%,

    var(--accent) 82%,

    transparent

  );

}


.ppc-footer-grid {

  display: grid;

  grid-template-columns: auto minmax(0, 1fr) auto;

  gap: 2rem 3.25rem;

  align-items: center;

}


.ppc-footer-logo {

  display: inline-block;

  margin-bottom: 0.75rem;

}


.ppc-footer-logo img {

  height: var(--ppc-footer-logo-h);

  width: auto;

  max-width: calc(var(--ppc-footer-logo-h) * 243 / 19);

}


.ppc-footer-tagline {

  margin: 0;

  max-width: 22rem;

  color: rgba(255, 255, 255, 0.78);

  font-size: 0.98rem;

  line-height: 1.5;

}


.ppc-footer-proof {

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  gap: 1rem 2.25rem;

  padding: 0 0.25rem;

  min-width: 0;

}


.ppc-footer-stat {

  position: relative;

  min-width: 5.25rem;

  padding: 0 1.1rem;

  flex: 0 0 auto;

  text-align: center;

}


.ppc-footer-stat:not(:last-child)::after {

  content: "";

  position: absolute;

  top: 0.15rem;

  right: -1.125rem;

  width: 1px;

  height: calc(100% - 0.3rem);

  background: rgba(255, 255, 255, 0.16);

}


.ppc-footer-stat strong {

  display: block;

  font-family: var(--font-display);

  font-size: clamp(1.35rem, 2vw, 1.65rem);

  font-weight: 700;

  color: var(--accent);

  line-height: 1.1;

  letter-spacing: -0.02em;

}


.ppc-footer-stat span {

  display: block;

  margin-top: 0.3rem;

  font-size: 0.8rem;

  font-weight: 600;

  color: rgba(255, 255, 255, 0.72);

  line-height: 1.25;

}


.ppc-footer-aside {

  display: flex;

  flex-direction: column;

  align-items: flex-end;

  gap: 0.4rem;

  text-align: right;

}


.ppc-footer-note {

  margin: 0;

  color: rgba(255, 255, 255, 0.72);

  font-size: 0.88rem;

  max-width: 14rem;

}


.ppc-footer a.ppc-footer-phone {

  font-family: var(--font-display);

  font-size: 1.45rem;

  font-weight: 700;

  color: var(--accent);

  text-decoration: none;

  letter-spacing: 0.01em;

}


.ppc-footer a.ppc-footer-phone:hover {

  color: var(--mint-soft);

}


.ppc-footer a.ppc-footer-site {

  color: #fff;

  text-decoration: none;

  font-size: 0.95rem;

}


.ppc-footer a.ppc-footer-site:hover {

  color: var(--accent);

}


.ppc-footer-bar {

  background: #083549;

  padding: 1rem 0;

  font-size: 0.875rem;

  color: rgba(255, 255, 255, 0.72);

}


.ppc-footer-bar-inner {

  display: flex;

  flex-wrap: wrap;

  gap: 0.85rem 1.5rem;

  align-items: center;

  justify-content: space-between;

}


.ppc-footer-bar a {

  color: rgba(255, 255, 255, 0.88);

  text-decoration: none;

}


.ppc-footer-bar a:hover {

  color: var(--accent);

}


.ppc-footer-socials {

  display: flex;

  gap: 0.5rem;

}


.ppc-footer-socials a {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 36px;

  height: 36px;

  border-radius: 8px;

  background: rgba(255, 255, 255, 0.08);

  color: #fff;

  transition: background var(--t), color var(--t);

}


.ppc-footer-socials a:hover {

  background: rgba(70, 231, 183, 0.18);

  color: var(--accent);

}


select {

  width: 100%;

  padding: 0.7rem 2.2rem 0.7rem 0.85rem;

  border: 1px solid var(--line);

  border-radius: 12px;

  font: inherit;

  background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230C4B6C' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 0.85rem center;

  appearance: none;

}


select:focus {

  outline: 2px solid rgba(70, 231, 183, 0.65);

  border-color: var(--brand);

}


.thank-you {

  padding: calc(var(--header-h) + var(--header-offset) + 4rem) 0 5rem;

  min-height: 70vh;

}


.thank-you h1 {

  margin: 0 0 1rem;

  font-size: clamp(2rem, 4vw, 3rem);

  color: var(--ink-heading);

  letter-spacing: -0.02em;

}


.thank-you .lede { max-width: 38rem; color: var(--ink-soft); }


@media (max-width: 980px) {

  .services-grid,

  .also-grid,

  .steps,

  .convert-grid,

  .why-grid { grid-template-columns: 1fr; }


  .hero-convert .intro-grid {

    grid-template-columns: 1fr;

    grid-template-rows: none;

    gap: 1.25rem;

  }


  .hero-copy {

    grid-column: auto;

    grid-row: auto;

    order: 1;

  }


  .hero-convert .enquire {

    grid-column: auto;

    grid-row: auto;

    order: 2;

  }


  .hero-photo {

    grid-column: auto;

    grid-row: auto;

    order: 3;

    height: auto;

    min-height: 520px;

    max-height: none;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

  }

  .hero-photo figcaption {

    position: relative;

    z-index: 1;

    padding: 3rem 1.15rem 1.15rem;

    background: linear-gradient(
      180deg,
      rgba(12, 75, 108, 0) 0%,
      rgba(12, 75, 108, 0.62) 22%,
      rgba(12, 75, 108, 0.92) 52%,
      rgba(12, 75, 108, 0.97) 100%
    );

  }

  /* Mobile: logos first, teal quotes after How it works (avoids back-to-back testimonials) */
  .ppc-lp-root {

    display: flex;

    flex-direction: column;

  }

  .trust-band,

  .trust-band .trust-grid {

    display: contents;

  }

  .trust-band .trust-grid > :has(.logo-strip) {

    order: 2;

    width: min(var(--max-wide), calc(100% - 3rem));

    margin-inline: auto;

    padding-block: var(--ppc-section-pad);

  }

  .ppc-lp-root > .section.section-tight:has(.steps) {

    order: 3;

  }

  .quote-card {

    order: 4;

    width: min(var(--max-wide), calc(100% - 3rem));

    margin: 0 auto var(--ppc-section-pad);

  }

  .sectors { order: 5; }

  .ppc-lp-root > .section.grow { order: 6; }

  .ppc-lp-root > .section.section-tight:has([data-acf^="ppc_faq"]) { order: 7; }

  .book-section { order: 8; }

  .ppc-lp-root > .site-footer { order: 9; }


  .why-photo { min-height: 240px; }

  body.ppc .btn-phone span { display: none; }

  body.ppc .header-actions .btn-outline,

  body.ppc .header-actions .btn-secondary { display: none; }

  .calendly-frame { min-height: 640px; }

  .hero-convert {

    padding: calc(var(--header-h) + var(--header-offset) + 2.25rem) 0 var(--ppc-section-pad);

  }


  .trust-heading { text-align: center; }

  .logo-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }


  .ppc-footer-grid {

    grid-template-columns: 1fr;

    gap: 1.75rem;

    align-items: start;

  }


  .ppc-footer-proof {

    justify-content: flex-start;

    padding: 0;

  }


  .ppc-footer-aside {

    align-items: flex-start;

    text-align: left;

  }

}


.btn-label-short { display: none; }


/* Small screens: header must fit logo + phone + one primary CTA inside the pill */

@media (max-width: 640px) {

  :root { --header-h: 64px; --ppc-logo-h: 20px; }


  body.ppc .site-header .bar {

    padding: 8px 10px 8px 14px;

    gap: 6px;

  }


  body.ppc .logo img {

    max-width: min(calc(var(--ppc-logo-h) * 243 / 19), 46vw);

  }


  body.ppc .header-actions { gap: 6px; }


  body.ppc .header-actions .btn {

    padding: 8px 14px;

    font-size: 0.95rem;

  }


  .header-actions .btn-label-full,

  .header-actions .btn .arrow { display: none; }

  .header-actions .btn-label-short { display: inline; }


  .hero-photo {

    height: auto;

    min-height: 500px;

  }

  .hero-photo figcaption {

    position: relative;

    z-index: 1;

    font-size: 0.88rem;

    line-height: 1.4;

    padding: 3rem 1rem 1.1rem;

  }

  .proof-row .stat { flex: 1 1 8rem; }


  .ppc-footer-main { padding: 2.25rem 0 2rem; }


  .ppc-footer-phone { font-size: 1.25rem; }


  .ppc-footer-bar-inner {

    flex-direction: column;

    align-items: flex-start;

  }


  .ppc-footer-socials { margin-top: 0.15rem; }

}


@media (prefers-reduced-motion: reduce) {

  html { scroll-behavior: auto; }

  *, *::before, *::after {

    animation-duration: 0.01ms !important;

    animation-iteration-count: 1 !important;

    transition-duration: 0.01ms !important;

  }

}


.sectors {

  background: var(--brand);

  color: #fff;

  padding: 3.25rem 0;

}


.sectors h2 {

  margin: 0 0 0.75rem;

  color: #fff;

  text-align: center;

  font-size: clamp(1.65rem, 3vw, 2.35rem);

}


.sectors-lede {

  margin: 0 auto 2rem;

  max-width: 46rem;

  text-align: center;

  color: rgba(255, 255, 255, 0.88);

  font-size: 1.02rem;

}


.sectors-grid {

  list-style: none;

  margin: 0;

  padding: 0;

  display: grid;

  grid-template-columns: repeat(6, 1fr);

  gap: 1.75rem 1.1rem;

}


.sectors-grid li {

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 0.7rem;

  text-align: center;

}


.sectors-grid img {

  width: 88px;

  height: 80px;

  object-fit: contain;

  display: block;

}


.sectors-grid span {

  font-size: 0.88rem;

  line-height: 1.3;

  font-weight: 600;

  color: #fff;

}


@media (max-width: 980px) {

  .sectors-grid { grid-template-columns: repeat(3, 1fr); }

}


@media (max-width: 640px) {

  .sectors-grid { grid-template-columns: repeat(2, 1fr); }

}


html.ppc-lp .ct-header, html.ppc-lp header.ct-header, html.ppc-lp .ct-footer, html.ppc-lp footer.ct-footer, html.ppc-lp .entry-header, html.ppc-lp .hero-section[data-type], html.ppc-lp .ct-sidebar, html.ppc-lp .ct-popup, html.ppc-lp .ct-newsletter, html.ppc-lp .blocksy-newsletter-subscribe { display: none !important; }

body.ppc #main, body.ppc main#main, body.ppc .ct-container, body.ppc .ct-container-full, body.ppc .entry-content { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }

body.ppc .gform_heading, body.ppc .gform_wrapper .gform_required_legend { display: none; }

body.ppc .gform_wrapper { margin: 0; padding: 0; }

body.ppc .gform_wrapper .gform_fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; padding: 0; }

body.ppc .gform_wrapper .gfield { padding: 0; margin: 0; }

body.ppc .gform_wrapper .gfield--type-hidden, body.ppc .gform_wrapper .gform_validation_container { display: none !important; }

body.ppc .gform_wrapper .gfield--type-textarea, body.ppc .gform_wrapper .gfield--type-consent, body.ppc .gform_wrapper .gform_footer { grid-column: 1 / -1; }

@media (max-width: 640px) { body.ppc .gform_wrapper .gform_fields { grid-template-columns: 1fr; } }
