/* Blueprint-inspired visual layer: lightweight linework, stronger contrast, and depth. */
.hero,
.page-intro {
  background-color: var(--paper);
  background-image:
    linear-gradient(95deg, rgba(245,245,242,.91) 0%, rgba(245,245,242,.82) 54%, rgba(245,245,242,.68) 100%),
    url('/manus-storage/async-images/yeCE9rGGbLyZTEYPZOZHLB/image-1.webp'),
    linear-gradient(rgba(32,57,79,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32,57,79,.035) 1px, transparent 1px),
    radial-gradient(ellipse at 80% 50%, transparent 0 37%, rgba(89,103,127,.09) 37.2% 37.35%, transparent 37.55%),
    radial-gradient(ellipse at 81% 50%, transparent 0 49%, rgba(89,103,127,.07) 49.2% 49.35%, transparent 49.55%);
  background-position: center, right center, center, center, 78% 50%, 78% 50%;
  background-size: 100% 100%, cover, 30px 30px, 30px 30px, 1040px 520px, 1320px 660px;
  background-repeat: no-repeat, no-repeat, repeat, repeat, no-repeat, no-repeat;
  border-bottom: 1px solid var(--line);
}

.hero-photo {
  position: relative;
  z-index: 1;
  border: 8px solid var(--white);
  box-shadow: 0 22px 55px rgba(32,57,79,.16);
}
.hero-visual::before {
  z-index: 2;
  top: -1.2rem;
  right: -1.2rem;
  width: 30%;
  height: 32%;
  border-color: var(--slate);
  pointer-events: none;
}
.photo-caption { z-index: 3; }

.hero .eyebrow,
.page-intro .eyebrow,
.section-heading .eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: .38rem .7rem;
  border-left: 3px solid var(--slate);
  background: rgba(255,255,255,.78);
}

.proof-band {
  color: var(--white);
  background: var(--ink);
  border-color: var(--ink);
}
.proof-item span { color: #d1d9e1; }
.proof-item + .proof-item { border-left-color: rgba(255,255,255,.24); }

.service-card {
  position: relative;
  border-top: 4px solid var(--silver);
  box-shadow: 0 7px 25px rgba(32,57,79,.055);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.service-card:nth-child(2) { margin-top: 1.15rem; }
.service-card:hover {
  transform: translateY(-4px);
  border-top-color: var(--slate);
  box-shadow: 0 15px 34px rgba(32,57,79,.12);
}
.service-card .card-index {
  width: fit-content;
  padding: .32rem .55rem;
  background: var(--mist);
}

.split-image img {
  border: 7px solid var(--white);
  box-shadow: 0 18px 44px rgba(32,57,79,.13);
}
.contact-card {
  border-top: 3px solid var(--silver);
  box-shadow: 0 8px 25px rgba(32,57,79,.05);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.contact-card:hover {
  transform: translateY(-3px);
  border-top-color: var(--slate);
  box-shadow: 0 14px 32px rgba(32,57,79,.1);
}
.about-quote {
  padding: 1.65rem;
  background: linear-gradient(135deg, rgba(233,237,241,.9), rgba(255,255,255,.48));
  border-left-width: 4px;
}

@media (max-width: 760px) {
  .hero,
  .page-intro {
    background-position: center, 78% center, center, center, 82% 48%, 82% 48%;
    background-size: 100% 100%, cover, 26px 26px, 26px 26px, 900px 450px, 1120px 560px;
  }
  .hero-photo { border-width: 5px; }
  .hero-visual::before { top: -.7rem; right: -.7rem; }
  .service-card:nth-child(2) { margin-top: 0; }
  .proof-item + .proof-item { border-top-color: rgba(255,255,255,.2); }
}

@media (prefers-reduced-motion: reduce) {
  .service-card,
  .contact-card { transition: none; }
  .service-card:hover,
  .contact-card:hover { transform: none; }
}

/* Logo-inspired website gradients: backgrounds change; the logo artwork remains untouched. */
body {
  background: linear-gradient(135deg, #f7f8fb 0%, #e8edf4 35%, #f3f5f8 68%, #dce4ee 100%);
  background-attachment: fixed;
}
.site-header {
  background: linear-gradient(105deg, rgba(247,248,251,.98) 0%, rgba(224,231,241,.97) 54%, rgba(244,246,249,.98) 100%);
}
.hero,
.page-intro {
  background-color: #e8edf4;
  background-image:
    linear-gradient(100deg, rgba(235,240,247,.95) 0%, rgba(215,224,237,.86) 56%, rgba(239,242,247,.78) 100%),
    url('/manus-storage/async-images/yeCE9rGGbLyZTEYPZOZHLB/image-1.webp'),
    linear-gradient(rgba(32,57,79,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32,57,79,.045) 1px, transparent 1px),
    radial-gradient(ellipse at 80% 50%, transparent 0 37%, rgba(89,103,127,.11) 37.2% 37.35%, transparent 37.55%),
    radial-gradient(ellipse at 81% 50%, transparent 0 49%, rgba(89,103,127,.085) 49.2% 49.35%, transparent 49.55%);
  background-position: center, right center, center, center, 78% 50%, 78% 50%;
  background-size: 100% 100%, cover, 30px 30px, 30px 30px, 1040px 520px, 1320px 660px;
  background-repeat: no-repeat, no-repeat, repeat, repeat, no-repeat, no-repeat;
}
.proof-band {
  background: linear-gradient(110deg, #20394f 0%, #344f6e 54%, #516987 100%);
}
.dark-panel {
  background: linear-gradient(125deg, #20394f 0%, #314a68 58%, #4e6583 100%);
}
.service-card,
.contact-card {
  background: linear-gradient(145deg, rgba(255,255,255,.98) 0%, rgba(231,236,244,.94) 100%);
}
.leader-card,
.email-panel {
  background: linear-gradient(125deg, #e8edf4 0%, #d8e1ec 100%);
}
.about-quote {
  background: linear-gradient(135deg, #e8edf4 0%, #d5dfeb 100%);
}
.site-footer {
  color: var(--ink);
  background: linear-gradient(115deg, #e5ebf3 0%, #cbd6e4 48%, #eef1f6 100%);
}
.footer-logo {
  padding: 0;
  background: transparent;
}
.footer-intro,
.footer-heading,
.footer-contact address,
.footer-bottom {
  color: var(--ink-soft);
}
.footer-links a,
.footer-contact a,
.footer-credit a {
  color: var(--ink);
}
.footer-links a,
.footer-contact a {
  text-decoration-color: var(--slate);
}
.footer-bottom { border-top-color: rgba(32,57,79,.22); }

@media (max-width: 760px) {
  body { background-attachment: scroll; }
  .hero,
  .page-intro {
    background-position: center, 78% center, center, center, 82% 48%, 82% 48%;
    background-size: 100% 100%, cover, 26px 26px, 26px 26px, 900px 450px, 1120px 560px;
  }
}

/* Final gradient composition: richer brand color under content, never inside the logo artwork. */
:root {
  --slate: #4e5d75;
}
body {
  background:
    radial-gradient(90rem 42rem at 108% -8%, rgba(143,164,203,.56) 0%, rgba(143,164,203,.18) 33%, transparent 66%),
    radial-gradient(68rem 34rem at -12% 47%, rgba(51,79,109,.16) 0%, rgba(90,114,146,.09) 42%, transparent 70%),
    linear-gradient(135deg, #f8f9fb 0%, #e4ebf4 34%, #f5f7fa 63%, #d6e0ec 100%);
}
main {
  background:
    linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 72px 72px;
}
.site-header {
  border-bottom-color: rgba(32,57,79,.22);
  box-shadow: 0 8px 22px rgba(32,57,79,.06);
}
.hero,
.page-intro {
  box-shadow: inset 0 -1px 0 rgba(32,57,79,.08);
}
.section {
  position: relative;
}
.section::before {
  position: absolute;
  z-index: -1;
  inset: 12% 4% 8%;
  border: 1px solid rgba(78,93,117,.10);
  border-left-width: 0;
  border-radius: 0 150px 150px 0;
  content: "";
  pointer-events: none;
}
.service-card,
.contact-card {
  border-color: rgba(78,93,117,.23);
}
.service-card .card-index {
  color: var(--ink);
  background: linear-gradient(135deg, #d8e2ef, #eef2f7);
}
.footer-intro,
.footer-heading,
.footer-contact address,
.footer-bottom {
  color: #4a596f;
}

@media (max-width: 760px) {
  main { background-size: 46px 46px; }
  .section::before { inset: 8% 0 6%; border-radius: 0 90px 90px 0; }
}

.section::before { z-index: 0; }
.section > * { position: relative; z-index: 1; }

/* Strong, visible logo-color gradient system. */
body {
  background: linear-gradient(135deg, #e9f0f8 0%, #bdcfe5 42%, #edf3f9 69%, #9db7d6 100%);
}
.site-header {
  background: linear-gradient(105deg, #f7f9fc 0%, #d8e4f1 48%, #b6c9e0 100%);
  box-shadow: 0 10px 26px rgba(32,57,79,.12);
}
main {
  background:
    linear-gradient(120deg, rgba(229,238,248,.88) 0%, rgba(202,217,236,.86) 45%, rgba(239,245,251,.84) 70%, rgba(175,197,222,.86) 100%),
    linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px);
  background-size: auto, 72px 72px, 72px 72px;
}
.hero,
.page-intro {
  background-color: #c7d8ec;
  background-image:
    linear-gradient(104deg, rgba(207,222,240,.98) 0%, rgba(225,235,246,.91) 48%, rgba(174,196,221,.80) 100%),
    url('/manus-storage/async-images/yeCE9rGGbLyZTEYPZOZHLB/image-1.webp'),
    linear-gradient(rgba(32,57,79,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32,57,79,.065) 1px, transparent 1px),
    radial-gradient(ellipse at 80% 50%, transparent 0 37%, rgba(32,57,79,.16) 37.2% 37.35%, transparent 37.55%),
    radial-gradient(ellipse at 81% 50%, transparent 0 49%, rgba(78,93,117,.12) 49.2% 49.35%, transparent 49.55%);
  background-position: center, right center, center, center, 78% 50%, 78% 50%;
  background-size: 100% 100%, cover, 30px 30px, 30px 30px, 1040px 520px, 1320px 660px;
  background-repeat: no-repeat, no-repeat, repeat, repeat, no-repeat, no-repeat;
}
.site-footer {
  background: linear-gradient(115deg, #b4c8df 0%, #d7e3f0 50%, #a8bfd9 100%);
}
.section::before {
  border-color: rgba(32,57,79,.18);
  box-shadow: inset -28px 0 60px rgba(87,112,145,.07);
}
.service-card,
.contact-card {
  background: linear-gradient(145deg, rgba(255,255,255,.96) 0%, rgba(222,232,244,.97) 100%);
}
.leader-card,
.email-panel {
  background: linear-gradient(125deg, #d8e4f1 0%, #b8cce2 100%);
}
.about-quote {
  background: linear-gradient(135deg, #e7eef7 0%, #c8d8ea 100%);
}
@media (max-width: 760px) {
  main { background-size: auto, 46px 46px, 46px 46px; }
  .hero,
  .page-intro {
    background-size: 100% 100%, cover, 26px 26px, 26px 26px, 900px 450px, 1120px 560px;
  }
}

/* Pricing page: transparent billing principles with a practical field-work feel. */
.pricing-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(17rem, .9fr);
  align-items: start;
  gap: clamp(2rem, 8vw, 8rem);
}
.pricing-lead {
  max-width: 43rem;
  color: var(--ink-soft);
  font-size: clamp(1.05rem, 1.5vw, 1.18rem);
}
.pricing-promise,
.pricing-schedule-panel {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  color: var(--ink);
  background: linear-gradient(135deg, rgba(242,247,252,.96), rgba(181,202,227,.9));
  border-top: 4px solid var(--slate);
  box-shadow: 0 14px 35px rgba(32,57,79,.11);
}
.pricing-promise p:last-child { margin: 0; font-size: 1.05rem; font-weight: 700; line-height: 1.5; }
.pricing-promise-label,
.pricing-number {
  margin: 0 0 1rem;
  color: var(--slate);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.45;
  text-transform: uppercase;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding-bottom: clamp(3.5rem, 7vw, 7rem);
}
.pricing-card {
  min-height: 100%;
  padding: clamp(1.45rem, 2.6vw, 2.35rem);
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(219,230,243,.96));
  border: 1px solid rgba(78,93,117,.24);
  border-top: 4px solid var(--silver);
  box-shadow: 0 10px 26px rgba(32,57,79,.08);
}
.pricing-card:nth-child(2) { transform: translateY(1.1rem); border-top-color: var(--slate); }
.pricing-card h2 { margin: 0 0 1rem; font-size: clamp(1.45rem, 2.35vw, 2.1rem); letter-spacing: -.045em; line-height: 1.08; }
.pricing-card p:last-child { margin: 0; color: var(--ink-soft); }
.pricing-schedule {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(17rem, .9fr);
  align-items: center;
  gap: clamp(2rem, 8vw, 8rem);
}
.pricing-schedule h2 { max-width: 14ch; margin: 0 0 1rem; font-size: clamp(2.1rem, 4vw, 4rem); letter-spacing: -.06em; line-height: 1.03; }
.pricing-schedule-copy > p:last-child { max-width: 43rem; color: var(--ink-soft); }
.pricing-schedule-panel .list-checks { margin-top: 1.1rem; }
.pricing-schedule-panel .list-checks li::before { background: var(--ink); }

@media (max-width: 760px) {
  .pricing-overview,
  .pricing-schedule,
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-grid { padding-bottom: 2.5rem; }
  .pricing-card:nth-child(2) { transform: none; }
}

/* Legacy Hunter project photography. */
.legacy-page-visual {
  position: relative;
  margin: clamp(1.2rem, 3vw, 2.5rem) auto 0;
}
.legacy-page-visual img {
  width: 100%;
  aspect-ratio: 1.85 / 1;
  object-fit: cover;
  object-position: center;
  border: 7px solid rgba(255,255,255,.92);
  box-shadow: 0 20px 48px rgba(32,57,79,.16);
}
.pricing-page-visual img { object-position: center 54%; }
@media (max-width: 760px) {
  .legacy-page-visual img { aspect-ratio: 1.3 / 1; border-width: 5px; }
}
