:root {
  --navy: #002046;
  --navy-deep: #00162f;
  --navy-soft: #0b315e;
  --green: #26b046;
  --green-dark: #137a2b;
  --green-pale: #eaf7ed;
  --charcoal: #111112;
  --ink: #1b2735;
  --muted: #5e6b78;
  --line: #dce3e7;
  --surface: #f5f7f5;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(0, 32, 70, 0.1);
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --container: 1200px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

body.menu-open {
  overflow: hidden;
}

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

a {
  color: inherit;
  text-decoration: none;
}

a[data-unbuilt-page] {
  color: inherit;
  cursor: inherit;
  pointer-events: none;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

:focus-visible {
  outline: 3px solid rgba(38, 176, 70, 0.55);
  outline-offset: 4px;
}

h1,
h2,
h3,
p,
blockquote {
  margin-top: 0;
}

h1,
h2,
h3 {
  color: var(--navy);
  font-weight: 780;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

h1 {
  max-width: 820px;
  margin-bottom: 26px;
  color: var(--white);
  font-size: clamp(3.25rem, 6vw, 6.3rem);
}

h1 em {
  color: var(--white);
  font-style: normal;
}

h2 {
  margin-bottom: 24px;
  font-size: clamp(2.15rem, 4vw, 4.15rem);
}

h3 {
  margin-bottom: 15px;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

p {
  margin-bottom: 1.15em;
}

.container {
  width: min(calc(100% - 48px), var(--container));
  margin-inline: auto;
}

.section {
  padding: 112px 0;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 12px 18px;
  border-radius: 8px;
  color: var(--white);
  background: var(--navy);
  transform: translateY(-140%);
  transition: transform 0.2s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--green-dark);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.eyebrow > span {
  width: 34px;
  height: 3px;
  background: var(--green);
}

.eyebrow-light {
  color: #9fe0ae;
}

.lead-copy {
  color: var(--navy);
  font-size: 1.24rem;
  font-weight: 650;
  line-height: 1.5;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 15px 22px;
  border: 2px solid transparent;
  border-radius: 8px;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.015em;
  line-height: 1.2;
  text-align: center;
  transition: transform 0.2s ease, color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button-primary {
  color: var(--navy);
  background: var(--green);
  box-shadow: 0 12px 28px rgba(38, 176, 70, 0.22);
}

.button-primary:hover {
  color: var(--white);
  background: var(--green-dark);
}

.button-navy {
  color: var(--white);
  background: var(--navy);
}

.button-navy:hover {
  background: var(--navy-soft);
}

.button-outline-light {
  border-color: rgba(255, 255, 255, 0.5);
  color: var(--white);
  background: transparent;
}

.button-outline-light:hover {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.08);
}

.button-small {
  min-height: 44px;
  padding: 11px 16px;
  font-size: 0.82rem;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  color: var(--navy);
  font-size: 0.94rem;
  font-weight: 800;
}

.text-link span {
  color: var(--green);
  font-size: 1.35em;
  transition: transform 0.2s ease;
}

.text-link:hover span {
  transform: translateX(4px);
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(0, 32, 70, 0.08);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(18px);
}

.header-inner {
  display: flex;
  min-height: 92px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  flex: 0 0 auto;
}

.brand-full img {
  width: 336px;
  height: auto;
}

.brand-icon {
  display: none;
  width: 58px;
  height: 58px;
  overflow: hidden;
}

.brand-icon img {
  width: auto;
  max-width: none;
  height: 58px;
}

.primary-nav {
  display: flex;
  align-items: center;
  gap: 24px;
}

.nav-list,
.nav-dropdown,
.site-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-list {
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-list > li {
  position: relative;
}

.nav-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 6px;
  padding: 10px 11px;
  border: 0;
  color: var(--navy);
  background: transparent;
  font-size: 0.88rem;
  font-weight: 750;
  cursor: pointer;
}

.nav-link:hover,
.nav-link.is-current {
  color: var(--green-dark);
}

.nav-dropdown-toggle span {
  color: var(--green);
  font-size: 1.1rem;
  transition: transform 0.2s ease;
}

.nav-dropdown-toggle[aria-expanded="true"] span {
  transform: rotate(45deg);
}

.nav-dropdown {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  width: 260px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.nav-dropdown a {
  display: block;
  padding: 11px 12px;
  border-radius: 8px;
  color: var(--navy);
  font-size: 0.88rem;
  font-weight: 700;
}

.nav-dropdown a:hover {
  color: var(--green-dark);
  background: var(--green-pale);
}

.nav-item-has-children:hover .nav-dropdown,
.nav-item-has-children:focus-within .nav-dropdown,
.nav-dropdown-toggle[aria-expanded="true"] + .nav-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.menu-toggle {
  display: none;
  min-height: 46px;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--navy);
  background: var(--white);
  font-size: 0.84rem;
  font-weight: 800;
  cursor: pointer;
}

.menu-toggle-lines,
.menu-toggle-lines::before,
.menu-toggle-lines::after {
  display: block;
  width: 19px;
  height: 2px;
  background: currentColor;
  content: "";
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.menu-toggle-lines {
  position: relative;
}

.menu-toggle-lines::before {
  position: absolute;
  top: -6px;
}

.menu-toggle-lines::after {
  position: absolute;
  top: 6px;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-lines {
  background: transparent;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-lines::before {
  top: 0;
  transform: rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle-lines::after {
  top: 0;
  transform: rotate(-45deg);
}

/* Hero */
.hero {
  position: relative;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.78);
  background: var(--navy);
}

.hero::before {
  position: absolute;
  top: -220px;
  right: -120px;
  width: 700px;
  height: 700px;
  border: 1px solid rgba(38, 176, 70, 0.32);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(38, 176, 70, 0.025), 0 0 0 180px rgba(38, 176, 70, 0.018);
  content: "";
}

.hero-grid {
  position: absolute;
  inset: 0;
  opacity: 0.17;
  background-image: linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, transparent, black 60%);
}

.hero-inner {
  position: relative;
  display: grid;
  min-height: 760px;
  align-items: center;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.65fr);
  gap: 70px;
  padding-top: 92px;
  padding-bottom: 104px;
}

.hero-copy {
  position: relative;
  z-index: 1;
}

.hero-lead {
  max-width: 760px;
  margin-bottom: 14px;
  color: var(--white);
  font-size: clamp(1.24rem, 2vw, 1.55rem);
  font-weight: 600;
  line-height: 1.5;
}

.hero-support {
  max-width: 760px;
  font-size: 1.04rem;
}

.hero-panel {
  position: relative;
  z-index: 1;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius-lg);
  background: rgba(0, 14, 32, 0.68);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(12px);
}

.panel-kicker {
  margin-bottom: 24px;
  color: #9fe0ae;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.growth-path {
  display: grid;
  gap: 12px;
}

.growth-step {
  display: grid;
  align-items: center;
  gap: 15px;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.055);
  grid-template-columns: 44px 1fr;
}

.growth-step strong,
.growth-step span {
  display: block;
}

.growth-step strong {
  margin-bottom: 2px;
  color: var(--white);
}

.growth-step div span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.83rem;
  line-height: 1.45;
}

.growth-number {
  display: grid !important;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  color: var(--navy);
  background: var(--green);
  font-size: 0.75rem;
  font-weight: 900;
}

.growth-arrow {
  display: flex;
  height: 84px;
  align-items: flex-end;
  gap: 8px;
  padding: 20px 10px 4px;
}

.growth-arrow span {
  display: block;
  width: 20%;
  border-radius: 3px 3px 0 0;
  background: var(--green);
}

.growth-arrow span:nth-child(1) { height: 18px; opacity: 0.45; }
.growth-arrow span:nth-child(2) { height: 32px; opacity: 0.65; }
.growth-arrow span:nth-child(3) { height: 50px; }

.growth-arrow i {
  position: relative;
  align-self: center;
  width: 30%;
  height: 4px;
  margin-top: 10px;
  background: var(--green);
  transform: rotate(-32deg);
  transform-origin: left center;
}

.growth-arrow i::after {
  position: absolute;
  top: -6px;
  right: -2px;
  width: 13px;
  height: 13px;
  border-top: 4px solid var(--green);
  border-right: 4px solid var(--green);
  content: "";
  transform: rotate(45deg);
}

.trust-strip {
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.trust-grid {
  display: grid;
  min-height: 82px;
  align-items: center;
  grid-template-columns: repeat(4, 1fr);
}

.trust-grid span {
  position: relative;
  color: var(--navy);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;
}

.trust-grid span:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--green);
  content: "";
  transform: translateY(-50%);
}

/* Core sections */
.section-intro {
  background: var(--white);
}

.split-layout {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 100px;
}

.section-heading {
  position: sticky;
  top: 145px;
}

.prose {
  max-width: 730px;
}

.prose p:last-child {
  margin-bottom: 0;
}

.services-section {
  background: var(--surface);
}

.section-title-row {
  display: grid;
  align-items: end;
  margin-bottom: 54px;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.75fr);
  gap: 70px;
}

.section-title-row h2 {
  margin-bottom: 0;
}

.section-title-row > p {
  margin-bottom: 4px;
  color: var(--muted);
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.service-card {
  display: flex;
  min-height: 340px;
  flex-direction: column;
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: 0 12px 40px rgba(0, 32, 70, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.service-card:hover {
  border-color: rgba(38, 176, 70, 0.55);
  box-shadow: var(--shadow);
  transform: translateY(-5px);
}

.service-card-featured {
  grid-column: span 2;
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy);
}

.service-card-featured h3,
.service-card-featured .text-link {
  color: var(--white);
}

.service-card p {
  color: var(--muted);
  font-size: 0.96rem;
}

.service-card-featured p {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.72);
}

.card-number {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 38px;
  place-items: center;
  border-radius: 50%;
  color: var(--navy);
  background: var(--green-pale);
  font-size: 0.73rem;
  font-weight: 900;
}

.service-card-featured .card-number {
  color: var(--navy);
  background: var(--green);
}

.search-section {
  overflow: hidden;
  background: var(--white);
}

.feature-layout {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.84fr);
  gap: 90px;
}

.feature-layout-reverse {
  grid-template-columns: minmax(380px, 0.82fr) minmax(0, 1fr);
}

.feature-copy p:not(.eyebrow) {
  color: var(--muted);
}

.feature-copy .note-copy {
  padding: 18px 20px;
  border-left: 4px solid var(--green);
  color: var(--navy);
  background: var(--green-pale);
  font-size: 0.92rem;
}

.search-visual {
  position: relative;
  padding: 22px 28px 74px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.search-bar {
  display: flex;
  gap: 6px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.search-bar span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c2cbd2;
}

.search-query {
  margin: 24px 0 26px;
  padding: 13px 16px;
  border: 1px solid var(--line);
  border-radius: 24px;
  color: var(--navy);
  background: var(--white);
  font-size: 0.83rem;
}

.search-result {
  margin-bottom: 23px;
}

.result-url {
  display: block;
  margin-bottom: 5px;
  color: var(--green-dark);
  font-size: 0.69rem;
}

.search-result strong {
  display: block;
  margin-bottom: 6px;
  color: #174ea6;
  font-size: 1.07rem;
  line-height: 1.35;
}

.search-result p {
  margin: 0;
  color: var(--muted);
  font-size: 0.77rem;
  line-height: 1.5;
}

.muted-result span {
  display: block;
  width: 94%;
  height: 9px;
  margin-bottom: 8px;
  border-radius: 6px;
  background: #dde3e7;
}

.muted-result span:nth-child(1) {
  width: 58%;
  height: 12px;
  background: #c6d0d8;
}

.muted-result span:nth-child(3) {
  width: 78%;
}

.short span:nth-child(2) {
  width: 65%;
}

.search-annotation {
  position: absolute;
  right: -34px;
  bottom: -32px;
  width: 240px;
  padding: 20px;
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy);
  box-shadow: 0 18px 45px rgba(0, 32, 70, 0.2);
}

.search-annotation b,
.search-annotation span {
  display: block;
}

.search-annotation b {
  margin-bottom: 4px;
  color: var(--white);
}

.search-annotation span {
  font-size: 0.78rem;
  line-height: 1.5;
}

.local-section {
  position: relative;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy);
}

.local-section::after {
  position: absolute;
  right: -180px;
  bottom: -320px;
  width: 640px;
  height: 640px;
  border: 1px solid rgba(38, 176, 70, 0.28);
  border-radius: 50%;
  content: "";
}

.local-heading {
  position: relative;
  z-index: 1;
  max-width: 850px;
  margin-bottom: 54px;
}

.local-heading h2 {
  color: var(--white);
}

.local-heading > p:last-child {
  max-width: 780px;
  font-size: 1.08rem;
}

.local-signal-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.signal-card {
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.055);
}

.signal-card > span {
  display: block;
  margin-bottom: 52px;
  color: var(--green);
  font-size: 0.76rem;
  font-weight: 900;
}

.signal-card h3 {
  color: var(--white);
}

.signal-card p {
  margin-bottom: 0;
  font-size: 0.93rem;
}

.local-bottom {
  position: relative;
  z-index: 1;
  display: grid;
  align-items: end;
  margin-top: 42px;
  grid-template-columns: 1fr auto;
  gap: 70px;
}

.local-bottom p {
  max-width: 710px;
  margin: 0;
}

.local-bottom .button-row {
  margin-top: 0;
}

.website-section {
  background: var(--surface);
}

.website-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.website-card {
  display: flex;
  min-height: 430px;
  flex-direction: column;
  padding: 42px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
}

.website-card:nth-child(2) {
  border-top: 5px solid var(--green);
}

.website-card-label {
  display: inline-flex;
  width: max-content;
  margin-bottom: 38px;
  padding: 7px 10px;
  border-radius: 5px;
  color: var(--green-dark);
  background: var(--green-pale);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.website-card > p {
  color: var(--muted);
}

.check-list {
  display: grid;
  gap: 11px;
  margin: 8px 0 30px;
  padding: 0;
  list-style: none;
}

.check-list li {
  position: relative;
  padding-left: 30px;
  color: var(--navy);
  font-size: 0.93rem;
  font-weight: 650;
}

.check-list li::before {
  position: absolute;
  top: 0.34em;
  left: 0;
  width: 15px;
  height: 8px;
  border-bottom: 3px solid var(--green);
  border-left: 3px solid var(--green);
  content: "";
  transform: rotate(-45deg);
}

.website-card .text-link {
  margin-top: auto;
}

.conversion-section {
  background: var(--white);
}

.conversion-principle {
  padding: 45px;
  border-radius: var(--radius-lg);
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy);
  box-shadow: var(--shadow);
}

.principle-label {
  display: block;
  margin-bottom: 30px;
  color: #9fe0ae;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.conversion-principle blockquote {
  color: var(--white);
  font-size: clamp(1.65rem, 3vw, 2.5rem);
  font-weight: 740;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.principle-path {
  display: grid;
  align-items: center;
  margin-top: 42px;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 8px;
  color: var(--white);
  font-size: 0.8rem;
  font-weight: 800;
  text-align: center;
}

.principle-path span {
  padding: 10px 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.06);
}

.principle-path i {
  color: var(--green);
  font-style: normal;
}

.foundations-section {
  padding-top: 0;
  background: var(--white);
}

.foundations-grid {
  display: grid;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  grid-template-columns: repeat(3, 1fr);
}

.foundation-block {
  padding: 44px 34px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.foundation-index {
  display: block;
  margin-bottom: 70px;
  color: var(--green-dark);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.foundation-block h2 {
  font-size: clamp(1.75rem, 2.3vw, 2.5rem);
}

.foundation-block p {
  color: var(--muted);
  font-size: 0.93rem;
}

.strategy-section {
  background: var(--surface);
}

.strategy-intro {
  max-width: 830px;
  margin-bottom: 56px;
}

.strategy-intro > p:last-child {
  max-width: 740px;
  color: var(--muted);
}

.strategy-steps {
  display: grid;
  margin: 0;
  padding: 0;
  counter-reset: none;
  grid-template-columns: repeat(5, 1fr);
  list-style: none;
}

.strategy-steps li {
  position: relative;
  min-height: 320px;
  padding: 30px 24px;
  border-top: 3px solid var(--navy);
  border-right: 1px solid var(--line);
  background: var(--white);
}

.strategy-steps li:last-child {
  border-right: 0;
  border-top-color: var(--green);
}

.strategy-steps li > span {
  display: block;
  margin-bottom: 80px;
  color: var(--green-dark);
  font-size: 0.75rem;
  font-weight: 900;
}

.strategy-steps h3 {
  font-size: 1.35rem;
}

.strategy-steps p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.85rem;
  line-height: 1.55;
}

.belfast-section {
  background: var(--white);
}

.audit-section {
  position: relative;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy);
}

.audit-section::before {
  position: absolute;
  top: -160px;
  left: -160px;
  width: 460px;
  height: 460px;
  border: 70px solid rgba(38, 176, 70, 0.06);
  border-radius: 50%;
  content: "";
}

.audit-layout {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.78fr);
  gap: 90px;
}

.audit-copy h2 {
  color: var(--white);
}

.audit-lead {
  color: var(--white);
  font-size: 1.2rem;
  font-weight: 620;
}

.audit-card {
  padding: 38px;
  border-radius: var(--radius-lg);
  color: var(--ink);
  background: var(--white);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.18);
}

.audit-card-label {
  display: block;
  margin-bottom: 26px;
  color: var(--green-dark);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.audit-card ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.audit-card li {
  display: grid;
  align-items: start;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  color: var(--navy);
  font-size: 0.93rem;
  font-weight: 650;
  grid-template-columns: 45px 1fr;
  gap: 10px;
}

.audit-card li span {
  color: var(--green-dark);
  font-size: 0.72rem;
  font-weight: 900;
}

.faq-section {
  background: var(--surface);
}

.faq-layout {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(280px, 0.65fr) minmax(0, 1.35fr);
  gap: 90px;
}

.faq-heading {
  position: sticky;
  top: 145px;
}

.faq-heading > p:last-child {
  color: var(--muted);
}

.faq-list {
  border-top: 1px solid #bec9d0;
}

.faq-list details {
  border-bottom: 1px solid #bec9d0;
}

.faq-list summary {
  position: relative;
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 21px 4px;
  color: var(--navy);
  font-size: 1.08rem;
  font-weight: 760;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary span {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}

.faq-list summary span::before,
.faq-list summary span::after {
  position: absolute;
  top: 11px;
  left: 4px;
  width: 16px;
  height: 2px;
  background: var(--green-dark);
  content: "";
  transition: transform 0.2s ease;
}

.faq-list summary span::after {
  transform: rotate(90deg);
}

.faq-list details[open] summary span::after {
  transform: rotate(0);
}

.faq-list details > div {
  padding: 0 48px 23px 4px;
  color: var(--muted);
}

.faq-list details > div p {
  margin: 0;
}

.final-cta {
  padding: 92px 0;
  color: rgba(255, 255, 255, 0.75);
  background: var(--navy-deep);
}

.final-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr);
  gap: 90px;
}

.final-cta h2 {
  max-width: 700px;
  margin-bottom: 0;
  color: var(--white);
}

.final-cta-inner > div:last-child > p {
  margin-bottom: 0;
}

/* Footer */
.site-footer {
  padding: 72px 0 24px;
  border-top: 5px solid var(--green);
  background: var(--white);
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.8fr) repeat(3, 1fr);
  gap: 58px;
}

.footer-brand img {
  width: 320px;
  height: auto;
  object-fit: contain;
  margin-bottom: 24px;
}

.footer-brand p {
  max-width: 410px;
  color: var(--muted);
  font-size: 0.91rem;
}

.site-footer h2 {
  margin-bottom: 20px;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.site-footer li {
  margin-bottom: 9px;
}

.site-footer li a {
  color: var(--muted);
  font-size: 0.88rem;
}

.site-footer li a:hover {
  color: var(--green-dark);
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 60px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.78rem;
}

.footer-bottom p {
  margin: 0;
}

.footer-email-link {
  color: var(--navy);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.footer-email-link:hover {
  color: var(--green-dark);
}

/* Organic SEO services page */
.service-hero {
  position: relative;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.74);
  background: var(--navy);
}

.service-hero::before {
  position: absolute;
  top: -300px;
  right: -250px;
  width: 820px;
  height: 820px;
  border: 1px solid rgba(38, 176, 70, 0.24);
  border-radius: 50%;
  box-shadow: 0 0 0 100px rgba(38, 176, 70, 0.025), 0 0 0 220px rgba(38, 176, 70, 0.018);
  content: "";
}

.service-hero > .container {
  position: relative;
  z-index: 1;
  padding-top: 28px;
  padding-bottom: 100px;
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 64px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.77rem;
  font-weight: 700;
}

.breadcrumb a:hover {
  color: var(--white);
}

.breadcrumb span[aria-current="page"] {
  color: #9fe0ae;
}

.service-hero-layout {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1.22fr) minmax(380px, 0.78fr);
  gap: 76px;
}

.service-hero-copy h1 {
  max-width: 820px;
  font-size: clamp(3rem, 5.4vw, 5.8rem);
}

.service-hero-copy > p:not(.eyebrow) {
  max-width: 790px;
}

.service-hero-lead {
  margin-bottom: 15px;
  color: var(--white);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 620;
  line-height: 1.5;
}

.seo-dashboard {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-lg);
  background: rgba(0, 12, 29, 0.7);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(12px);
}

.seo-dashboard-head,
.measurement-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.seo-dashboard-head > span:first-child {
  color: var(--white);
}

.dashboard-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #9fe0ae;
}

.dashboard-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(38, 176, 70, 0.12);
}

.seo-chart {
  position: relative;
  height: 220px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
}

.chart-grid {
  position: absolute;
  inset: 0;
  opacity: 0.45;
  background-image: linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 52px 44px;
}

.chart-line {
  position: absolute;
  height: 5px;
  border-radius: 5px;
  background: var(--green);
  box-shadow: 0 0 18px rgba(38, 176, 70, 0.34);
  transform-origin: left center;
}

.line-one { bottom: 47px; left: 26px; width: 82px; transform: rotate(-11deg); }
.line-two { bottom: 63px; left: 104px; width: 84px; transform: rotate(-24deg); }
.line-three { bottom: 98px; left: 177px; width: 85px; transform: rotate(7deg); }
.line-four { bottom: 89px; left: 258px; width: 86px; transform: rotate(-34deg); }

.chart-dot {
  position: absolute;
  width: 12px;
  height: 12px;
  border: 3px solid var(--green);
  border-radius: 50%;
  background: var(--navy-deep);
  box-shadow: 0 0 0 6px rgba(38, 176, 70, 0.1);
}

.dot-one { bottom: 53px; left: 99px; }
.dot-two { bottom: 86px; left: 178px; }
.dot-three { bottom: 76px; left: 255px; }
.dot-four { bottom: 123px; right: 20px; }

.dashboard-signals {
  display: grid;
  margin-top: 18px;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.dashboard-signals div {
  padding: 15px 10px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
}

.dashboard-signals span,
.dashboard-signals strong,
.dashboard-signals small {
  display: block;
}

.dashboard-signals span {
  margin-bottom: 15px;
  color: var(--green);
  font-size: 0.67rem;
  font-weight: 900;
}

.dashboard-signals strong {
  color: var(--white);
  font-size: 0.78rem;
}

.dashboard-signals small {
  color: rgba(255, 255, 255, 0.48);
  font-size: 0.64rem;
  line-height: 1.4;
}

.seo-intro-section {
  background: var(--white);
}

.evidence-note {
  margin-top: 34px;
  padding: 24px 26px;
  border-left: 5px solid var(--green);
  color: var(--muted);
  background: var(--green-pale);
}

.evidence-note strong {
  display: block;
  margin-bottom: 7px;
  color: var(--navy);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.evidence-note p {
  margin: 0;
  font-size: 0.93rem;
}

.search-intent-section {
  background: var(--surface);
}

.seo-feature-layout {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(380px, 0.85fr) minmax(0, 1.15fr);
  gap: 92px;
}

.search-map {
  position: relative;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow);
}

.search-map-query {
  display: flex;
  min-height: 62px;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-radius: 32px;
  color: var(--navy);
  background: var(--surface);
  font-size: 0.9rem;
}

.search-map-query > span {
  position: relative;
  width: 18px;
  height: 18px;
  border: 3px solid var(--green);
  border-radius: 50%;
}

.search-map-query > span::after {
  position: absolute;
  right: -7px;
  bottom: -4px;
  width: 8px;
  height: 3px;
  background: var(--green);
  content: "";
  transform: rotate(45deg);
}

.search-map-branches {
  position: relative;
  display: grid;
  margin-top: 44px;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.search-map-branches::before {
  position: absolute;
  top: -44px;
  left: 50%;
  width: 1px;
  height: 44px;
  background: var(--green);
  content: "";
}

.search-map-branches div {
  position: relative;
  min-height: 116px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
}

.search-map-branches span,
.search-map-branches strong {
  display: block;
}

.search-map-branches span {
  margin-bottom: 18px;
  color: var(--green-dark);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.search-map-branches strong {
  color: var(--navy);
  font-size: 0.86rem;
  line-height: 1.4;
}

.search-map > p {
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 0.79rem;
  font-weight: 700;
  text-align: center;
}

.seo-inclusions-section {
  background: var(--white);
}

.seo-inclusions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.seo-inclusion {
  display: flex;
  min-height: 365px;
  flex-direction: column;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.seo-inclusion:hover {
  border-color: rgba(38, 176, 70, 0.55);
  box-shadow: var(--shadow);
  transform: translateY(-5px);
}

.seo-inclusion-featured {
  grid-column: span 2;
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy);
}

.seo-inclusion-featured h3,
.seo-inclusion-featured .text-link {
  color: var(--white);
}

.seo-inclusion p {
  color: var(--muted);
  font-size: 0.92rem;
}

.seo-inclusion-featured p {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.7);
}

.inclusion-number {
  display: block;
  margin-bottom: 48px;
  color: var(--green-dark);
  font-size: 0.7rem;
  font-weight: 900;
}

.seo-inclusion-featured .inclusion-number {
  color: #9fe0ae;
}

.seo-inclusion .text-link {
  margin-top: auto;
}

.seo-audit-feature {
  position: relative;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy);
}

.seo-audit-feature::after {
  position: absolute;
  right: -180px;
  bottom: -260px;
  width: 600px;
  height: 600px;
  border: 90px solid rgba(38, 176, 70, 0.045);
  border-radius: 50%;
  content: "";
}

.seo-audit-feature-layout {
  position: relative;
  z-index: 1;
  display: grid;
  align-items: center;
  grid-template-columns: minmax(350px, 0.8fr) minmax(0, 1.2fr);
  gap: 90px;
}

.seo-audit-feature h2 {
  color: var(--white);
}

.seo-audit-feature .feature-copy p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.7);
}

.seo-audit-visual {
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-lg);
  background: rgba(0, 12, 29, 0.72);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.22);
}

.audit-browser-bar {
  display: flex;
  gap: 7px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.audit-browser-bar span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.32);
}

.audit-score-ring {
  display: grid;
  width: 168px;
  height: 168px;
  margin: 32px auto;
  place-items: center;
  align-content: center;
  border: 12px solid rgba(255, 255, 255, 0.09);
  border-top-color: var(--green);
  border-right-color: var(--green);
  border-radius: 50%;
}

.audit-score-ring strong,
.audit-score-ring span {
  display: block;
  text-align: center;
}

.audit-score-ring strong {
  color: var(--white);
  font-size: 2.6rem;
  line-height: 1;
}

.audit-score-ring span {
  max-width: 100px;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.64rem;
  line-height: 1.4;
}

.seo-audit-visual ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.seo-audit-visual li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.045);
  font-size: 0.76rem;
  font-weight: 700;
}

.seo-audit-visual li i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
}

.seo-detail-section {
  background: var(--white);
}

.seo-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.seo-detail-block {
  display: flex;
  min-height: 640px;
  flex-direction: column;
  padding: 44px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.seo-detail-block:nth-child(2) {
  border-top: 5px solid var(--green);
}

.detail-kicker,
.bridge-index {
  display: block;
  margin-bottom: 50px;
  color: var(--green-dark);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.seo-detail-block p {
  color: var(--muted);
  font-size: 0.94rem;
}

.seo-detail-block .text-link {
  margin-top: auto;
}

.seo-bridges-section {
  padding-top: 0;
  background: var(--white);
}

.seo-bridges-grid {
  display: grid;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  grid-template-columns: repeat(3, 1fr);
}

.seo-bridge {
  display: flex;
  min-height: 550px;
  flex-direction: column;
  padding: 42px 32px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.seo-bridge h2 {
  font-size: clamp(1.75rem, 2.5vw, 2.6rem);
}

.seo-bridge p {
  color: var(--muted);
  font-size: 0.92rem;
}

.seo-bridge .text-link {
  margin-top: auto;
}

.seo-measure-section {
  background: var(--surface);
}

.metric-list {
  display: grid;
  gap: 10px;
  margin: 26px 0;
  padding: 0;
  list-style: none;
}

.metric-list li {
  position: relative;
  padding-left: 28px;
  color: var(--navy);
  font-size: 0.91rem;
  font-weight: 650;
}

.metric-list li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 12px;
  height: 3px;
  background: var(--green);
  content: "";
}

.measurement-panel {
  padding: 36px;
  border-radius: var(--radius-lg);
  color: rgba(255, 255, 255, 0.7);
  background: var(--navy);
  box-shadow: var(--shadow);
}

.measurement-head {
  align-items: flex-start;
  margin-bottom: 38px;
}

.measurement-head span {
  color: #9fe0ae;
}

.measurement-head strong {
  max-width: 120px;
  color: var(--white);
  font-size: 0.8rem;
  text-align: right;
}

.measurement-row {
  margin-bottom: 24px;
}

.measurement-row span {
  display: block;
  margin-bottom: 8px;
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 700;
}

.measurement-row i {
  position: relative;
  display: block;
  width: 100%;
  height: 8px;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.09);
}

.measurement-row i::after {
  display: block;
  width: var(--value);
  height: 100%;
  border-radius: inherit;
  background: #7b99b9;
  content: "";
}

.measurement-action i::after {
  background: var(--green);
}

.measurement-panel > p {
  margin: 38px 0 0;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.76rem;
}

.seo-process-section {
  background: var(--white);
}

.seo-process-list {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.seo-process-list li {
  display: grid;
  align-items: start;
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
  grid-template-columns: 100px 1fr;
  gap: 30px;
}

.seo-process-list li > span {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  color: var(--white);
  background: var(--navy);
  font-size: 0.74rem;
  font-weight: 900;
}

.seo-process-list li:last-child > span {
  color: var(--navy);
  background: var(--green);
}

.seo-process-list h3 {
  margin-bottom: 8px;
}

.seo-process-list p {
  max-width: 800px;
  margin: 0;
  color: var(--muted);
}

.seo-why-section {
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy);
}

.seo-why-layout {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 90px;
}

.seo-why-heading h2 {
  color: var(--white);
}

.seo-why-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  list-style: none;
}

.seo-why-list li {
  display: grid;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--white);
  font-weight: 650;
  grid-template-columns: 58px 1fr;
}

.seo-why-list span {
  color: var(--green);
  font-size: 0.7rem;
  font-weight: 900;
}

.seo-free-audit-section {
  background: var(--green-pale);
}

.seo-free-audit-inner {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 90px;
}

.seo-free-audit-inner > div:last-child {
  max-width: 680px;
}

.seo-free-audit-inner .button {
  margin-top: 18px;
}

@media (max-width: 1120px) {
  .service-hero-layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
    gap: 44px;
  }

  .line-four,
  .dot-four {
    display: none;
  }
}

@media (max-width: 980px) {
  .service-hero-layout,
  .seo-feature-layout,
  .seo-audit-feature-layout,
  .seo-why-layout,
  .seo-free-audit-inner {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .service-hero > .container {
    padding-bottom: 82px;
  }

  .seo-dashboard,
  .search-map,
  .seo-audit-visual,
  .measurement-panel {
    max-width: 650px;
  }

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

  .seo-inclusion-featured {
    grid-column: span 2;
  }

  .seo-detail-grid,
  .seo-bridges-grid {
    grid-template-columns: 1fr;
  }

  .seo-detail-block {
    min-height: 0;
  }

  .seo-bridges-grid {
    border-left: 0;
  }

  .seo-bridge {
    min-height: 0;
    border-right: 0;
  }
}

@media (max-width: 720px) {
  .service-hero > .container {
    padding-top: 22px;
    padding-bottom: 68px;
  }

  .breadcrumb {
    margin-bottom: 48px;
  }

  .service-hero-copy h1 {
    font-size: clamp(2.6rem, 12vw, 4rem);
  }

  .seo-dashboard,
  .search-map,
  .seo-audit-visual,
  .measurement-panel,
  .seo-detail-block {
    padding: 24px;
  }

  .dashboard-signals {
    grid-template-columns: 1fr;
  }

  .seo-chart {
    height: 190px;
  }

  .line-four,
  .dot-four {
    display: block;
  }

  .line-one { left: 18px; width: 58px; }
  .line-two { left: 72px; width: 65px; }
  .line-three { left: 128px; width: 66px; }
  .line-four { left: 190px; width: 70px; }
  .dot-one { left: 69px; }
  .dot-two { left: 129px; }
  .dot-three { left: 188px; }
  .dot-four { right: 12px; }

  .search-map-branches,
  .seo-inclusions-grid {
    grid-template-columns: 1fr;
  }

  .seo-inclusion-featured {
    grid-column: auto;
  }

  .seo-inclusion {
    min-height: 0;
  }

  .seo-audit-feature .button-row,
  .service-hero .button-row {
    align-items: stretch;
    flex-direction: column;
  }

  .detail-kicker,
  .bridge-index {
    margin-bottom: 30px;
  }

  .seo-process-list li {
    grid-template-columns: 58px 1fr;
    gap: 18px;
  }

  .seo-process-list li > span {
    width: 44px;
    height: 44px;
  }
}

/* Local SEO page */
.local-service-hero::before {
  border-radius: 42% 58% 60% 40%;
  transform: rotate(18deg);
}

.local-map-panel {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-lg);
  background: rgba(0, 14, 32, 0.7);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
}

.map-grid {
  position: absolute;
  inset: 0;
  opacity: 0.3;
  background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 54px 54px;
  transform: rotate(-9deg) scale(1.2);
}

.map-road {
  position: absolute;
  height: 12px;
  border: 2px solid rgba(255,255,255,.16);
  border-right: 0;
  border-left: 0;
  transform-origin: left center;
}

.road-one { top: 76px; left: -30px; width: 570px; transform: rotate(35deg); }
.road-two { top: 330px; left: -10px; width: 530px; transform: rotate(-28deg); }

.map-pin {
  position: absolute;
  display: grid;
  justify-items: center;
  gap: 10px;
}

.map-pin-main { top: 150px; left: 50%; transform: translateX(-50%); }

.map-pin i {
  position: relative;
  width: 64px;
  height: 64px;
  border: 14px solid var(--green);
  border-radius: 50% 50% 50% 0;
  background: var(--navy-deep);
  box-shadow: 0 0 0 12px rgba(38,176,70,.12), 0 18px 40px rgba(0,0,0,.25);
  transform: rotate(-45deg);
}

.map-pin span {
  padding: 7px 12px;
  border-radius: 6px;
  color: var(--white);
  background: var(--navy);
  font-size: .76rem;
  font-weight: 850;
}

.map-signal {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 8px;
  color: var(--white);
  background: rgba(0,32,70,.9);
  font-size: .7rem;
}

.map-signal i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.signal-site { top: 80px; left: 34px; }
.signal-profile { top: 285px; right: 26px; }
.signal-trust { bottom: 55px; left: 55px; }
.local-map-panel > p { position: absolute; right: 24px; bottom: 18px; margin: 0; color: rgba(255,255,255,.5); font-size: .68rem; font-weight: 750; }

.local-discovery-section .prose h3 {
  margin-top: 42px;
  padding-top: 36px;
  border-top: 1px solid var(--line);
}

.local-factors-section { background: var(--surface); }
.local-factor-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.local-factor { min-height: 360px; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.local-factor > span { display: block; margin-bottom: 70px; color: var(--green-dark); font-size: .72rem; font-weight: 900; }
.local-factor p { margin-bottom: 0; color: var(--muted); font-size: .93rem; }
.local-factor:nth-child(2) { border-top: 5px solid var(--green); }

.local-inclusions-section { background: var(--white); }
.local-inclusions-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.local-inclusion { display: flex; min-height: 350px; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.local-inclusion:hover { border-color: rgba(38,176,70,.55); box-shadow: var(--shadow); transform: translateY(-5px); }
.local-inclusion-featured { grid-column: span 2; color: rgba(255,255,255,.72); background: var(--navy); }
.local-inclusion-featured h3 { color: var(--white); }
.local-inclusion > span { display: block; margin-bottom: 48px; color: var(--green-dark); font-size: .7rem; font-weight: 900; }
.local-inclusion-featured > span { color: #9fe0ae; }
.local-inclusion p { color: var(--muted); font-size: .91rem; }
.local-inclusion-featured p { max-width: 720px; color: rgba(255,255,255,.7); }
.local-inclusion .text-link { margin-top: auto; }

.profile-bridge-section { color: rgba(255,255,255,.72); background: var(--navy); }
.profile-bridge-section h2 { color: var(--white); }
.profile-bridge-section .feature-copy p:not(.eyebrow) { color: rgba(255,255,255,.7); }
.local-feature-layout { display: grid; align-items: center; grid-template-columns: minmax(360px,.82fr) minmax(0,1.18fr); gap: 90px; }
.local-feature-reverse { grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr); }
.profile-card { padding: 28px; border-radius: var(--radius-lg); color: var(--ink); background: var(--white); box-shadow: 0 30px 80px rgba(0,0,0,.24); }
.profile-card-head { display: flex; align-items: center; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.profile-avatar { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; color: var(--white); background: var(--navy); font-size: 1.45rem; font-weight: 850; }
.profile-card-head strong,.profile-card-head small { display: block; }
.profile-card-head strong { color: var(--navy); }
.profile-card-head small { color: var(--muted); font-size: .72rem; }
.profile-card-lines { display: grid; gap: 9px; padding: 24px 0; }
.profile-card-lines i { width: 92%; height: 8px; border-radius: 6px; background: #e2e7ea; }
.profile-card-lines i:nth-child(2) { width: 74%; }.profile-card-lines i:nth-child(3) { width: 58%; }
.profile-card-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.profile-card-actions span { padding: 9px 5px; border-radius: 7px; color: var(--navy); background: var(--green-pale); font-size: .7rem; font-weight: 800; text-align: center; }
.profile-card-checks { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; padding-top: 20px; }
.profile-card-checks p { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--muted); font-size: .72rem; }
.profile-card-checks i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }

.local-detail-section { background: var(--white); }
.local-detail-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.local-detail { display: flex; min-height: 530px; flex-direction: column; padding: 42px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.local-detail:nth-child(2),.local-detail:nth-child(3) { border-top: 5px solid var(--green); }
.local-detail p { color: var(--muted); font-size: .94rem; }
.local-detail .text-link { margin-top: auto; }

.service-area-section { background: var(--surface); }
.service-area-visual { position: relative; min-height: 480px; }
.coverage-ring { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(38,176,70,.42); border-radius: 50%; transform: translate(-50%,-50%); }
.ring-three { width: 450px; height: 450px; background: rgba(38,176,70,.025); }
.ring-two { width: 320px; height: 320px; background: rgba(38,176,70,.045); }
.ring-one { width: 190px; height: 190px; background: rgba(38,176,70,.065); }
.coverage-centre { position: absolute; top: 50%; left: 50%; display: grid; width: 165px; height: 165px; place-items: center; align-content: center; padding: 20px; border-radius: 50%; color: var(--white); background: var(--navy); box-shadow: var(--shadow); transform: translate(-50%,-50%); text-align: center; }
.coverage-centre i { width: 14px; height: 14px; margin-bottom: 12px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 8px rgba(38,176,70,.14); }
.coverage-centre strong,.coverage-centre span { display: block; }.coverage-centre strong { font-size: .84rem; line-height: 1.35; }.coverage-centre span { margin-top: 6px; color: rgba(255,255,255,.55); font-size: .63rem; line-height: 1.35; }

.local-measure-section { background: var(--white); }
.local-measure-panel { padding: 36px; border-radius: var(--radius-lg); color: rgba(255,255,255,.7); background: var(--navy); box-shadow: var(--shadow); }
.panel-label { display: block; margin-bottom: 38px; color: #9fe0ae; font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.local-metric { margin-bottom: 24px; }.local-metric strong { display: block; margin-bottom: 8px; color: var(--white); font-size: .78rem; }
.local-metric i { display: block; width: 100%; height: 8px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.1); }
.local-metric i::after { display: block; width: var(--value); height: 100%; border-radius: inherit; background: #7b99b9; content: ""; }
.local-metric-green i::after { background: var(--green); }
.local-measure-panel > p { margin: 38px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.5); font-size: .75rem; }
.local-process-section { background: var(--surface); }
.local-why-section { color: rgba(255,255,255,.72); background: var(--navy); }.local-why-section h2 { color: var(--white); }

@media (max-width: 980px) {
  .local-feature-layout,.local-feature-reverse { grid-template-columns: 1fr; gap: 50px; }
  .local-map-panel,.profile-card,.local-measure-panel { max-width: 650px; }
  .local-inclusions-grid { grid-template-columns: repeat(2,1fr); }.local-inclusion-featured { grid-column: span 2; }
  .local-detail-grid { grid-template-columns: 1fr; }.local-detail { min-height: 0; }
}

@media (max-width: 720px) {
  .local-map-panel { min-height: 390px; }
  .local-factor-grid,.local-inclusions-grid { grid-template-columns: 1fr; }
  .local-inclusion-featured { grid-column: auto; }.local-inclusion { min-height: 0; }
  .local-factor { min-height: 0; }.local-factor > span { margin-bottom: 36px; }
  .profile-card,.local-detail,.local-measure-panel { padding: 26px; }
  .profile-card-checks { grid-template-columns: 1fr; }
  .service-area-visual { min-height: 350px; overflow: hidden; }.ring-three { width: 330px; height: 330px; }.ring-two { width: 250px; height: 250px; }.ring-one { width: 175px; height: 175px; }
}

/* Google Business Profile page */
.gbp-service-hero::before {
  width: 610px;
  height: 610px;
  border-radius: 52% 48% 40% 60%;
  transform: rotate(-12deg);
}

.gbp-profile-preview {
  position: relative;
  padding: 32px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius-lg);
  color: var(--ink);
  background: var(--white);
  box-shadow: 0 34px 90px rgba(0,0,0,.25);
}

.gbp-profile-preview::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 7px;
  background: linear-gradient(90deg,var(--green),#58ca71);
  content: "";
}

.gbp-preview-top { display: flex; align-items: center; gap: 15px; padding: 10px 0 22px; border-bottom: 1px solid var(--line); }
.gbp-preview-logo { display: grid; width: 58px; height: 58px; flex: 0 0 auto; place-items: center; border-radius: 13px; color: var(--white); background: var(--navy); font-size: 1.55rem; font-weight: 900; }
.gbp-preview-top strong,.gbp-preview-top small { display: block; }.gbp-preview-top strong { color: var(--navy); font-size: 1rem; }.gbp-preview-top small { margin-top: 3px; color: var(--muted); font-size: .72rem; }
.gbp-status-dot { width: 10px; height: 10px; margin-left: auto; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 7px var(--green-pale); }
.gbp-preview-rating { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; }.gbp-preview-rating span { color: var(--green-dark); font-size: .85rem; letter-spacing: .08em; }.gbp-preview-rating small { color: var(--muted); font-size: .68rem; }
.gbp-preview-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.gbp-preview-actions span { display: grid; gap: 7px; place-items: center; padding: 11px 5px; border-radius: 8px; color: var(--navy); background: var(--green-pale); font-size: .69rem; font-weight: 850; }
.gbp-preview-actions i { width: 9px; height: 9px; border: 2px solid var(--green-dark); border-radius: 50%; }
.gbp-preview-details { display: grid; gap: 15px; padding: 24px 0; }.gbp-preview-details p { display: flex; align-items: center; gap: 13px; margin: 0; }.gbp-preview-details p > i { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--green); }.gbp-preview-details strong,.gbp-preview-details small { display: block; }.gbp-preview-details strong { color: var(--navy); font-size: .78rem; }.gbp-preview-details small { margin-top: 2px; color: var(--muted); font-size: .67rem; }
.gbp-preview-note { display: flex; align-items: center; gap: 9px; padding: 12px 14px; border-radius: 8px; color: var(--muted); background: var(--surface); font-size: .7rem; }.gbp-preview-note i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }.gbp-preview-note strong { margin-left: auto; color: var(--green-dark); }

.gbp-intro-section { background: var(--white); }
.gbp-services-section { background: var(--surface); }
.gbp-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.gbp-service-card { display: flex; min-height: 350px; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.gbp-service-card:hover { border-color: rgba(38,176,70,.55); box-shadow: var(--shadow); transform: translateY(-5px); }
.gbp-service-card-featured { grid-column: span 2; color: rgba(255,255,255,.72); background: var(--navy); }
.gbp-service-card-featured h3 { color: var(--white); }.gbp-service-card > span { display: block; margin-bottom: 48px; color: var(--green-dark); font-size: .7rem; font-weight: 900; }.gbp-service-card-featured > span { color: #9fe0ae; }
.gbp-service-card p { color: var(--muted); font-size: .91rem; }.gbp-service-card-featured p { max-width: 700px; color: rgba(255,255,255,.7); }.gbp-service-card .text-link { margin-top: auto; }

.gbp-name-section { color: rgba(255,255,255,.72); background: var(--navy); }.gbp-name-section h2 { color: var(--white); }
.gbp-name-layout { display: grid; align-items: center; grid-template-columns: 1.1fr .9fr; gap: 90px; }.gbp-name-copy p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.gbp-name-switch { display: grid; grid-template-columns: auto 1fr; gap: 10px 20px; padding: 34px; border: 1px solid rgba(255,255,255,.13); border-radius: var(--radius-lg); background: rgba(0,14,32,.55); }
.gbp-name-switch span { color: #9fe0ae; font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.gbp-name-switch strong { color: var(--white); font-size: 1.05rem; }.gbp-name-switch i { grid-column: 1 / -1; margin: 8px 0; color: var(--green); font-size: 1.8rem; font-style: normal; }

.gbp-maps-section { background: var(--white); }.gbp-maps-section .local-factor-grid { margin-top: 48px; }
.gbp-guardrail { display: grid; grid-template-columns: .75fr 1.25fr; gap: 60px; margin-top: 20px; padding: 48px; border-radius: var(--radius-lg); color: rgba(255,255,255,.72); background: var(--navy); }.gbp-guardrail h3 { margin-bottom: 0; color: var(--white); font-size: clamp(1.8rem,3vw,2.7rem); }.gbp-guardrail ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }.gbp-guardrail li { position: relative; padding-left: 24px; }.gbp-guardrail li::before { position: absolute; top: .6em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--green); content: ""; }

.gbp-service-area-section { background: var(--surface); }
.gbp-area-visual { position: relative; min-height: 500px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow); }
.gbp-area-map { position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(#dfe5e8 1px,transparent 1px),linear-gradient(90deg,#dfe5e8 1px,transparent 1px); background-size: 46px 46px; transform: rotate(-8deg) scale(1.25); }
.gbp-area-ring { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(38,176,70,.4); border-radius: 50%; transform: translate(-50%,-50%); }.gbp-area-ring-three { width: 430px; height: 430px; background: rgba(38,176,70,.025); }.gbp-area-ring-two { width: 300px; height: 300px; background: rgba(38,176,70,.045); }.gbp-area-ring-one { width: 170px; height: 170px; background: rgba(38,176,70,.065); }
.gbp-area-pin { position: absolute; top: 50%; left: 50%; display: grid; width: 150px; height: 150px; place-items: center; align-content: center; padding: 18px; border-radius: 50%; color: var(--white); background: var(--navy); box-shadow: var(--shadow); transform: translate(-50%,-50%); text-align: center; }.gbp-area-pin i { width: 13px; height: 13px; margin-bottom: 10px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 8px rgba(38,176,70,.14); }.gbp-area-pin strong,.gbp-area-pin small { display: block; }.gbp-area-pin strong { font-size: .84rem; }.gbp-area-pin small { margin-top: 5px; color: rgba(255,255,255,.58); font-size: .62rem; }
.gbp-area-label { position: absolute; padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px; color: var(--navy); background: rgba(255,255,255,.92); font-size: .65rem; font-weight: 800; }.area-north { top: 52px; left: 40%; }.area-east { top: 46%; right: 20px; }.area-south { bottom: 45px; left: 23%; }
.gbp-process-section { background: var(--white); }.gbp-for-section { color: rgba(255,255,255,.72); background: var(--navy); }.gbp-for-section h2 { color: var(--white); }

@media (max-width: 980px) {
  .gbp-service-grid { grid-template-columns: repeat(2,1fr); }.gbp-service-card-featured { grid-column: span 2; }
  .gbp-name-layout,.gbp-guardrail { grid-template-columns: 1fr; gap: 45px; }
  .gbp-profile-preview,.gbp-area-visual { max-width: 650px; }
}

@media (max-width: 720px) {
  .gbp-profile-preview { padding: 24px; }.gbp-preview-rating { align-items: flex-start; flex-direction: column; }
  .gbp-service-grid { grid-template-columns: 1fr; }.gbp-service-card-featured { grid-column: auto; }.gbp-service-card { min-height: 0; }
  .gbp-name-switch,.gbp-guardrail { padding: 26px; }.gbp-guardrail { gap: 30px; }
  .gbp-area-visual { min-height: 390px; }.gbp-area-ring-three { width: 340px; height: 340px; }.gbp-area-ring-two { width: 250px; height: 250px; }.gbp-area-ring-one { width: 165px; height: 165px; }.gbp-area-label { display: none; }
}

/* Web Design page */
.web-service-hero::before { width: 650px; height: 650px; border-radius: 38% 62% 55% 45%; transform: rotate(12deg); }
.web-browser-preview { overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-lg); color: var(--ink); background: var(--white); box-shadow: 0 34px 90px rgba(0,0,0,.26); }
.web-browser-bar { display: flex; align-items: center; gap: 7px; padding: 13px 16px; border-bottom: 1px solid var(--line); background: #eef2f4; }.web-browser-bar i { width: 8px; height: 8px; border-radius: 50%; background: #b9c3c8; }.web-browser-bar i:first-child { background: var(--green); }.web-browser-bar span { margin-left: 9px; color: var(--muted); font-size: .62rem; }
.web-preview-nav { display: flex; align-items: center; gap: 16px; padding: 18px 22px; }.web-preview-nav strong { margin-right: auto; color: var(--navy); font-size: .8rem; }.web-preview-nav > span { width: 29px; height: 5px; border-radius: 5px; background: #dce2e5; }.web-preview-nav b { padding: 7px 10px; border-radius: 5px; color: var(--navy); background: var(--green); font-size: .58rem; }
.web-preview-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; padding: 30px 24px; color: var(--white); background: var(--navy); }.web-preview-hero small { color: #9fe0ae; font-size: .56rem; font-weight: 800; text-transform: uppercase; }.web-preview-hero h2 { margin: 8px 0 16px; color: var(--white); font-size: 1.3rem; line-height: 1.12; }.web-preview-hero p { width: 90%; height: 6px; margin: 0 0 7px; border-radius: 5px; background: rgba(255,255,255,.2); }.web-preview-hero p:nth-of-type(2) { width: 66%; }.web-preview-hero button { margin-top: 14px; padding: 8px 11px; border: 0; border-radius: 5px; color: var(--navy); background: var(--green); font: inherit; font-size: .58rem; font-weight: 800; }
.web-preview-shape { position: relative; min-height: 140px; border-radius: 12px; background: linear-gradient(145deg,rgba(38,176,70,.16),rgba(255,255,255,.04)); }.web-preview-shape i { position: absolute; right: 13%; bottom: 16%; width: 19%; height: 40%; border-radius: 4px 4px 0 0; background: var(--green); }.web-preview-shape i:nth-child(2) { right: 38%; height: 58%; background: #76c989; }.web-preview-shape i:nth-child(3) { right: 63%; height: 28%; background: rgba(255,255,255,.58); }
.web-preview-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; padding: 20px 22px; }.web-preview-cards article { padding: 13px; border: 1px solid var(--line); border-radius: 8px; }.web-preview-cards i { display: block; width: 18px; height: 18px; margin-bottom: 12px; border-radius: 5px; background: var(--green-pale); }.web-preview-cards span { display: block; width: 90%; height: 5px; margin-top: 6px; border-radius: 4px; background: #dfe5e8; }.web-preview-cards span:last-child { width: 64%; }
.web-preview-status { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; padding: 13px 20px; border-top: 1px solid var(--line); background: var(--surface); }.web-preview-status span { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: .56rem; font-weight: 750; }.web-preview-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }

.web-assets-section { background: var(--white); }.web-services-section { background: var(--surface); }
.web-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.web-service-card { display: flex; min-height: 350px; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease; }.web-service-card:hover { border-color: rgba(38,176,70,.55); box-shadow: var(--shadow); transform: translateY(-5px); }.web-service-card-featured { grid-column: span 2; color: rgba(255,255,255,.72); background: var(--navy); }.web-service-card-featured h3 { color: var(--white); }.web-service-card > span { display: block; margin-bottom: 48px; color: var(--green-dark); font-size: .7rem; font-weight: 900; }.web-service-card-featured > span { color: #9fe0ae; }.web-service-card p { color: var(--muted); font-size: .91rem; }.web-service-card-featured p { max-width: 700px; color: rgba(255,255,255,.7); }.web-service-card .text-link { margin-top: auto; }

.web-pillars-section { background: var(--white); }.web-pillar-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin-top: 48px; }.web-pillar { min-height: 330px; padding: 29px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }.web-pillar:nth-child(2),.web-pillar:nth-child(6) { border-top: 5px solid var(--green); }.web-pillar > span { display: block; margin-bottom: 55px; color: var(--green-dark); font-size: .7rem; font-weight: 900; }.web-pillar p { margin-bottom: 0; color: var(--muted); font-size: .88rem; }
.web-process-section { color: rgba(255,255,255,.72); background: var(--navy); }.web-process-section h2,.web-process-section h3 { color: var(--white); }.web-process-section .strategy-intro > p:last-child { color: rgba(255,255,255,.65); }
.web-process-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin: 54px 0 0; padding: 1px; list-style: none; background: rgba(255,255,255,.12); }.web-process-list li { display: grid; grid-template-columns: 62px 1fr; gap: 20px; min-height: 230px; padding: 30px; background: var(--navy); }.web-process-list li > span { display: grid; width: 50px; height: 50px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #9fe0ae; font-size: .7rem; font-weight: 900; }.web-process-list h3 { margin-top: 7px; }.web-process-list p { color: rgba(255,255,255,.62); font-size: .9rem; }

.web-plan-section { background: var(--surface); }.web-plan-layout { display: grid; align-items: center; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); gap: 90px; }.web-wireframe { position: relative; min-height: 500px; }.wireframe-sitemap { position: absolute; top: 0; right: 0; left: 0; height: 155px; }.wireframe-sitemap span { position: absolute; display: grid; min-width: 72px; padding: 9px; place-items: center; border: 1px solid var(--line); border-radius: 6px; color: var(--navy); background: var(--white); font-size: .62rem; font-weight: 800; box-shadow: 0 8px 20px rgba(0,32,70,.06); }.wireframe-sitemap span::before { position: absolute; bottom: 100%; left: 50%; width: 1px; height: 23px; background: #cbd5da; content: ""; }.wireframe-sitemap span::after { position: absolute; right: 50%; bottom: calc(100% + 22px); width: 100%; height: 1px; background: #cbd5da; content: ""; }.wireframe-sitemap .wire-home { top: 0; left: 50%; transform: translateX(-50%); }.wireframe-sitemap .wire-home::before,.wireframe-sitemap .wire-home::after { display: none; }.wire-service-one { top: 92px; left: 4%; }.wire-service-two { top: 92px; left: 31%; }.wire-about { top: 92px; right: 4%; }.wireframe-sitemap .wire-service-one::after { right: -192%; width: 242%; }.wireframe-sitemap .wire-service-two::after { right: -75%; width: 125%; }.wireframe-sitemap .wire-about::after { right: 50%; width: 217%; }
.wireframe-page { position: absolute; right: 8%; bottom: 0; left: 8%; display: grid; gap: 12px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow); }.wireframe-page > i { display: block; border-radius: 5px; background: #dfe5e8; }.wireframe-page .wire-head { width: 100%; height: 25px; background: var(--navy); }.wireframe-page .wire-title { width: 65%; height: 17px; margin-top: 10px; background: var(--green); }.wireframe-page .wire-copy { width: 88%; height: 8px; }.wireframe-page div { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 8px 0; }.wireframe-page div i { height: 90px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }.wireframe-page b { width: 32%; height: 24px; border-radius: 5px; background: var(--green); }

.web-search-section { background: var(--white); }.web-search-panel { padding: 36px; border-radius: var(--radius-lg); color: rgba(255,255,255,.7); background: var(--navy); box-shadow: var(--shadow); }.web-search-row { margin-bottom: 24px; }.web-search-row strong { display: block; margin-bottom: 8px; color: var(--white); font-size: .78rem; }.web-search-row > i { display: block; height: 8px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.1); }.web-search-row b { display: block; width: var(--value); height: 100%; border-radius: inherit; background: #7b99b9; }.web-search-row-green b { background: var(--green); }.web-search-panel > p { margin: 38px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.5); font-size: .72rem; }

.web-responsive-section { color: rgba(255,255,255,.72); background: var(--navy); }.web-responsive-section h2 { color: var(--white); }.web-responsive-layout { display: grid; align-items: center; grid-template-columns: 1.05fr .95fr; gap: 80px; }.web-responsive-section .feature-copy p:not(.eyebrow) { color: rgba(255,255,255,.67); }.device-stage { position: relative; min-height: 480px; }.device-stage > div { position: absolute; overflow: hidden; border: 7px solid #d9e0e4; background: var(--white); box-shadow: 0 25px 70px rgba(0,0,0,.3); }.device-stage i,.device-stage span,.device-stage b { display: block; }.device-stage i { height: 26%; background: linear-gradient(145deg,var(--navy),#06437f); }.device-stage span { width: 70%; height: 5%; margin: 9% 10% 0; border-radius: 5px; background: #dce3e6; }.device-stage span:nth-of-type(2) { width: 50%; margin-top: 5%; }.device-stage b { width: 34%; height: 9%; margin: 9% 10%; border-radius: 5px; background: var(--green); }.device-desktop { top: 20px; right: 0; width: 92%; height: 310px; border-radius: 11px; }.device-tablet { right: 4%; bottom: 20px; width: 42%; height: 255px; border-radius: 13px; }.device-mobile { bottom: 0; left: 4%; width: 30%; height: 220px; border-radius: 17px; }.device-mobile b { width: 55%; height: 7%; }.device-mobile span { height: 4%; }

.web-conversion-section { background: var(--surface); }.web-conversion-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; }.web-conversion-grid article { min-height: 310px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }.web-conversion-grid span { display: block; margin-bottom: 60px; color: var(--green-dark); font-size: .7rem; font-weight: 900; }.web-conversion-grid p { color: var(--muted); font-size: .9rem; }
.web-small-business-section { background: var(--white); }.web-replace-section { color: rgba(255,255,255,.72); background: var(--navy); }.web-replace-section h2 { color: var(--white); }.web-replace-layout { display: grid; align-items: center; grid-template-columns: 1.1fr .9fr; gap: 90px; }.web-replace-copy p:not(.eyebrow) { color: rgba(255,255,255,.67); }.web-replace-checklist { padding: 36px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); background: rgba(0,14,32,.5); }.web-replace-checklist > strong { display: block; margin-bottom: 24px; color: #9fe0ae; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }.web-replace-checklist ul { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }.web-replace-checklist li { position: relative; padding-left: 25px; }.web-replace-checklist li::before { position: absolute; top: .55em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--green); content: ""; }

@media (max-width: 1100px) { .web-pillar-grid,.web-conversion-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 980px) { .web-service-grid { grid-template-columns: repeat(2,1fr); }.web-service-card-featured { grid-column: span 2; }.web-plan-layout,.web-responsive-layout,.web-replace-layout { grid-template-columns: 1fr; gap: 50px; }.web-wireframe,.device-stage,.web-search-panel { max-width: 650px; }.web-process-list { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .web-browser-preview { max-width: 100%; }.web-preview-nav > span { display: none; }.web-preview-hero { grid-template-columns: 1fr; }.web-preview-shape { display: none; }.web-preview-cards { grid-template-columns: 1fr; }.web-preview-cards article:nth-child(n+2) { display: none; }.web-service-grid,.web-pillar-grid,.web-conversion-grid { grid-template-columns: 1fr; }.web-service-card-featured { grid-column: auto; }.web-service-card,.web-pillar,.web-conversion-grid article { min-height: 0; }.web-pillar > span,.web-conversion-grid span { margin-bottom: 35px; }.web-process-list li { grid-template-columns: 50px 1fr; min-height: 0; padding: 24px; }.web-process-list li > span { width: 42px; height: 42px; }.web-wireframe { min-height: 440px; overflow: hidden; }.wireframe-sitemap .wire-about { display: none; }.wireframe-sitemap .wire-service-one::after { right: -145%; width: 195%; }.wireframe-sitemap .wire-service-two::after { right: 50%; width: 50%; }.wireframe-page { right: 0; left: 0; }.web-search-panel,.web-replace-checklist { padding: 26px; }.device-stage { min-height: 380px; }.device-desktop { height: 250px; }.device-tablet { height: 210px; }.device-mobile { height: 185px; } }

/* Website Optimisation page */
.optimisation-service-hero::before { width: 630px; height: 630px; border-radius: 58% 42% 48% 52%; transform: rotate(-16deg); }
.optimisation-dashboard { padding: 30px; border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-lg); color: var(--ink); background: var(--white); box-shadow: 0 34px 90px rgba(0,0,0,.25); }
.optimisation-dashboard-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }.optimisation-dashboard-head span { color: var(--muted); font-size: .67rem; font-weight: 800; text-transform: uppercase; }.optimisation-dashboard-head strong { color: var(--green-dark); font-size: .7rem; }
.optimisation-score { display: grid; align-items: center; grid-template-columns: auto 1fr; gap: 25px; padding: 25px 0; }.optimisation-score > div { display: grid; width: 78px; height: 78px; place-items: center; align-content: center; border: 8px solid var(--green-pale); border-top-color: var(--green); border-radius: 50%; }.optimisation-score strong,.optimisation-score small { display: block; }.optimisation-score strong { color: var(--navy); font-size: 1.45rem; line-height: 1; }.optimisation-score small { margin-top: 4px; color: var(--muted); font-size: .55rem; }.optimisation-score > i { height: 8px; overflow: hidden; border-radius: 8px; background: #e3e8eb; }.optimisation-score > i b { display: block; width: 74%; height: 100%; background: var(--green); }
.optimisation-metrics { display: grid; gap: 14px; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.optimisation-metrics p { display: grid; align-items: center; grid-template-columns: 110px 1fr; gap: 15px; margin: 0; }.optimisation-metrics span { color: var(--muted); font-size: .67rem; }.optimisation-metrics i { height: 6px; overflow: hidden; border-radius: 6px; background: #e5eaed; }.optimisation-metrics b { display: block; width: var(--value); height: 100%; background: #7897b8; }.optimisation-metrics p:first-child b { background: var(--green); }
.optimisation-priority { display: flex; align-items: center; gap: 10px; padding-top: 22px; }.optimisation-priority > i { width: 10px; height: 10px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 7px var(--green-pale); }.optimisation-priority span strong,.optimisation-priority span small { display: block; }.optimisation-priority span strong { color: var(--navy); font-size: .72rem; }.optimisation-priority span small { color: var(--muted); font-size: .62rem; }.optimisation-priority > b { margin-left: auto; padding: 6px 8px; border-radius: 5px; color: var(--green-dark); background: var(--green-pale); font-size: .57rem; }
.optimisation-intro-section { background: var(--white); }.optimisation-services-section { background: var(--surface); }
.optimisation-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.optimisation-service-card { display: flex; min-height: 350px; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease; }.optimisation-service-card:hover { border-color: rgba(38,176,70,.55); box-shadow: var(--shadow); transform: translateY(-5px); }.optimisation-service-featured { grid-column: span 2; color: rgba(255,255,255,.72); background: var(--navy); }.optimisation-service-featured h3 { color: var(--white); }.optimisation-service-card > span { display: block; margin-bottom: 48px; color: var(--green-dark); font-size: .7rem; font-weight: 900; }.optimisation-service-featured > span { color: #9fe0ae; }.optimisation-service-card p { color: var(--muted); font-size: .91rem; }.optimisation-service-featured p { max-width: 700px; color: rgba(255,255,255,.7); }.optimisation-service-card .text-link { margin-top: auto; }
.optimisation-performance-section { background: var(--white); }.performance-gauge-panel { padding: 36px; border-radius: var(--radius-lg); color: rgba(255,255,255,.7); background: var(--navy); box-shadow: var(--shadow); }.performance-gauges { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.performance-gauges > div { display: grid; justify-items: center; }.performance-gauges i { display: grid; width: 92px; height: 92px; place-items: center; border: 9px solid rgba(255,255,255,.1); border-top-color: var(--green); border-right-color: #78c98a; border-radius: 50%; transform: rotate(35deg); }.performance-gauges b { color: var(--white); font-size: .7rem; transform: rotate(-35deg); }.performance-gauges small { margin-top: 10px; color: rgba(255,255,255,.58); font-size: .62rem; }.performance-gauge-panel > p { margin: 35px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.5); font-size: .7rem; }
.optimisation-improvements-section { color: rgba(255,255,255,.7); background: var(--navy); }.optimisation-improvements-section h2 { color: var(--white); }.optimisation-check-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 45px; padding: 1px; background: rgba(255,255,255,.12); }.optimisation-check-grid article { min-height: 210px; padding: 28px; background: var(--navy); }.optimisation-check-grid span { display: block; margin-bottom: 45px; color: #9fe0ae; font-size: .68rem; font-weight: 900; }.optimisation-check-grid p { margin: 0; color: rgba(255,255,255,.67); font-size: .9rem; }
.optimisation-mobile-section { background: var(--surface); }.optimisation-phone { display: grid; min-height: 520px; place-items: center; }.optimisation-phone-screen { width: 260px; min-height: 470px; padding: 45px 25px 25px; border: 9px solid var(--navy); border-radius: 34px; background: var(--white); box-shadow: var(--shadow); }.phone-nav { display: block; width: 100%; height: 24px; margin-bottom: 45px; border-radius: 5px; background: var(--navy); }.optimisation-phone strong { display: block; margin-bottom: 24px; color: var(--navy); font-size: 1.25rem; line-height: 1.2; }.optimisation-phone-screen > i { display: block; width: 100%; height: 7px; margin: 9px 0; border-radius: 7px; background: #dfe5e8; }.optimisation-phone-screen > i:nth-of-type(2) { width: 82%; }.optimisation-phone-screen > i:nth-of-type(3) { width: 58%; }.optimisation-phone button { width: 100%; margin: 30px 0; padding: 12px; border: 0; border-radius: 6px; color: var(--navy); background: var(--green); font: inherit; font-size: .7rem; font-weight: 850; }.optimisation-phone-screen > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }.optimisation-phone-screen > div span { padding: 9px 2px; border-radius: 5px; color: var(--green-dark); background: var(--green-pale); font-size: .54rem; font-weight: 800; text-align: center; }
.optimisation-detail-section { background: var(--white); }.optimisation-detail-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }.optimisation-detail { display: flex; min-height: 500px; flex-direction: column; padding: 42px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }.optimisation-detail:nth-child(2),.optimisation-detail:nth-child(3) { border-top: 5px solid var(--green); }.optimisation-detail p { color: var(--muted); font-size: .94rem; }.optimisation-detail .text-link { margin-top: auto; }
.optimisation-boundary-section { background: var(--surface); }.optimisation-compare-section { color: rgba(255,255,255,.7); background: var(--navy); }.optimisation-compare-section h2 { color: var(--white); }.optimisation-compare-section .strategy-intro > p:last-child { color: rgba(255,255,255,.65); }.optimisation-compare-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin-top: 45px; padding: 1px; background: rgba(255,255,255,.14); }.optimisation-compare-grid article { padding: 38px; background: var(--navy); }.optimisation-compare-grid h3 { color: #9fe0ae; }.optimisation-compare-grid ul { display: grid; gap: 15px; margin: 25px 0 0; padding: 0; list-style: none; }.optimisation-compare-grid li { position: relative; padding-left: 24px; }.optimisation-compare-grid li::before { position: absolute; top: .55em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--green); content: ""; }.optimisation-compare-note { margin: 28px 0 0; color: rgba(255,255,255,.68); }.optimisation-compare-note .text-link { margin-left: 8px; color: #9fe0ae; }
.optimisation-process-section { background: var(--white); }.optimisation-measure-section { background: var(--surface); }.optimisation-evidence { padding: 36px; border-radius: var(--radius-lg); color: rgba(255,255,255,.72); background: var(--navy); box-shadow: var(--shadow); }.optimisation-evidence ul { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }.optimisation-evidence li { position: relative; padding: 0 0 16px 24px; border-bottom: 1px solid rgba(255,255,255,.1); }.optimisation-evidence li::before { position: absolute; top: .55em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--green); content: ""; }.optimisation-belfast-section { color: rgba(255,255,255,.72); background: var(--navy); }.optimisation-belfast-section h2 { color: var(--white); }
@media (max-width: 980px) { .optimisation-service-grid { grid-template-columns: repeat(2,1fr); }.optimisation-service-featured { grid-column: span 2; }.optimisation-dashboard,.performance-gauge-panel,.optimisation-evidence { max-width: 650px; }.optimisation-detail-grid { grid-template-columns: 1fr; }.optimisation-detail { min-height: 0; } }
@media (max-width: 720px) { .optimisation-dashboard { padding: 24px; }.optimisation-dashboard-head { align-items: flex-start; flex-direction: column; }.optimisation-service-grid,.optimisation-check-grid,.optimisation-compare-grid { grid-template-columns: 1fr; }.optimisation-service-featured { grid-column: auto; }.optimisation-service-card { min-height: 0; }.performance-gauge-panel,.optimisation-detail,.optimisation-evidence,.optimisation-compare-grid article { padding: 26px; }.performance-gauges i { width: 70px; height: 70px; }.optimisation-check-grid article { min-height: 0; }.optimisation-check-grid span { margin-bottom: 25px; }.optimisation-phone { min-height: 460px; }.optimisation-phone-screen { min-height: 430px; } }

/* Free SEO Audit page */
.audit-hero { position: relative; overflow: hidden; color: rgba(255,255,255,.73); background: var(--navy); }.audit-hero::before { position: absolute; top: -210px; right: -90px; width: 620px; height: 620px; border: 1px solid rgba(38,176,70,.24); border-radius: 46% 54% 61% 39%; background: rgba(38,176,70,.035); content: ""; transform: rotate(17deg); }.audit-hero .container { position: relative; z-index: 1; padding-top: 24px; padding-bottom: 90px; }.audit-hero-layout { display: grid; align-items: center; grid-template-columns: minmax(0,1.12fr) minmax(360px,.88fr); gap: 80px; }.audit-hero-copy h1 { max-width: 820px; color: var(--white); font-size: clamp(3.2rem,5.8vw,6rem); line-height: .98; letter-spacing: -.055em; }.audit-hero-copy > p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.7); }.audit-hero-copy .service-hero-lead { color: var(--white); }.audit-trust-line { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 24px; }.audit-trust-line span { position: relative; color: rgba(255,255,255,.55); font-size: .68rem; font-weight: 700; }.audit-trust-line span:not(:last-child)::after { position: absolute; top: 50%; right: -12px; width: 4px; height: 4px; border-radius: 50%; background: var(--green); content: ""; }
.audit-report-preview { overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-lg); color: var(--ink); background: var(--white); box-shadow: 0 34px 90px rgba(0,0,0,.25); }.audit-report-head { display: grid; padding: 24px 28px; border-bottom: 1px solid var(--line); }.audit-report-head span { color: var(--green-dark); font-size: .63rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }.audit-report-head strong { margin-top: 7px; color: var(--navy); font-size: 1.2rem; }.audit-report-head small { margin-top: 3px; color: var(--muted); font-size: .65rem; }.audit-report-score { display: flex; align-items: center; gap: 17px; padding: 24px 28px; background: var(--surface); }.audit-report-score > i { display: grid; width: 62px; height: 62px; place-items: center; border: 7px solid var(--green-pale); border-top-color: var(--green); border-radius: 50%; }.audit-report-score b { color: var(--navy); font-size: 1.2rem; }.audit-report-score strong,.audit-report-score small { display: block; }.audit-report-score strong { color: var(--navy); font-size: .8rem; }.audit-report-score small { margin-top: 4px; color: var(--muted); font-size: .63rem; }.audit-report-findings { display: grid; gap: 1px; padding: 1px 28px; background: var(--line); }.audit-report-findings p { display: grid; align-items: center; grid-template-columns: 25px 8px 1fr; gap: 10px; margin: 0; padding: 18px 0; background: var(--white); }.audit-report-findings span { color: var(--muted); font-size: .62rem; }.audit-report-findings i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }.audit-report-findings b { color: var(--navy); font-size: .72rem; }.audit-report-footer { display: flex; align-items: center; gap: 8px; margin: 23px 28px; padding: 11px 13px; border-radius: 7px; color: var(--muted); background: var(--green-pale); font-size: .65rem; font-weight: 750; }.audit-report-footer i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.audit-intro-section { background: var(--white); }.audit-one-sentence { display: grid; gap: 13px; margin-top: 35px; padding: 25px; border-left: 4px solid var(--green); background: var(--green-pale); }.audit-one-sentence span { color: var(--green-dark); font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }.audit-one-sentence strong { color: var(--navy); font-size: 1rem; line-height: 1.5; }
.audit-includes-section { background: var(--surface); }.audit-includes-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.audit-include { min-height: 330px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }.audit-include-featured { grid-column: span 2; color: rgba(255,255,255,.7); background: var(--navy); }.audit-include-featured h3 { color: var(--white); }.audit-include > span { display: block; margin-bottom: 48px; color: var(--green-dark); font-size: .7rem; font-weight: 900; }.audit-include-featured > span { color: #9fe0ae; }.audit-include p { color: var(--muted); font-size: .9rem; }.audit-include-featured p { color: rgba(255,255,255,.67); }.audit-receive { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; margin-top: 18px; padding: 42px; border-radius: var(--radius-lg); color: rgba(255,255,255,.7); background: var(--navy); }.audit-receive h3 { color: var(--white); font-size: 2rem; }.audit-receive > div:last-child p { color: rgba(255,255,255,.65); }
.audit-limits-section { color: rgba(255,255,255,.7); background: var(--navy); }.audit-limits-section h2,.audit-limits-section h3 { color: var(--white); }.audit-limits-section .strategy-intro > p:last-child { color: rgba(255,255,255,.64); }.audit-limits-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 45px; padding: 1px; background: rgba(255,255,255,.13); }.audit-limits-grid article { min-height: 260px; padding: 28px; background: var(--navy); }.audit-limits-grid span { display: block; margin-bottom: 43px; color: #9fe0ae; font-size: .68rem; font-weight: 900; }.audit-limits-grid p { color: rgba(255,255,255,.63); font-size: .88rem; }
.audit-compare-section { background: var(--white); }.audit-comparison { margin: 45px 0 28px; border: 1px solid var(--line); }.audit-comparison > div { display: grid; grid-template-columns: .6fr 1fr 1fr; }.audit-comparison > div:not(:last-child) { border-bottom: 1px solid var(--line); }.audit-comparison span,.audit-comparison p,.audit-comparison strong { margin: 0; padding: 16px 18px; }.audit-comparison p { color: var(--muted); font-size: .84rem; }.audit-comparison p:not(:last-child),.audit-comparison span { border-right: 1px solid var(--line); }.audit-comparison span { color: var(--navy); font-size: .7rem; font-weight: 850; }.audit-comparison-head { color: var(--white); background: var(--navy); }.audit-comparison-head span,.audit-comparison-head strong { color: var(--white); font-size: .7rem; text-transform: uppercase; }.audit-comparison-head strong:first-of-type { border-right: 1px solid rgba(255,255,255,.2); }
.audit-process-section { background: var(--surface); }.audit-access-note { display: grid; grid-template-columns: .55fr 1.45fr; gap: 35px; margin-top: 35px; padding: 28px; border-left: 4px solid var(--green); background: var(--white); }.audit-access-note span { color: var(--navy); font-weight: 850; }.audit-access-note p { margin: 0; color: var(--muted); }
.audit-for-section { background: var(--white); }.audit-for-layout { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }.audit-for-column { padding: 42px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }.audit-for-column ul { display: grid; gap: 14px; margin: 30px 0 0; padding: 0; list-style: none; }.audit-for-column li { position: relative; padding-left: 25px; color: var(--muted); }.audit-for-column li::before { position: absolute; top: .55em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--green); content: ""; }.audit-for-no { color: rgba(255,255,255,.7); background: var(--navy); }.audit-for-no h2 { color: var(--white); }.audit-for-no li { color: rgba(255,255,255,.65); }.audit-for-no a { color: #9fe0ae; }.audit-for-no > div { margin-top: 32px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.12); }.audit-for-no > div strong { color: var(--white); }.audit-for-no > div p { color: rgba(255,255,255,.58); }
.audit-form-section { color: rgba(255,255,255,.72); background: var(--navy); }.audit-form-section h2 { color: var(--white); }.audit-form-layout { display: grid; align-items: start; grid-template-columns: .75fr 1.25fr; gap: 80px; }.audit-form-copy { position: sticky; top: 130px; }.audit-form-copy > p:not(.eyebrow) { color: rgba(255,255,255,.65); }.audit-form-copy ul { display: grid; gap: 13px; margin: 35px 0 0; padding: 0; list-style: none; }.audit-form-copy li { position: relative; padding-left: 24px; }.audit-form-copy li::before { position: absolute; top: .55em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--green); content: ""; }
.audit-email-card { display: grid; align-content: center; min-height: 380px; padding: 44px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); color: rgba(255,255,255,.66); background: rgba(255,255,255,.07); box-shadow: 0 30px 80px rgba(0,0,0,.2); }.audit-email-card > span { color: var(--green); font-size: .67rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }.audit-email-card h3 { margin: 16px 0 12px; color: var(--white); font-size: clamp(1.8rem,4vw,2.7rem); }.audit-email-card p { margin: 0 0 28px; }.audit-email-card .button { justify-self: start; }.audit-email-card small { margin-top: 16px; color: rgba(255,255,255,.45); font-size: .66rem; }
.audit-form { padding: 38px; border-radius: var(--radius-lg); color: var(--ink); background: var(--white); box-shadow: 0 30px 80px rgba(0,0,0,.22); }.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px 18px; }.audit-form label { display: grid; gap: 6px; color: var(--navy); font-size: .75rem; font-weight: 850; }.audit-form label > span { color: var(--green-dark); }.audit-form label small { color: var(--muted); font-size: .62rem; font-weight: 500; }.audit-form input:not([type="checkbox"]),.audit-form textarea { width: 100%; border: 1px solid #cbd5da; border-radius: 6px; padding: 12px 13px; color: var(--ink); background: var(--white); font: inherit; font-size: .86rem; }.audit-form input:focus,.audit-form textarea:focus { border-color: var(--green); outline: 3px solid rgba(38,176,70,.14); }.form-wide { grid-column: 1 / -1; }.audit-form .form-consent { display: flex; align-items: flex-start; grid-template-columns: none; gap: 10px; color: var(--muted); font-weight: 500; }.form-consent input { width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--green); }.form-consent a { color: var(--navy); font-weight: 800; }.audit-form > .button { width: 100%; margin-top: 25px; }.audit-form-note { margin: 14px 0 0; color: var(--muted); font-size: .66rem; text-align: center; }.final-cta-note { margin-top: 18px; color: rgba(255,255,255,.46); font-size: .68rem; }
@media (max-width: 980px) { .audit-hero-layout,.audit-form-layout { grid-template-columns: 1fr; gap: 50px; }.audit-report-preview { max-width: 650px; }.audit-includes-grid,.audit-limits-grid { grid-template-columns: repeat(2,1fr); }.audit-include-featured { grid-column: span 2; }.audit-form-copy { position: static; }.audit-for-layout { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .audit-hero .container { padding-bottom: 65px; }.audit-hero-copy h1 { font-size: clamp(2.8rem,12vw,4rem); }.audit-trust-line { display: grid; }.audit-trust-line span::after { display: none; }.audit-includes-grid,.audit-limits-grid { grid-template-columns: 1fr; }.audit-include-featured { grid-column: auto; }.audit-include,.audit-limits-grid article { min-height: 0; }.audit-receive,.audit-access-note { grid-template-columns: 1fr; gap: 20px; padding: 27px; }.audit-comparison { overflow-x: auto; }.audit-comparison > div { min-width: 650px; }.audit-for-column,.audit-form,.audit-email-card { min-height: 0; padding: 26px; }.form-grid { grid-template-columns: 1fr; }.form-wide { grid-column: auto; } }

/* About page */
.about-service-hero::before { width: 640px; height: 640px; border-radius: 42% 58% 47% 53%; transform: rotate(14deg); }
.about-founder-card { overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-lg); color: var(--ink); background: var(--white); box-shadow: 0 34px 90px rgba(0,0,0,.25); }.about-founder-mark { display: grid; min-height: 190px; place-items: center; color: var(--white); background: linear-gradient(145deg,var(--navy),#073f78); font-size: 4rem; font-weight: 900; letter-spacing: -.08em; }.about-founder-name { padding: 23px 28px; border-bottom: 1px solid var(--line); }.about-founder-name span,.about-founder-name strong,.about-founder-name small { display: block; }.about-founder-name span { color: var(--green-dark); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }.about-founder-name strong { margin-top: 5px; color: var(--navy); font-size: 1.25rem; }.about-founder-name small { margin-top: 3px; color: var(--muted); font-size: .66rem; }.about-founder-principles { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; padding: 23px 28px; }.about-founder-principles p { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--muted); font-size: .68rem; }.about-founder-principles i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--green); }.about-founder-footer { padding: 17px 28px; background: var(--green-pale); }.about-founder-footer span,.about-founder-footer strong { display: block; }.about-founder-footer span { color: var(--muted); font-size: .62rem; }.about-founder-footer strong { margin-top: 3px; color: var(--green-dark); font-size: .72rem; }
.about-focus-section { background: var(--white); }.about-inline-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 30px; }
.about-direct-section { color: rgba(255,255,255,.7); background: var(--navy); }.about-direct-section h2 { color: var(--white); }.about-direct-layout { display: grid; align-items: center; grid-template-columns: 1.18fr .82fr; gap: 90px; }.about-direct-copy p:not(.eyebrow) { color: rgba(255,255,255,.66); }.about-direct-quote { padding: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); background: rgba(0,14,32,.5); }.about-direct-quote > span { display: block; color: var(--green); font-family: Georgia,serif; font-size: 5rem; line-height: .7; }.about-direct-quote blockquote { margin: 24px 0; color: var(--white); font-size: 1.35rem; font-weight: 750; line-height: 1.45; }.about-direct-quote p { margin: 0; color: #9fe0ae; font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.about-background-section { background: var(--surface); }.about-experience-panel { padding: 36px; border-radius: var(--radius-lg); color: rgba(255,255,255,.7); background: var(--navy); box-shadow: var(--shadow); }.about-experience-panel > strong { display: block; color: var(--green); font-size: 7rem; line-height: .9; letter-spacing: -.07em; }.about-experience-panel > p { max-width: 300px; margin: 12px 0 35px; color: var(--white); font-size: 1.2rem; font-weight: 800; line-height: 1.35; }.about-experience-panel > div { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.about-experience-panel > div span { padding: 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; color: rgba(255,255,255,.58); font-size: .62rem; text-align: center; }
.about-credentials-section { background: var(--white); }.about-credentials-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-top: 45px; }.about-credentials-grid article { min-height: 300px; padding: 29px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }.about-credentials-grid article:nth-child(2),.about-credentials-grid article:nth-child(5) { border-top: 5px solid var(--green); }.about-credentials-grid span { display: block; margin-bottom: 50px; color: var(--green-dark); font-size: .68rem; font-weight: 900; }.about-credentials-grid p { color: var(--muted); font-size: .9rem; }
.about-purpose-section { background: var(--surface); }.about-approach-section { color: rgba(255,255,255,.7); background: var(--navy); }.about-approach-section h2,.about-approach-section h3 { color: var(--white); }.about-approach-section .section-title-row > p { color: rgba(255,255,255,.62); }.about-approach-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; padding: 1px; background: rgba(255,255,255,.13); }.about-approach-grid article { min-height: 310px; padding: 30px; background: var(--navy); }.about-approach-grid span { display: block; margin-bottom: 50px; color: #9fe0ae; font-size: .68rem; font-weight: 900; }.about-approach-grid p { color: rgba(255,255,255,.62); font-size: .88rem; }
.about-services-section { background: var(--white); }.about-services-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin-top: 45px; padding: 1px; background: var(--line); }.about-services-list a { display: grid; align-items: center; grid-template-columns: 42px 1fr auto; gap: 15px; padding: 24px; color: var(--ink); background: var(--surface); transition: background .2s ease; }.about-services-list a:hover { background: var(--green-pale); }.about-services-list span { color: var(--green-dark); font-size: .65rem; font-weight: 900; }.about-services-list strong { color: var(--navy); }.about-services-list small { color: var(--muted); font-size: .65rem; }
.about-fit-section { color: rgba(255,255,255,.7); background: var(--navy); }.about-fit-section h2 { color: var(--white); }.about-fit-layout { display: grid; align-items: center; grid-template-columns: 1.1fr .9fr; gap: 80px; }.about-fit-copy > p:not(.eyebrow) { color: rgba(255,255,255,.65); }.about-fit-copy ul { display: grid; gap: 13px; margin: 30px 0 0; padding: 0; list-style: none; }.about-fit-copy li { position: relative; padding-left: 24px; }.about-fit-copy li::before { position: absolute; top: .55em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--green); content: ""; }.about-focus-card { padding: 38px; border-radius: var(--radius-lg); color: var(--ink); background: var(--white); box-shadow: 0 25px 70px rgba(0,0,0,.22); }.about-focus-card > span { color: var(--green-dark); font-size: .68rem; font-weight: 900; text-transform: uppercase; }.about-focus-card h3 { margin-top: 10px; color: var(--navy); font-size: 2rem; }.about-focus-card > p { color: var(--muted); }.about-focus-card > div { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }.about-focus-card strong,.about-focus-card small { display: block; }.about-focus-card strong { color: var(--navy); }.about-focus-card small { margin-top: 7px; color: var(--muted); line-height: 1.5; }
.about-promises-section { background: var(--surface); }.about-promise-layout { display: grid; align-items: stretch; grid-template-columns: repeat(2,1fr); gap: 20px; margin-top: 45px; }.about-promise-card { display: flex; flex-direction: column; min-height: 100%; padding: 38px; border-radius: var(--radius-md); }.about-wont { border: 1px solid var(--line); background: var(--white); box-shadow: 0 16px 45px rgba(0,32,70,.06); }.about-instead { color: rgba(255,255,255,.75); background: var(--navy); box-shadow: 0 22px 55px rgba(0,32,70,.2); }.about-promise-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 27px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }.about-instead .about-promise-heading { border-color: rgba(255,255,255,.14); }.about-promise-heading > span { display: grid; width: 46px; height: 46px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--white); background: #7e909d; font-size: 1.4rem; font-weight: 900; line-height: 1; }.about-instead .about-promise-heading > span { color: var(--navy); background: var(--green); }.about-promise-heading div { display: grid; gap: 3px; }.about-promise-heading small { color: var(--muted); font-size: .6rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }.about-instead .about-promise-heading small { color: var(--green); }.about-promise-heading h3 { margin: 0; color: var(--navy); font-size: 1.25rem; }.about-instead .about-promise-heading h3 { color: var(--white); }.about-wont ul,.about-instead ul { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }.about-wont li,.about-instead li { position: relative; padding-left: 27px; }.about-wont li::before,.about-instead li::before { position: absolute; top: .55em; left: 0; width: 9px; height: 9px; border-radius: 50%; content: ""; }.about-wont li::before { border: 2px solid #91a1ab; background: transparent; }.about-instead li::before { background: var(--green); box-shadow: 0 0 0 4px rgba(38,176,70,.13); }.about-proof-note { display: grid; grid-template-columns: .55fr 1.45fr; gap: 35px; margin-top: 20px; padding: 28px; border-left: 4px solid var(--green); background: var(--white); }.about-proof-note strong { color: var(--navy); }.about-proof-note p { margin: 0; color: var(--muted); }
.about-process-section { background: var(--white); }
@media (max-width: 980px) { .about-direct-layout,.about-fit-layout { grid-template-columns: 1fr; gap: 50px; }.about-founder-card,.about-experience-panel,.about-direct-quote,.about-focus-card { max-width: 650px; }.about-approach-grid,.about-credentials-grid { grid-template-columns: repeat(2,1fr); }.about-services-list { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .about-founder-principles,.about-experience-panel > div,.about-approach-grid,.about-credentials-grid,.about-promise-layout { grid-template-columns: 1fr; }.about-direct-quote,.about-experience-panel,.about-focus-card,.about-wont,.about-instead { padding: 27px; }.about-credentials-grid article,.about-approach-grid article { min-height: 0; }.about-credentials-grid span,.about-approach-grid span { margin-bottom: 30px; }.about-services-list a { align-items: start; grid-template-columns: 35px 1fr; }.about-services-list small { grid-column: 2; }.about-proof-note { grid-template-columns: 1fr; gap: 15px; } }

/* Contact page */
.contact-hero { overflow: hidden; }
.contact-hero-layout { display: grid; align-items: center; grid-template-columns: 1.12fr .88fr; gap: 78px; }
.contact-route-card { position: relative; overflow: hidden; padding: 36px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); color: var(--white); background: rgba(255,255,255,.07); box-shadow: 0 28px 75px rgba(0,0,0,.24); backdrop-filter: blur(12px); }
.contact-route-card::after { position: absolute; right: -70px; bottom: -80px; width: 210px; height: 210px; border: 50px solid rgba(38,176,70,.12); border-radius: 50%; content: ""; }
.contact-route-label { display: block; margin-bottom: 22px; color: var(--green); font-size: .67rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.contact-route-line { display: grid; align-items: center; grid-template-columns: 12px 1fr 12px 1fr 12px; margin-bottom: 26px; }
.contact-route-line i { width: 12px; height: 12px; border: 3px solid var(--green); border-radius: 50%; background: var(--navy); }
.contact-route-line span { height: 2px; background: rgba(255,255,255,.2); }
.contact-route-card ol { position: relative; z-index: 1; display: grid; gap: 20px; margin: 0; padding: 0; list-style: none; }
.contact-route-card li { display: grid; grid-template-columns: 38px 1fr; gap: 13px; }
.contact-route-card li b { color: var(--green); font-size: .7rem; }
.contact-route-card li span { display: grid; gap: 3px; }
.contact-route-card li strong { font-size: .9rem; }
.contact-route-card li small { color: rgba(255,255,255,.56); }
.contact-route-footer { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; margin-top: 29px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.68); font-size: .7rem; }
.contact-route-footer i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(38,176,70,.13); }
.contact-form-section { color: rgba(255,255,255,.72); background: var(--navy); }
.contact-form-layout { display: grid; align-items: start; grid-template-columns: .72fr 1.28fr; gap: 76px; }
.contact-form-copy { position: sticky; top: 130px; }
.contact-form-copy h2 { color: var(--white); }
.contact-form-copy > p:not(.eyebrow):not(.contact-details-note) { color: rgba(255,255,255,.64); }
.contact-details { display: grid; gap: 18px; margin-top: 35px; }
.contact-details div { display: grid; gap: 4px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
.contact-details span { color: var(--green); font-size: .63rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.contact-details strong { color: var(--white); font-size: .82rem; overflow-wrap: anywhere; }
.contact-email { color: var(--white); text-decoration: underline; text-decoration-color: rgba(38,176,70,.7); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.contact-email:hover { color: var(--green); }
.contact-details-note { margin-top: 23px; padding: 15px; border-left: 3px solid var(--green); color: rgba(255,255,255,.52); background: rgba(255,255,255,.05); font-size: .67rem; }
.contact-placeholder { display: grid; align-content: center; min-height: 360px; padding: 42px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); color: rgba(255,255,255,.65); background: rgba(255,255,255,.07); box-shadow: 0 30px 80px rgba(0,0,0,.18); }
.contact-placeholder > span { color: var(--green); font-size: .67rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.contact-placeholder h3 { margin: 16px 0 12px; color: var(--white); font-size: clamp(1.8rem,4vw,2.7rem); }
.contact-placeholder p { margin: 0; }
.contact-placeholder > .button { justify-self: start; margin-top: 30px; }
.contact-placeholder > small { display: block; margin-top: 18px; color: rgba(255,255,255,.62); font-size: .7rem; line-height: 1.6; }
.contact-placeholder > small a { color: var(--white); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.contact-placeholder div { display: flex; align-items: center; gap: 10px; margin-top: 35px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); font-size: .7rem; }
.contact-placeholder i { width: 8px; height: 8px; border-radius: 50%; background: #8da0aa; }
.contact-form select { width: 100%; border: 1px solid #cbd5da; border-radius: 6px; padding: 12px 13px; color: var(--ink); background: var(--white); font: inherit; font-size: .86rem; }
.contact-form select:focus { border-color: var(--green); outline: 3px solid rgba(38,176,70,.14); }
.contact-preference { display: grid; align-content: end; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 0; padding: 0; border: 0; }
.contact-preference legend { margin-bottom: 8px; color: var(--navy); font-size: .75rem; font-weight: 850; }
.contact-preference label { display: flex; align-items: center; gap: 8px; padding: 12px; border: 1px solid #cbd5da; border-radius: 6px; color: var(--ink); font-size: .78rem; }
.contact-preference input { accent-color: var(--green); }
.contact-privacy { margin: 23px 0 0; color: var(--muted); font-size: .68rem; }
.contact-privacy a { color: var(--navy); font-weight: 800; }
.contact-audit-section { background: var(--surface); }
.contact-audit-layout { display: grid; align-items: center; grid-template-columns: .75fr 1.25fr; gap: 84px; }
.contact-audit-mark { position: relative; display: grid; align-content: center; min-height: 350px; padding: 45px; border-radius: var(--radius-lg); color: var(--white); background: var(--navy); box-shadow: var(--shadow); }
.contact-audit-mark span { position: relative; z-index: 1; color: var(--green); font-size: clamp(4.5rem,9vw,7.5rem); font-weight: 950; line-height: .85; letter-spacing: -.08em; }
.contact-audit-mark strong { position: relative; z-index: 1; margin-top: 20px; font-size: 1.2rem; }
.contact-audit-mark i { position: absolute; right: 35px; bottom: 35px; width: 135px; height: 135px; border: 25px solid rgba(38,176,70,.18); border-radius: 50%; }
.contact-process-section { background: var(--white); }
.contact-area-section { color: rgba(255,255,255,.68); background: #041a32; }
.contact-area-layout { display: grid; align-items: center; grid-template-columns: 1.25fr .75fr; gap: 80px; }
.contact-area-copy h2 { color: var(--white); }
.contact-area-card { display: grid; min-height: 280px; align-content: center; padding: 42px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-lg); background: rgba(255,255,255,.06); }
.contact-area-card > span { color: var(--green); font-size: .67rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.contact-area-card > strong { margin-top: 15px; color: var(--white); font-size: clamp(3rem,6vw,5rem); line-height: .9; letter-spacing: -.06em; }
.contact-area-card > small { margin-top: 8px; color: rgba(255,255,255,.5); }
.contact-area-card div { display: flex; align-items: center; gap: 10px; margin-top: 35px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); font-size: .7rem; }
.contact-area-card i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
@media (max-width: 980px) { .contact-hero-layout,.contact-form-layout,.contact-audit-layout,.contact-area-layout { grid-template-columns: 1fr; gap: 50px; }.contact-route-card,.contact-placeholder,.contact-audit-mark,.contact-area-card { max-width: 650px; }.contact-form-copy { position: static; } }
@media (max-width: 720px) { .contact-route-card,.contact-placeholder,.contact-audit-mark,.contact-area-card { min-height: 0; padding: 27px; }.contact-preference { grid-template-columns: 1fr; }.contact-form .form-grid { grid-template-columns: 1fr; }.contact-form .form-wide { grid-column: auto; } }

/* Privacy policy */
.privacy-hero-layout { max-width: 900px; padding-bottom: 24px; }
.privacy-meta { display: flex; align-items: center; gap: 12px; margin-top: 34px; color: rgba(255,255,255,.58); font-size: .7rem; }
.privacy-meta span { text-transform: uppercase; letter-spacing: .1em; }
.privacy-meta strong { color: var(--white); }
.privacy-content-section { background: var(--surface); }
.privacy-layout { display: grid; align-items: start; grid-template-columns: 250px minmax(0,1fr); gap: 72px; }
.privacy-toc { position: sticky; top: 120px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: 0 16px 45px rgba(0,32,70,.06); }
.privacy-toc > span { display: block; margin-bottom: 17px; color: var(--navy); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.privacy-toc nav { display: grid; gap: 2px; }
.privacy-toc a { padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .74rem; }
.privacy-toc a:last-child { border-bottom: 0; }
.privacy-toc a:hover { color: var(--green-dark); }
.privacy-copy { min-width: 0; }
.privacy-copy > section { padding: 58px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.privacy-copy > section:last-child { padding-bottom: 0; border-bottom: 0; }
.privacy-copy h2 { max-width: 760px; margin-bottom: 24px; }
.privacy-copy h3 { margin: 28px 0 12px; color: var(--navy); font-size: 1.08rem; }
.privacy-copy p,.privacy-copy li { color: var(--muted); }
.privacy-copy ul { display: grid; gap: 11px; margin: 22px 0; padding-left: 20px; }
.privacy-copy a { color: var(--green-dark); font-weight: 800; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.privacy-summary { padding: 27px 30px; border-left: 4px solid var(--green); background: var(--white); box-shadow: 0 14px 38px rgba(0,32,70,.05); }
.privacy-summary strong { color: var(--navy); }
.privacy-summary p { margin: 8px 0 0; }
.privacy-contact-card { display: grid; gap: 9px; margin-top: 25px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.privacy-contact-card strong { color: var(--navy); }
.privacy-contact-card span { color: var(--muted); font-size: .75rem; }
.privacy-basis-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 30px; }
.privacy-basis-grid article { padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.privacy-basis-grid h3 { margin-top: 0; }
.privacy-basis-grid dl { margin: 20px 0 0; padding-top: 17px; border-top: 1px solid var(--line); }
.privacy-basis-grid dt { color: var(--green-dark); font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.privacy-basis-grid dd { margin: 6px 0 0; color: var(--muted); font-size: .75rem; }
.privacy-right-object { margin: 25px 0; padding: 25px; border-radius: var(--radius-md); color: rgba(255,255,255,.72); background: var(--navy); }
.privacy-right-object strong { color: var(--green); }
.privacy-right-object p { margin: 8px 0 0; color: rgba(255,255,255,.7); }
.privacy-retention { display: grid; margin: 26px 0; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: var(--white); }
.privacy-retention div { display: grid; grid-template-columns: .85fr 1.15fr; gap: 25px; padding: 22px 25px; border-bottom: 1px solid var(--line); }
.privacy-retention div:last-child { border-bottom: 0; }
.privacy-retention strong { color: var(--navy); }
.privacy-retention span { color: var(--muted); font-size: .78rem; }
.cookie-table-wrap { max-width: 100%; margin: 25px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.cookie-table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: .75rem; }
.cookie-table th,.cookie-table td { padding: 17px 18px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.cookie-table th { color: var(--white); background: var(--navy); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.cookie-table tr:last-child td { border-bottom: 0; }
.cookie-table code { color: var(--navy); font-weight: 850; }
@media (max-width: 980px) { .privacy-layout { grid-template-columns: 1fr; gap: 30px; }.privacy-toc { position: static; }.privacy-toc nav { grid-template-columns: repeat(2,1fr); column-gap: 25px; } }
@media (max-width: 720px) { .privacy-toc nav,.privacy-basis-grid { grid-template-columns: 1fr; }.privacy-copy > section { padding: 45px 0; }.privacy-summary,.privacy-contact-card,.privacy-basis-grid article,.privacy-right-object { padding: 23px; }.privacy-retention div { grid-template-columns: 1fr; gap: 8px; } }

/* Motion */
.js-ready .reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.js-ready .reveal-delay {
  transition-delay: 0.12s;
}

.js-ready .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1120px) {
  .brand-full img {
    width: 300px;
  }

  .primary-nav {
    gap: 12px;
  }

  .nav-link {
    padding-inline: 8px;
  }

  .hero-inner {
    grid-template-columns: minmax(0, 1.25fr) minmax(310px, 0.75fr);
    gap: 38px;
  }

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

  .strategy-steps li:nth-child(3) {
    border-right: 0;
  }
}

@media (max-width: 980px) {
  .section {
    padding: 88px 0;
  }

  .site-header {
    background: var(--white);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  body.menu-open::before {
    position: fixed;
    z-index: 90;
    top: 76px;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 20, 45, 0.58);
    content: "";
    backdrop-filter: blur(3px);
  }

  .header-inner {
    min-height: 76px;
  }

  .brand-full {
    display: none;
  }

  .brand-icon {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 10px;
    background: var(--navy) url("favicon.svg") center / contain no-repeat;
    box-shadow: 0 7px 18px rgba(0, 32, 70, 0.14);
  }

  .brand-icon img {
    display: none;
  }

  .menu-toggle {
    display: inline-flex;
    min-height: 48px;
    padding: 8px 14px;
    border-color: rgba(0, 32, 70, 0.14);
    border-radius: 10px;
    box-shadow: 0 5px 16px rgba(0, 32, 70, 0.07);
  }

  .primary-nav {
    position: fixed;
    top: 76px;
    right: 0;
    bottom: auto;
    left: auto;
    display: block;
    width: min(90vw, 410px);
    height: calc(100vh - 76px);
    height: calc(100dvh - 76px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 18px 20px max(34px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: #f8fafb;
    box-shadow: -24px 0 60px rgba(0, 32, 70, 0.2);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateX(100%);
    transition: opacity 0.22s ease, transform 0.24s ease, visibility 0.24s;
  }

  .primary-nav.is-open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateX(0);
  }

  .nav-list {
    display: grid;
    gap: 8px;
  }

  .nav-list > li {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--white);
  }

  .nav-link {
    display: flex;
    width: 100%;
    min-height: 56px;
    justify-content: space-between;
    padding: 12px 15px;
    font-size: 0.98rem;
  }

  .nav-link.is-current,
  .nav-list > li > a[aria-current="page"] {
    color: var(--green-dark);
    background: var(--green-pale);
  }

  .nav-dropdown-toggle span {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: var(--green-pale);
    line-height: 1;
  }

  .nav-dropdown {
    position: static;
    display: none;
    width: auto;
    margin: 0 10px 10px;
    padding: 7px;
    border: 1px solid #dce8df;
    border-radius: 9px;
    background: #f2f8f3;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .nav-dropdown-toggle[aria-expanded="true"] + .nav-dropdown {
    display: block;
  }

  .nav-dropdown a {
    min-height: 46px;
    padding: 12px 11px;
    border-radius: 7px;
    font-size: 0.86rem;
  }

  .nav-dropdown li + li a {
    border-top: 1px solid rgba(0, 32, 70, 0.08);
  }

  .header-cta {
    display: flex;
    width: 100%;
    min-height: 54px;
    justify-content: center;
    margin-top: 16px;
    border-radius: 10px;
    font-size: 0.9rem;
  }

  .hero-inner {
    min-height: 0;
    grid-template-columns: 1fr;
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .hero-panel {
    max-width: 580px;
  }

  .split-layout,
  .section-title-row,
  .feature-layout,
  .feature-layout-reverse,
  .audit-layout,
  .faq-layout,
  .final-cta-inner {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .section-heading,
  .faq-heading {
    position: static;
  }

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

  .service-card-featured {
    grid-column: span 2;
  }

  .local-bottom {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .website-cards,
  .foundations-grid {
    grid-template-columns: 1fr;
  }

  .foundation-index {
    margin-bottom: 30px;
  }

  .audit-layout {
    align-items: start;
  }

  .audit-card {
    max-width: 650px;
  }

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

  .footer-grid > div:last-child {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  body {
    font-size: 16px;
  }

  .container {
    width: min(calc(100% - 32px), var(--container));
  }

  .section {
    padding: 72px 0;
  }

  h1 {
    font-size: clamp(2.65rem, 13vw, 4.3rem);
  }

  h2 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .hero-inner {
    padding-top: 64px;
    padding-bottom: 70px;
  }

  .hero-lead {
    font-size: 1.14rem;
  }

  .hero-panel {
    padding: 22px;
  }

  .trust-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 14px 0;
  }

  .trust-grid span {
    padding: 12px 4px;
    font-size: 0.66rem;
  }

  .trust-grid span::after {
    display: none;
  }

  .services-grid,
  .local-signal-grid,
  .strategy-steps {
    grid-template-columns: 1fr;
  }

  .service-card-featured {
    grid-column: auto;
  }

  .service-card {
    min-height: 0;
  }

  .search-visual {
    padding: 18px 18px 90px;
  }

  .search-annotation {
    right: 18px;
    bottom: -24px;
    width: min(240px, calc(100% - 36px));
  }

  .local-bottom .button-row,
  .final-cta .button-row,
  .audit-copy .button-row,
  .hero .button-row {
    align-items: stretch;
    flex-direction: column;
  }

  .website-card,
  .conversion-principle,
  .audit-card {
    padding: 28px;
  }

  .principle-path {
    grid-template-columns: 1fr;
  }

  .principle-path i {
    transform: rotate(90deg);
  }

  .foundations-grid {
    border-left: 0;
  }

  .foundation-block {
    padding: 36px 4px;
    border-right: 0;
  }

  .strategy-steps li,
  .strategy-steps li:nth-child(3) {
    min-height: 0;
    border-right: 0;
  }

  .strategy-steps li > span {
    margin-bottom: 34px;
  }

  .faq-list summary {
    min-height: 74px;
    font-size: 1rem;
  }

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

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-grid > div:last-child {
    grid-column: auto;
  }

  .footer-brand img {
    width: min(100%, 320px);
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

@media (max-width: 430px) {
  .menu-toggle-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .button {
    width: 100%;
  }

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

  .footer-brand,
  .footer-grid > div:last-child {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  .site-header,
  .button,
  .menu-toggle,
  .final-cta,
  .site-footer {
    display: none !important;
  }

  .section {
    padding: 40px 0;
  }

  .hero {
    color: var(--ink);
    background: var(--white);
  }

  .hero h1,
  .local-section h2,
  .audit-section h2 {
    color: var(--navy);
  }

  .hero-panel,
  .local-section,
  .audit-section {
    color: var(--ink);
    background: var(--surface);
  }
}
