﻿@import url("https://fonts.googleapis.com/css2?family=Allura&family=Caveat:wght@400;500;600&family=Cormorant+Garamond:wght@400;500;600;700&family=Roboto:wght@300;400;500;700;900&display=swap");

:root {
  --navy: #08294f;
  --navy-dark: #051f3c;
  --warm: #f8f6f1;
  --stone: #ede8df;
  --sage: #aab79f;
  --charcoal: #1f2933;
  --white: #ffffff;
  --sans: "Roboto", Arial, sans-serif;
  --serif: "Cormorant Garamond", Georgia, serif;
  --script: "Caveat", cursive;
  --soft-radius: 8px;
  --soft-shadow: 0 18px 44px rgba(8,41,79,.08);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--sans); color: var(--charcoal); background: var(--warm); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }

.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid rgba(8, 41, 79, .12); }
.nav-inner { width: min(1280px, calc(100% - 48px)); height: 94px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.logo img { width: 152px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 42px; font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: var(--navy); }
.site-nav a[aria-current="page"] { color: #436aaa; }
.mobile-contact-link { display: none; }
.nav-toggle { display: none; }
.nav-toggle-label { display: none; }
.button, .nav-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 28px; border: 1px solid transparent;
  font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase;
  cursor: pointer; transition: all .25s ease;
}
.button svg { width: 16px; height: 16px; }
.button-primary, .nav-button { background: var(--navy); color: var(--white); }
.button-primary:hover, .nav-button:hover { background: var(--navy-dark); }
.button-white { background: var(--white); border-color: var(--white); color: var(--navy); }
.button-outline { background: transparent; border-color: rgba(255,255,255,.85); color: var(--white); }
.button-ghost { background: transparent; border-color: var(--navy); color: var(--navy); }
.button-ghost:hover { background: var(--navy); color: var(--white); }
.button-row { display: flex; gap: 16px; flex-wrap: wrap; }

.section-label { font-size: 11px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; color: var(--navy); margin-bottom: 16px; }
.section-title { font-family: var(--serif); font-size: clamp(36px, 5vw, 58px); line-height: 1.02; font-weight: 500; color: var(--navy); }
.section-title strong, .hero h1 strong, .cta h2 strong { font-weight: 900; }
.intro-text { max-width: 720px; margin: 18px auto 0; font-size: 17px; color: rgba(31, 41, 51, .74); }
.accent-line { width: 44px; height: 2px; background: var(--sage); margin: 18px 0 26px; }
.center { text-align: center; }
.center .accent-line { margin-left: auto; margin-right: auto; }
section { padding: 90px 0; }
.white { background: var(--white); }
.warm { background: var(--warm); }

.hero { min-height: 680px; position: relative; display: flex; align-items: center; overflow: hidden; color: var(--white); background: #111; }
.hero::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.44) 42%, rgba(0,0,0,.08) 82%),
    url("images/living-dining.jpg");
  background-size: cover; background-position: center;
}
.hero-content { position: relative; max-width: 760px; padding: 96px 0; }
.hero .section-label, .hero h1 { color: var(--white); }
.hero h1 { font-size: clamp(46px, 6vw, 78px); line-height: 1.08; font-weight: 300; margin-bottom: 24px; }
.hero p { max-width: 620px; font-size: 18px; color: rgba(255,255,255,.92); margin-bottom: 34px; }

.icon { width: 24px; height: 24px; display: inline-block; color: currentColor; }
.icon-badge { width: 64px; height: 64px; border-radius: 50%; background: var(--navy); color: var(--white); position: absolute; left: 50%; bottom: -1px; transform: translateX(-50%); display: grid; place-items: center; border: 2px solid var(--white); }
.icon-badge .icon { width: 31px; height: 31px; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 44px; }
.service-card { text-align: center; }
.service-image { height: 250px; overflow: hidden; position: relative; margin-bottom: 24px; }
.service-image img { height: 100%; object-fit: cover; transition: .55s ease; }
.service-card:hover img { transform: scale(1.04); }
.service-card h3, .work-card h3 { font-size: 14px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--navy); margin-bottom: 10px; }
.service-card p { max-width: 285px; margin: 0 auto 16px; font-size: 15px; color: rgba(31,41,51,.78); }
.service-links {
  width: min(320px, 100%);
  margin: 20px auto 0;
  border-top: 1px solid rgba(8,41,79,.14);
}
.service-links a {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(8,41,79,.14);
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-align: left;
}
.service-links a:hover { color: #436aaa; }
.service-links svg { width: 17px; height: 17px; flex: 0 0 auto; color: var(--sage); }

.positioning { background: var(--stone); position: relative; overflow: hidden; min-height: 420px; display: flex; align-items: center; }
.positioning::after { content: ""; position: absolute; inset: 0 0 0 50%; background: url("images/full-staging-0g9a9445.jpg") center/cover no-repeat; opacity: .92; }
.positioning-content { width: min(1180px, calc(100% - 48px)); margin: 0 auto; position: relative; z-index: 2; }
.positioning-copy { max-width: 520px; }
.positioning-copy p { margin: 22px 0; color: rgba(31,41,51,.78); }

.work { background: var(--navy); color: var(--white); }
.work .section-label, .work .section-title { color: var(--white); }
.work .intro-text { color: rgba(255,255,255,.78); }
.work-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 42px; }
.work-card img { height: 210px; object-fit: cover; margin-bottom: 16px; }
.work-card h3 { color: var(--white); margin-bottom: 2px; }
.work-card p { color: rgba(255,255,255,.82); font-size: 15px; margin-bottom: 12px; }
.values-grid { display: grid; grid-template-columns: repeat(6, 1fr); margin-top: 44px; border-top: 1px solid rgba(8,41,79,.12); border-bottom: 1px solid rgba(8,41,79,.12); }
.value-item { min-height: 150px; padding: 28px 16px; text-align: center; border-right: 1px solid rgba(8,41,79,.12); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px; }
.value-item:last-child { border-right: none; }
.value-item .icon { width: 32px; height: 32px; color: var(--navy); }
.value-item h3 { font-size: 13px; line-height: 1.25; font-weight: 900; color: var(--navy); }

.testimonial { background: var(--white); padding: 54px 0; }
.testimonial-inner { max-width: 920px; margin: 0 auto; display: grid; grid-template-columns: 90px 1fr; gap: 24px; align-items: center; }
.quote-icon { width: 76px; height: 76px; color: var(--sage); }
.quote-text { font-size: clamp(24px, 3vw, 36px); font-weight: 300; color: var(--navy); line-height: 1.25; margin-bottom: 18px; }
.quote-name { font-size: 12px; font-weight: 900; letter-spacing: .16em; color: var(--navy); text-transform: uppercase; }
.cta { background: linear-gradient(135deg, var(--navy), var(--navy-dark)); color: var(--white); text-align: center; padding: 72px 0; }
.cta h2 { font-size: clamp(34px, 5vw, 54px); font-weight: 300; line-height: 1.05; color: var(--white); margin-bottom: 16px; }
.cta p { max-width: 680px; margin: 0 auto 28px; color: rgba(255,255,255,.78); }
.process-page .cta {
  border-top-left-radius: 46px;
  padding-top: 82px;
}
.process-page .cta h2 {
  font-size: clamp(28px, 3.5vw, 42px);
  font-weight: 400;
  letter-spacing: 0;
}

.page-hero { background: var(--stone); padding: 92px 0 72px; }
.page-hero p { max-width: 720px; margin-top: 18px; font-size: 18px; color: rgba(31,41,51,.76); }
.content-panel { background: var(--white); padding: 36px; border: 1px solid rgba(8,41,79,.12); }
.content-panel h2 { color: var(--navy); margin-bottom: 14px; font-size: 28px; }
.content-panel p { color: rgba(31,41,51,.78); margin-bottom: 14px; }

.process-page .white { background: #fbfaf7; }
.process-page .warm { background: #f1eadf; }
.process-page .section-title {
  font-size: clamp(30px, 3.8vw, 46px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: 0;
}

.process-hero {
  background: #fbfaf7;
  padding: 0;
  overflow: hidden;
}
.process-hero-grid {
  position: relative;
  min-height: 520px;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 0;
}
.process-hero-copy {
  position: relative;
  z-index: 2;
  padding: 84px 0;
}
.process-hero-copy .section-label {
  margin-bottom: 18px;
  color: var(--navy);
  letter-spacing: .16em;
}
.process-hero-copy p { max-width: 620px; font-size: 18px; color: rgba(31,41,51,.76); }
.process-hero-image {
  position: relative;
  height: 520px;
  overflow: hidden;
  align-self: stretch;
  margin-right: calc((100vw - min(1180px, calc(100vw - 48px))) / -2);
}
.process-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #fbfaf7 0%, rgba(251,250,247,.94) 10%, rgba(251,250,247,.66) 24%, rgba(251,250,247,.16) 48%, rgba(251,250,247,0) 72%),
    linear-gradient(180deg, rgba(251,250,247,.28), rgba(251,250,247,0) 35%, rgba(251,250,247,.18));
}
.process-hero-image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.045);
}

.process-cta-band {
  background: linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
  padding: 44px 0;
}
.process-cta-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 44px;
  align-items: center;
}
.process-footer-cta .process-cta-icon,
.process-footer-cta .process-cta-grid > :nth-child(n+3) {
  display: none !important;
}
.process-cta-band h2 {
  color: var(--white);
  font-size: clamp(25px, 3vw, 38px);
  line-height: 1.12;
  font-weight: 400;
  margin-bottom: 10px;
}
.process-cta-band p {
  max-width: 780px;
  color: rgba(255,255,255,.78);
}
.process-cta-icon {
  width: 86px;
  height: 86px;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.process-cta-icon .icon {
  width: 44px;
  height: 44px;
  color: rgba(255,255,255,.86);
}

.process-flow-section {
  background: #fbfaf7;
  padding: 34px 0 70px;
}
.process-board-intro {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 34px;
  align-items: center;
  margin-bottom: 34px;
  padding: 6px 8px 30px;
  border-bottom: 1px solid rgba(8,41,79,.1);
}
.process-board-intro h2 {
  font-size: clamp(24px, 2.7vw, 34px);
  line-height: 1.12;
  font-weight: 400;
  color: var(--navy);
}
.process-board-intro p { max-width: 720px; margin-top: 12px; color: rgba(31,41,51,.72); }

.process-board {
  padding: 0 28px 28px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.process-shared {
  width: min(720px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 18px;
  align-items: center;
  background: var(--navy);
  color: var(--white);
  padding: 24px 28px;
  border-radius: 0 24px 0 24px;
}
.process-shared.finish { margin-top: 28px; }
.process-number {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  color: var(--white);
  font-size: 12px;
  font-weight: 900;
}
.process-shared h3 {
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.process-shared p {
  color: rgba(255,255,255,.78);
  font-size: 15px;
}
.process-columns {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 28px;
}
.process-columns::before,
.process-columns::after {
  content: "";
  position: absolute;
  background: rgba(8,41,79,.14);
  z-index: 0;
}
.process-columns::before {
  left: 16.66%;
  right: 16.66%;
  top: -15px;
  height: 1px;
}
.process-columns::after {
  left: 16.66%;
  right: 16.66%;
  bottom: -28px;
  width: auto;
  height: 1px;
  transform: none;
}
.process-column {
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(8,41,79,.12);
  border-radius: 0 24px 0 24px;
  overflow: visible;
  display: grid;
  grid-template-rows: 190px auto repeat(3, 1fr);
}
.process-column::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -28px;
  width: 1px;
  height: 28px;
  background: rgba(8,41,79,.14);
  transform: translateX(-50%);
}
.process-column::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -28px;
  width: 1px;
  height: 28px;
  background: rgba(8,41,79,.14);
  transform: translateX(-50%);
}
.process-column-image {
  position: relative;
  overflow: hidden;
  border-top-right-radius: 24px;
}
.process-column-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,41,79,0), rgba(8,41,79,.18));
}
.process-column-image img {
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.process-column:hover .process-column-image img { transform: scale(1.035); }
.process-column-header {
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 22px;
  background: linear-gradient(90deg, #f3ede4, #fbfaf7);
  border-bottom: 1px solid rgba(8,41,79,.12);
}
.process-column-header .icon {
  width: 28px;
  height: 28px;
  color: var(--navy);
}
.process-column-header h3 {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.process-step {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  padding: 24px 22px;
  border-bottom: 1px solid rgba(8,41,79,.1);
}
.process-step:last-child { border-bottom: none; }
.process-step span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--navy);
  color: var(--white);
  font-size: 11px;
  font-weight: 900;
}
.process-step h4 {
  color: var(--navy);
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.process-step p {
  color: rgba(31,41,51,.75);
  font-size: 14px;
}

.process-pathways { position: relative; overflow: hidden; }
.process-page .process-pathways { padding-top: 58px; }
.process-pathways::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,253,249,.85), rgba(241,234,223,.2));
  pointer-events: none;
}
.pathway-editorial {
  position: relative;
  display: grid;
  grid-template-columns: 1fr minmax(280px, 430px);
  gap: 48px;
  align-items: end;
  margin-bottom: 40px;
}
.pathway-editorial p {
  color: rgba(31,41,51,.76);
  font-size: 17px;
}
.pathway-showcase {
  position: relative;
  display: grid;
  grid-template-columns: .9fr 1.18fr .9fr;
  gap: 22px;
  align-items: stretch;
  margin-top: 0;
}
.pathway-card {
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(8,41,79,.12);
  border-radius: 0 24px 0 24px;
  overflow: hidden;
  display: grid;
  grid-template-rows: 230px 1fr;
  min-height: 570px;
}
.pathway-card.featured {
  transform: translateY(-18px);
  box-shadow: 0 24px 55px rgba(8,41,79,.12);
}
.pathway-card img {
  height: 100%;
  object-fit: cover;
}
.pathway-card > div { padding: 30px; }
.pathway-kicker {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pathway-card h3 {
  color: var(--navy);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.14;
  font-weight: 400;
  margin-bottom: 16px;
}
.pathway-card p,
.pathway-card li {
  color: rgba(31,41,51,.76);
  font-size: 15px;
}
.pathway-card ul {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(8,41,79,.12);
  list-style: none;
  display: grid;
  gap: 10px;
}
.pathway-card li {
  position: relative;
  padding-left: 20px;
}
.pathway-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sage);
}

.process-assurance {
  display: grid;
  grid-template-columns: minmax(280px, 470px) 1fr;
  gap: 48px;
  align-items: center;
}
.assurance-section {
  position: relative;
  margin-top: -28px;
  padding: 64px 0 84px;
  background: linear-gradient(180deg, #fbfaf7, #f1eadf);
  border-top-left-radius: 46px;
  overflow: hidden;
}
.assurance-section::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 90px;
  background: linear-gradient(180deg, rgba(243,237,228,.95), rgba(251,250,247,0));
  pointer-events: none;
}
.assurance-copy p {
  margin-top: 20px;
  color: rgba(31,41,51,.76);
  font-size: 17px;
}
.assurance-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(8,41,79,.12);
  border-left: 1px solid rgba(8,41,79,.12);
}
.assurance-grid > div {
  min-height: 220px;
  padding: 30px 24px;
  border-right: 1px solid rgba(8,41,79,.12);
  border-bottom: 1px solid rgba(8,41,79,.12);
  background: linear-gradient(180deg, #fffdf9, #f8f6f1);
}
.assurance-grid .icon {
  width: 34px;
  height: 34px;
  color: var(--navy);
  margin-bottom: 22px;
}
.assurance-grid h3 {
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.assurance-grid p {
  color: rgba(31,41,51,.72);
  font-size: 14px;
}
.process-values-section {
  background:
    linear-gradient(180deg, #fbfaf7, #f4eee6 72%, #fbfaf7);
  padding: 24px 0 54px;
}
.process-values {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  background: transparent;
  border-top: 1px solid rgba(8,41,79,.12);
  border-bottom: 1px solid rgba(8,41,79,.12);
  box-shadow: none;
}
.process-values > div {
  min-height: 238px;
  padding: 34px 24px 30px;
  text-align: center;
  border-right: 1px solid rgba(8,41,79,.1);
  background: rgba(255,253,249,.58);
  transition: background .25s ease, transform .25s ease;
}
.process-values > div:last-child { border-right: none; }
.process-values > div:hover {
  background: rgba(255,255,255,.78);
  transform: translateY(-3px);
}
.process-values .icon {
  width: 52px;
  height: 52px;
  color: var(--navy);
  padding: 0;
  margin-bottom: 22px;
  border: none;
  border-radius: 0;
  background: transparent;
}
.process-values h3 {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.process-values p {
  color: rgba(31,41,51,.72);
  font-size: 13px;
  line-height: 1.55;
}

.services-page {
  background: #fbfaf7;
}
.services-hero {
  padding: 54px 0 70px;
  background:
    radial-gradient(circle at 50% 100%, rgba(166,181,160,.18), rgba(166,181,160,0) 38%),
    linear-gradient(180deg, #fbfaf7 0%, #f7f0e6 72%, #eef3ee 100%);
}
.services-page .section-title {
  font-size: clamp(34px, 4.5vw, 54px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: 0;
}
.services-overview {
  position: relative;
  margin-top: -1px;
  padding: 18px 0 76px;
  background:
    linear-gradient(180deg, #eef3ee 0%, #f5efe6 46%, #fbfaf7 100%);
  overflow: hidden;
}
.services-overview::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 140px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,253,249,.88), rgba(255,253,249,0) 64%),
    linear-gradient(180deg, rgba(255,253,249,.62), rgba(255,253,249,0));
  pointer-events: none;
}
.services-overview > .container {
  position: relative;
  z-index: 1;
}
.service-group-heading {
  display: grid;
  grid-template-columns: 3fr 2fr;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
  text-align: center;
}
.service-group-heading h2 {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.service-group-heading h2::before,
.service-group-heading h2::after {
  content: "";
  height: 1px;
  background: rgba(8,41,79,.22);
}
.services-layout {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}
.service-feature-card {
  min-height: 520px;
  background: rgba(255,253,249,.94);
  border: 1px solid rgba(8,41,79,.1);
  border-radius: 8px;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
.service-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(8,41,79,.09);
}
.service-feature-card a {
  height: 100%;
  display: grid;
  grid-template-rows: 210px 1fr;
}
.service-feature-image {
  position: relative;
  overflow: hidden;
  margin: 10px 10px 0;
  border-radius: 7px;
}
.service-feature-image img {
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.service-feature-card:hover img {
  transform: scale(1.035);
}
.service-feature-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,41,79,0), rgba(8,41,79,.18));
}
.service-feature-icon {
  position: absolute;
  left: 24px;
  bottom: -24px;
  z-index: 2;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--navy);
  color: var(--white);
  border: 2px solid #fbfaf7;
  box-shadow: 0 10px 24px rgba(8,41,79,.18);
}
.service-feature-icon .icon {
  width: 29px;
  height: 29px;
}
.service-feature-copy {
  padding: 38px 24px 24px;
  display: flex;
  flex-direction: column;
}
.service-feature-copy h3 {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.05;
  font-weight: 500;
  text-transform: uppercase;
}
.service-subtitle {
  margin-top: 5px;
  color: rgba(31,41,51,.58);
  font-size: 13px;
  font-style: italic;
}
.service-feature-copy .accent-line {
  width: 28px;
  margin: 14px 0 18px;
}
.service-feature-copy > p:not(.service-subtitle) {
  color: rgba(31,41,51,.78);
  font-size: 14px;
  line-height: 1.5;
}
.service-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 26px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.service-link svg {
  width: 15px;
  height: 15px;
}

.service-detail-page {
  background: #fbfaf7;
}
.service-detail-hero {
  padding: 0;
  background:
    linear-gradient(90deg, #fbfaf7 0%, #fbfaf7 42%, #f7f0e6 67%, #f1eadf 100%);
  overflow: hidden;
}
.service-detail-hero-grid {
  min-height: 560px;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  align-items: center;
  gap: 28px;
}
.service-detail-hero-copy {
  padding: 78px 0;
}
.service-detail-hero-copy .section-title {
  max-width: 560px;
  font-size: clamp(42px, 5vw, 68px);
}
.service-detail-hero-copy p {
  max-width: 520px;
  color: rgba(31,41,51,.76);
  font-size: 19px;
  margin: 0 0 28px;
}
.service-detail-hero-image {
  align-self: stretch;
  min-height: 560px;
  position: relative;
}
.service-detail-hero-image img {
  width: calc(50vw + 50%);
  height: 100%;
  object-fit: cover;
  display: block;
}
.service-detail-hero-image::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 58%;
  z-index: 1;
  background: linear-gradient(90deg, #fbfaf7 0%, rgba(251,250,247,.92) 28%, rgba(251,250,247,.58) 58%, rgba(251,250,247,0) 100%);
}
.service-detail-why {
  background: #fffdf9;
  padding: 0;
}
.service-detail-why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}
.service-detail-why-image img {
  height: 100%;
  min-height: 430px;
  object-fit: cover;
}
.service-detail-why-copy {
  padding: 72px clamp(28px, 5vw, 72px);
  align-self: center;
}
.service-detail-why-copy h2,
.service-detail-process h2,
.service-detail-example h2,
.service-detail-cta h2 {
  font-family: var(--serif);
  color: var(--navy);
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.08;
  font-weight: 500;
}
.service-detail-why-copy p,
.service-detail-process p,
.service-detail-example p,
.service-detail-cta p {
  color: rgba(31,41,51,.76);
}
.service-detail-navy {
  background: linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
  padding: 66px 0;
}
.service-detail-navy-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 58px;
  align-items: center;
}
.service-detail-navy h2,
.service-detail-navy .section-label {
  color: var(--white);
}
.service-detail-navy h2 {
  font-family: var(--serif);
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.08;
  font-weight: 500;
}
.service-detail-navy p {
  color: rgba(255,255,255,.78);
}
.managed-list {
  display: grid;
  gap: 0;
  border-left: 1px solid rgba(255,255,255,.28);
  padding-left: 34px;
}
.managed-list li {
  list-style: none;
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  color: var(--white);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.managed-list li::before {
  content: "";
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.54);
  border-radius: 50%;
  flex: 0 0 auto;
  background: radial-gradient(circle at center, rgba(255,255,255,.82) 0 2px, transparent 3px);
}
.service-detail-process {
  background: #fbfaf7;
  text-align: center;
  padding: 64px 0 58px;
}
.service-detail-process p {
  max-width: 760px;
  margin: 14px auto 26px;
}
.service-detail-values {
  background: #fffdf9;
  padding: 40px 0;
  border-top: 1px solid rgba(8,41,79,.1);
  border-bottom: 1px solid rgba(8,41,79,.1);
}
.service-detail-value-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.service-detail-value-grid div {
  padding: 18px 22px;
  text-align: center;
  border-right: 1px solid rgba(8,41,79,.12);
}
.service-detail-value-grid div:last-child {
  border-right: none;
}
.service-detail-value-grid svg {
  display: block;
  width: 54px;
  height: 54px;
  padding: 11px;
  box-sizing: border-box;
  color: var(--navy);
  margin: 0 auto 16px;
  border: 1px solid rgba(8,41,79,.22);
  border-radius: 50%;
  background: linear-gradient(180deg, #fffdf9, #f7f0e6);
  overflow: visible;
}
.service-detail-value-grid h3 {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.service-detail-value-grid p {
  margin-top: 8px;
  color: rgba(31,41,51,.7);
  font-size: 14px;
}
.home-prep-value-grid div {
  padding-top: 28px;
}
.value-icon-badge {
  display: block;
  width: 54px;
  height: 54px;
  margin: 0 auto 16px;
  padding: 11px;
  box-sizing: border-box;
  border: 1px solid rgba(8,41,79,.24);
  border-radius: 50%;
  background-color: #fffdf9;
  box-shadow: 0 10px 22px rgba(8,41,79,.07);
}
.value-icon-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.service-detail-example {
  background: #fbfaf7;
  padding: 0;
}
.service-detail-example-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.service-detail-example img {
  height: 360px;
  object-fit: cover;
}
.service-detail-example-copy {
  padding: 56px clamp(28px, 5vw, 72px);
}
.service-detail-cta {
  background: #fbfaf7;
  padding: 28px 0 44px;
}
.service-detail-cta-panel {
  background: linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
  border-radius: 8px;
  padding: 36px 44px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
.service-detail-cta h2,
.service-detail-cta p {
  color: var(--white);
}
.service-detail-contact {
  display: grid;
  gap: 10px;
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
}
.service-detail-contact a {
  color: var(--white);
}
.service-detail-contact .button-white {
  color: var(--navy);
}

.home-page,
.about-page {
  background:
    linear-gradient(180deg, #fbfaf7 0%, #f7f1e8 28%, #fffdf9 48%, #f2eadf 76%, #08294f 100%);
}
.home-hero {
  background: #fbfaf7;
  overflow: hidden;
}
.home-hero-grid {
  min-height: 620px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: 0;
}
.home-hero-copy {
  position: relative;
  z-index: 2;
  padding: 88px 0;
}
.home-page .section-title,
.about-page .section-title {
  font-size: clamp(34px, 4.8vw, 58px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: 0;
}
.home-hero-copy p {
  max-width: 610px;
  margin-bottom: 30px;
  font-size: 18px;
  color: rgba(31,41,51,.76);
}
.home-hero-image {
  position: relative;
  height: 620px;
  margin-right: calc((100vw - min(1180px, calc(100vw - 48px))) / -2);
  overflow: hidden;
}
.home-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #fbfaf7 0%, rgba(251,250,247,.9) 12%, rgba(251,250,247,.38) 42%, rgba(251,250,247,0) 70%);
}
.home-hero-image img {
  height: 100%;
  object-fit: cover;
}
.home-intro-band {
  background: linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
  padding: 46px 0;
}
.home-intro-grid {
  display: grid;
  grid-template-columns: 1fr auto 90px;
  gap: 42px;
  align-items: center;
}
.home-intro-grid h2 {
  color: var(--white);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 400;
  line-height: 1.1;
  margin-bottom: 10px;
}
.home-intro-grid p {
  max-width: 760px;
  color: rgba(255,255,255,.78);
}
.home-intro-icon {
  width: 86px;
  height: 86px;
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.home-intro-icon .icon {
  width: 44px;
  height: 44px;
  color: rgba(255,255,255,.86);
}
.home-services,
.home-gallery {
  background: #fbfaf7;
}
.home-pathways {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 44px;
}
.home-pathways article {
  background: rgba(255,253,249,.96);
  border: 1px solid rgba(8,41,79,.1);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
.home-pathways article:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(8,41,79,.08);
}
.home-pathways img {
  height: 270px;
  object-fit: cover;
}
.home-pathways article > div {
  padding: 30px;
}
.home-pathways span,
.pathway-kicker {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.home-pathways h3 {
  color: var(--navy);
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.1;
  font-weight: 400;
  margin-bottom: 14px;
}
.home-pathways p {
  color: rgba(31,41,51,.75);
  margin-bottom: 22px;
}
.home-pathways a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-pathways a svg {
  width: 15px;
  height: 15px;
}
.home-feature {
  background: linear-gradient(180deg, #f1eadf, #fbfaf7);
}
.home-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 58px;
  align-items: center;
}
.home-feature-image {
  height: 540px;
  overflow: hidden;
  border-radius: 0 42px 0 42px;
}
.home-feature-image img {
  height: 100%;
  object-fit: cover;
}
.home-feature-copy p {
  color: rgba(31,41,51,.76);
  margin-bottom: 18px;
}
.home-proof {
  padding: 58px 0;
  background: #fbfaf7;
}
.home-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(8,41,79,.12);
  border-bottom: 1px solid rgba(8,41,79,.12);
}
.home-proof-grid article {
  padding: 30px;
  border-right: 1px solid rgba(8,41,79,.12);
}
.home-proof-grid article:last-child {
  border-right: none;
}
.home-proof-grid h3 {
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.home-proof-grid p {
  color: rgba(31,41,51,.72);
}
.home-gallery-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr .9fr 1.1fr;
  gap: 16px;
  margin-top: 40px;
}
.home-gallery-grid img {
  height: 320px;
  object-fit: cover;
}
.home-gallery-grid img:nth-child(2),
.home-gallery-grid img:nth-child(3) {
  height: 250px;
  margin-top: 70px;
}
.home-testimonial {
  background: #fffdf9;
  padding: 68px 0;
}
.home-final-cta {
  background: linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
  text-align: center;
  padding: 78px 0;
}
.home-final-cta h2 {
  color: var(--white);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 400;
  line-height: 1.08;
  margin-bottom: 14px;
}
.home-final-cta p {
  max-width: 680px;
  margin: 0 auto 28px;
  color: rgba(255,255,255,.78);
}

.about-hero {
  background:
    radial-gradient(ellipse at 82% 34%, rgba(166,181,160,.16), rgba(166,181,160,0) 34%),
    linear-gradient(180deg, #fbfaf7 0%, #f7f1e8 70%, #fffdf9 100%);
  padding: 78px 0 96px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 58px;
  align-items: center;
}
.about-hero p,
.about-note p,
.about-story p,
.about-cta p {
  color: rgba(31,41,51,.76);
  font-size: 17px;
}
.about-opening-copy p {
  margin-bottom: 12px;
}
.about-hero-image {
  margin: 0;
  position: relative;
}
.about-hero-image img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center 18%;
  display: block;
}
.about-note {
  background:
    linear-gradient(180deg, #fffdf9 0%, #fbfaf7 62%, #f4eee5 100%);
  padding: 86px 0 94px;
}
.about-note-inner {
  max-width: 880px;
}
.about-note-copy {
  margin-top: 18px;
  padding-left: 34px;
  border-left: 2px solid rgba(8,41,79,.16);
}
.about-note-copy p {
  font-family: var(--serif);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.36;
  color: var(--navy);
}
.about-signature {
  margin-top: 24px;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.about-story {
  background: #fbfaf7;
}
.about-story-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 56px;
}
.about-story h2,
.about-cta h2 {
  color: var(--navy);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.08;
  font-weight: 400;
  margin-bottom: 18px;
}
.about-principles {
  display: grid;
  gap: 16px;
}
.about-principles div {
  padding: 26px;
  background: #fffdf9;
  border: 1px solid rgba(8,41,79,.1);
}
.about-principles h3,
.team-grid h3 {
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.about-team {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,253,249,.74), rgba(255,253,249,0) 54%),
    linear-gradient(180deg, #f4eee5 0%, #f1eadf 54%, #fbfaf7 100%);
  padding: 82px 0 88px;
}
.team-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  margin-top: 42px;
}
.team-grid article {
  display: grid;
  grid-template-columns: .9fr 1fr;
  background: #fffdf9;
  border: 1px solid rgba(8,41,79,.1);
  box-shadow: 0 18px 44px rgba(8,41,79,.06);
}
.team-grid img {
  height: 390px;
  object-fit: cover;
  object-position: top center;
}
.team-grid article > div {
  padding: 34px;
  align-self: center;
}
.team-role {
  color: rgba(31,41,51,.58);
  font-style: italic;
  margin-bottom: 14px;
}
.team-grid p {
  color: rgba(31,41,51,.76);
}
.about-cta {
  background:
    linear-gradient(180deg, rgba(251,250,247,.08), rgba(251,250,247,0) 22%),
    linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
  text-align: center;
  padding: 68px 0 72px;
}
.about-cta h2 {
  color: var(--white);
}
.about-cta p {
  max-width: 720px;
  margin: 0 auto 28px;
  color: rgba(255,255,255,.82);
}
.about-cta .button-primary {
  background: var(--white);
  color: var(--navy);
}

.home-reference .site-header {
  position: relative;
  background: rgba(255,255,255,.98);
  box-shadow: 0 1px 0 rgba(8,41,79,.08);
}
.home-reference .nav-inner {
  min-height: 88px;
}
.home-reference .site-nav {
  gap: 48px;
}
.home-ref-hero {
  min-height: 610px;
  display: flex;
  align-items: center;
  position: relative;
  color: var(--white);
  background: #111;
  overflow: hidden;
}
.home-ref-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,24,42,.68), rgba(8,24,42,.46) 42%, rgba(8,24,42,.08) 82%),
    url("images/living-3.jpg") center/cover no-repeat;
  transform: scale(1.01);
}
.home-ref-copy {
  position: relative;
  z-index: 1;
  max-width: 720px;
  padding: 104px 0;
}
.home-ref-copy .section-label {
  color: var(--white);
  margin-bottom: 18px;
}
.home-ref-copy h1 {
  color: var(--white);
  font-size: clamp(44px, 5.6vw, 72px);
  line-height: 1.12;
  font-weight: 300;
  letter-spacing: 0;
  margin-bottom: 18px;
}
.home-ref-copy p {
  max-width: 560px;
  color: rgba(255,255,255,.9);
  font-size: 18px;
  margin-bottom: 34px;
}
.home-ref-hero .button-outline {
  border-color: rgba(255,255,255,.72);
  color: var(--white);
  background: rgba(255,255,255,.04);
}
.home-ref-services {
  background: #fbfaf7;
  padding: 64px 0 74px;
}
.home-ref-services .section-title,
.home-ref-values .section-title {
  font-size: clamp(30px, 3.6vw, 40px);
  font-weight: 400;
}
.home-ref-service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 38px;
}
.home-ref-service-grid article {
  text-align: center;
}
.home-ref-service-image {
  height: 245px;
  position: relative;
  overflow: visible;
}
.home-ref-service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.home-ref-icon {
  position: absolute;
  left: 50%;
  bottom: -32px;
  transform: translateX(-50%);
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--navy);
  color: var(--white);
  border: 2px solid #fbfaf7;
  box-shadow: 0 10px 24px rgba(8,41,79,.18);
}
.home-ref-icon .icon {
  width: 33px;
  height: 33px;
}
.home-ref-service-grid h3 {
  margin-top: 44px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-ref-service-grid p {
  max-width: 270px;
  margin: 10px auto 0;
  color: rgba(31,41,51,.78);
}
.home-ref-positioning {
  min-height: 430px;
  display: flex;
  align-items: center;
  background:
    linear-gradient(90deg, #f1eadf 0%, rgba(241,234,223,.98) 43%, rgba(241,234,223,.32) 64%, rgba(241,234,223,0) 100%),
    url("images/full-staging-0g9a9445.jpg") right center/contain no-repeat;
}
.home-ref-positioning-copy {
  max-width: 520px;
  padding: 72px 0;
}
.home-ref-positioning-copy h2 {
  color: var(--navy);
  font-size: clamp(28px, 3.6vw, 42px);
  line-height: 1.14;
  font-weight: 400;
}
.home-ref-positioning-copy p {
  color: rgba(31,41,51,.76);
  margin-bottom: 16px;
}
.home-ref-work {
  background: linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
  padding: 60px 0 72px;
}
.home-ref-work .section-label,
.home-ref-work h2 {
  color: var(--white);
}
.home-ref-work h2 {
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 400;
}
.home-ref-work > .container > p {
  max-width: 660px;
  margin: 12px auto 34px;
  color: rgba(255,255,255,.8);
}
.home-ref-work-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: left;
}
.home-ref-work-grid img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  margin-bottom: 14px;
  display: block;
}
.home-ref-work-grid h3 {
  color: var(--white);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-ref-work-grid p {
  color: rgba(255,255,255,.8);
  margin-bottom: 10px;
}
.home-ref-work-grid a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--white);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-ref-work-grid svg {
  width: 15px;
  height: 15px;
}
.home-ref-values {
  background: #fbfaf7;
  padding: 54px 0 50px;
}
.home-ref-value-banner {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 30px;
  border-top: 1px solid rgba(8,41,79,.1);
  border-bottom: 1px solid rgba(8,41,79,.1);
  background: rgba(255,255,255,.54);
}
.home-ref-value-banner span {
  min-height: 84px;
  padding: 18px 16px;
  border-right: 1px solid rgba(8,41,79,.12);
  display: grid;
  place-items: center;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}
.home-ref-value-banner span:last-child {
  border-right: none;
}
.home-ref-testimonial {
  background: #fffdf9;
  padding: 54px 0;
}
.home-ref-testimonial-inner {
  max-width: 980px;
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 24px;
  align-items: center;
}
.home-ref-testimonial .quote-icon {
  width: 54px;
  height: 54px;
  color: #b7cda7;
  justify-self: end;
}
.home-ref-testimonial .quote-text {
  color: var(--navy);
  font-family: var(--serif);
  font-size: clamp(19px, 2.1vw, 25px);
  line-height: 1.42;
}
.home-ref-testimonial .quote-name {
  margin-top: 18px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.home-ref-cta {
  background: linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
  text-align: center;
  padding: 60px 0 66px;
}
.home-ref-cta h2 {
  color: var(--white);
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 400;
  line-height: 1.1;
}
.home-ref-cta p {
  max-width: 680px;
  margin: 10px auto 26px;
  color: rgba(255,255,255,.82);
}

.icon-library { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 32px; }
.icon-swatch { background: var(--white); border: 1px solid rgba(8,41,79,.12); padding: 22px; min-height: 132px; display: grid; align-content: center; justify-items: center; gap: 12px; color: var(--navy); }
.icon-swatch svg { width: 34px; height: 34px; }
.icon-swatch code { font-size: 12px; color: rgba(31,41,51,.78); }

.projects-page {
  background: linear-gradient(180deg, #fbfaf7 0%, #f4eee5 46%, #fffdf9 76%, #08294f 100%);
}
.projects-hero {
  padding: 76px 0 84px;
  background:
    radial-gradient(ellipse at 78% 30%, rgba(166,181,160,.18), rgba(166,181,160,0) 38%),
    linear-gradient(180deg, #fbfaf7 0%, #f5efe6 72%, #fffdf9 100%);
}
.projects-hero-grid {
  max-width: 860px;
  text-align: center;
}
.projects-hero p {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  color: rgba(31,41,51,.74);
  font-size: 18px;
  margin-bottom: 28px;
}
.projects-hero .accent-line {
  margin-left: auto;
  margin-right: auto;
}
.projects-hero .button-row {
  justify-content: center;
}
.projects-featured {
  padding: 76px 0 88px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,253,249,.9), rgba(255,253,249,0) 58%),
    linear-gradient(180deg, #fffdf9 0%, #f5efe6 100%);
}
.projects-featured h2 {
  max-width: 760px;
  margin: 0 auto;
  color: var(--navy);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  font-weight: 400;
}
.projects-featured-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 44px;
}
.projects-featured-grid article {
  background: rgba(255,253,249,.92);
  border: 1px solid rgba(8,41,79,.1);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(8,41,79,.06);
}
.projects-featured-grid img {
  height: 260px;
  object-fit: cover;
  display: block;
}
.projects-featured-grid div {
  padding: 26px;
}
.projects-featured-grid span {
  display: block;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.projects-featured-grid h3 {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 27px;
  line-height: 1.08;
  font-weight: 500;
  margin-bottom: 12px;
}
.projects-featured-grid p {
  color: rgba(31,41,51,.74);
  font-size: 15px;
}
.projects-featured-secondary {
  padding-top: 0;
  background: linear-gradient(180deg, #fbfaf7 0%, #f4eee5 100%);
}
.projects-featured-grid-small {
  grid-template-columns: repeat(3, 1fr);
}
.projects-editorial {
  padding: 0;
  background: linear-gradient(180deg, #f5efe6 0%, #fbfaf7 100%);
}
.projects-editorial-grid {
  display: block;
  max-width: 860px;
  text-align: center;
}
.projects-editorial-grid > div {
  padding: 76px 0;
}
.projects-editorial-grid h2 {
  color: var(--navy);
  font-size: clamp(36px, 4.4vw, 58px);
  line-height: 1.04;
  font-weight: 400;
  margin-bottom: 18px;
}
.projects-editorial-grid p {
  max-width: 560px;
  color: rgba(31,41,51,.76);
  font-size: 17px;
  margin: 0 auto 14px;
}
.projects-lookbook-band {
  padding: 56px 0;
  background:
    linear-gradient(180deg, rgba(244,238,229,.18), rgba(244,238,229,0) 24%),
    linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
}
.projects-lookbook-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 42px;
  align-items: center;
}
.projects-lookbook-grid h2 {
  color: var(--white);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.06;
  font-weight: 400;
}
.projects-lookbook-grid p {
  max-width: 720px;
  color: rgba(255,255,255,.78);
  margin-top: 12px;
}
.projects-cta {
  padding: 64px 0 70px;
  text-align: center;
  background:
    linear-gradient(180deg, rgba(244,238,229,.18), rgba(244,238,229,0) 24%),
    linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: var(--white);
}
.projects-cta h2 {
  color: var(--white);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.06;
  font-weight: 400;
}
.projects-cta p {
  max-width: 760px;
  margin: 12px auto 28px;
  color: rgba(255,255,255,.8);
}

/* Cohesive soft visual language */
.home-ref-service-image,
.home-ref-work-grid img,
.service-feature-card,
.service-feature-image,
.service-detail-hero-image,
.service-detail-why-image,
.service-detail-example img,
.about-hero-image img,
.team-grid article,
.team-grid img,
.process-hero-image,
.process-column-image,
.work-card img {
  border-radius: var(--soft-radius);
}
.home-ref-service-image,
.service-detail-hero-image,
.service-detail-why-image,
.process-hero-image,
.process-column-image {
  overflow: hidden;
}
.home-ref-service-image img,
.home-ref-work-grid img,
.service-feature-image img,
.service-detail-hero-image img,
.service-detail-why-image img,
.service-detail-example img,
.about-hero-image img,
.team-grid img,
.process-hero-image img,
.process-column-image img,
.work-card img {
  transition: transform .65s ease, filter .65s ease;
}
.home-ref-service-image:hover img,
.home-ref-work-grid article:hover img,
.service-feature-card:hover img,
.service-detail-example-grid:hover img,
.team-grid article:hover img,
.work-card:hover img {
  transform: scale(1.025);
}
.home-ref-services,
.service-detail-process,
.about-hero,
.process-map-section {
  background: linear-gradient(180deg, #fbfaf7 0%, #f4efe7 100%);
}
.service-feature-card,
.team-grid article {
  box-shadow: var(--soft-shadow);
}
.service-detail-why,
.service-detail-example,
.home-ref-testimonial {
  background: linear-gradient(180deg, #fffdf9 0%, #fbfaf7 100%);
}
.service-detail-hero-image::before,
.process-hero-image::after {
  pointer-events: none;
}
.about-note {
  text-align: center;
  padding: 88px 0 92px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(244,238,229,.9), rgba(244,238,229,0) 58%),
    linear-gradient(180deg, #fffdf9 0%, #fbfaf7 62%, #f4eee5 100%);
}
.about-note-inner {
  max-width: 920px;
  margin: 0 auto;
}
.about-note .section-label {
  text-align: center;
}
.about-note-copy {
  max-width: 760px;
  margin: 28px auto 0;
  padding-left: 0;
  border-left: none;
}
.about-note-copy p {
  font-family: var(--script);
  font-size: clamp(23px, 2.45vw, 32px);
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--navy);
  margin: 0 auto 14px;
}
.about-signature {
  margin-top: 30px !important;
  font-family: var(--script) !important;
  font-size: clamp(30px, 3.5vw, 42px) !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 980px) {
  .nav-inner {
    height: 82px;
    position: relative;
  }
  .nav-toggle-label {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    gap: 4px;
    padding: 11px;
    border: 1px solid rgba(8,41,79,.16);
    border-radius: var(--soft-radius);
    color: var(--navy);
    cursor: pointer;
  }
  .nav-toggle-label span {
    width: 21px;
    height: 2px;
    display: block;
    background: currentColor;
    transition: transform .25s ease, opacity .25s ease;
  }
  .site-nav {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px;
    background: rgba(255,253,249,.98);
    border: 1px solid rgba(8,41,79,.12);
    border-radius: var(--soft-radius);
    box-shadow: var(--soft-shadow);
  }
  .site-nav a {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(8,41,79,.08);
  }
  .site-nav a:last-child {
    border-bottom: none;
  }
  .site-nav .mobile-contact-link {
    display: block;
    margin-top: 6px;
    padding: 12px 14px;
    background: var(--navy);
    color: var(--white);
    text-align: center;
  }
  .nav-toggle:checked ~ .site-nav {
    display: flex;
  }
  .nav-toggle:checked + .nav-toggle-label span:first-child {
    transform: translateY(6px) rotate(45deg);
  }
  .nav-toggle:checked + .nav-toggle-label span:nth-child(2) {
    opacity: 0;
  }
  .nav-toggle:checked + .nav-toggle-label span:last-child {
    transform: translateY(-6px) rotate(-45deg);
  }
  .card-grid, .work-grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  .positioning::after { opacity: .18; inset: 0; }
  .positioning-copy { max-width: 680px; }
  .testimonial-inner { grid-template-columns: 1fr; text-align: center; width: min(760px, calc(100% - 48px)); }
  .icon-library { grid-template-columns: repeat(2, 1fr); }
  .process-hero { background: var(--white); }
  .process-hero-grid, .process-board-intro, .process-cta-grid { grid-template-columns: 1fr; }
  .process-hero-image { height: 360px; margin-right: 0; }
  .process-hero-image::after {
    background: linear-gradient(180deg, rgba(251,250,247,0), rgba(251,250,247,.72));
  }
  .process-board { padding: 22px; }
  .process-columns { grid-template-columns: 1fr; }
  .process-columns::before,
  .process-columns::after { display: none; }
  .process-column::before,
  .process-column::after { display: none; }
  .process-column { grid-template-rows: 260px auto; }
  .process-cta-icon { display: none; }
  .pathway-editorial,
  .pathway-showcase,
  .process-assurance,
  .assurance-grid { grid-template-columns: 1fr; }
  .process-values { grid-template-columns: repeat(2, 1fr); }
  .process-values > div { border-bottom: 1px solid rgba(8,41,79,.1); }
  .services-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-group-heading { grid-template-columns: 1fr; }
  .service-group-heading h2:nth-of-type(2) { display: none; }
  .service-detail-hero { background: #fbfaf7; }
  .service-detail-hero-grid,
  .service-detail-why-grid,
  .service-detail-navy-grid,
  .service-detail-example-grid,
  .service-detail-cta-panel,
  .projects-hero-grid,
  .projects-lookbook-grid,
  .projects-editorial-grid { grid-template-columns: 1fr; }
  .service-detail-hero-image { min-height: 420px; }
  .service-detail-hero-image img { width: 100%; }
  .service-detail-hero-image::before {
    width: 100%;
    background: linear-gradient(180deg, rgba(251,250,247,0), rgba(251,250,247,.72));
  }
  .managed-list {
    border-left: none;
    padding-left: 0;
  }
  .service-detail-value-grid { grid-template-columns: repeat(2, 1fr); }
  .service-detail-value-grid div:nth-child(2n) { border-right: none; }
  .home-hero-grid,
  .home-intro-grid,
  .home-pathways,
  .home-feature-grid,
  .home-proof-grid,
  .about-hero-grid,
  .about-story-grid,
  .team-grid { grid-template-columns: 1fr; }
  .home-hero-image { height: 420px; margin-right: 0; }
  .home-hero-image::after { background: linear-gradient(180deg, rgba(251,250,247,0), rgba(251,250,247,.75)); }
  .home-intro-icon { display: none; }
  .home-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .home-gallery-grid img,
  .home-gallery-grid img:nth-child(2),
  .home-gallery-grid img:nth-child(3) { height: 260px; margin-top: 0; }
  .home-proof-grid article { border-right: none; border-bottom: 1px solid rgba(8,41,79,.12); }
  .about-hero-image img { height: 430px; }
  .projects-featured-grid { grid-template-columns: repeat(2, 1fr); }
  .projects-editorial-grid > div { padding: 48px 0; }
  .home-ref-service-grid,
  .home-ref-work-grid { grid-template-columns: 1fr; }
  .home-ref-value-banner { grid-template-columns: repeat(3, 1fr); }
  .home-ref-value-banner span:nth-child(3n) { border-right: none; }
  .home-ref-value-banner span { border-bottom: 1px solid rgba(8,41,79,.12); }
  .home-ref-positioning { background: #f1eadf; }
  .home-ref-testimonial-inner { grid-template-columns: 1fr; text-align: center; }
  .pathway-card.featured { transform: none; }
}
@media (max-width: 620px) {
  .nav-button { display: none; }
  .logo img { width: 122px; }
  .hero { min-height: 620px; }
  .values-grid, .icon-library { grid-template-columns: 1fr; }
  .value-item { border-right: none; border-bottom: 1px solid rgba(8,41,79,.12); }
  .button-row { flex-direction: column; align-items: stretch; }
  .button { width: 100%; }
  .process-hero-copy { padding: 64px 0 40px; }
  .process-board { padding: 16px; }
  .process-shared { grid-template-columns: 1fr; padding: 24px; }
  .process-step { grid-template-columns: 1fr; }
  .process-values { grid-template-columns: 1fr; }
  .process-values > div { border-right: none; }
  .services-layout { grid-template-columns: 1fr; }
  .service-feature-card { min-height: auto; }
  .service-feature-card a { grid-template-rows: 230px auto; }
  .service-group-heading { display: none; }
  .service-detail-hero-copy { padding: 62px 0 32px; }
  .service-detail-hero-image,
  .service-detail-why-image img,
  .service-detail-example img { min-height: 0; height: 330px; }
  .service-detail-why-copy,
  .service-detail-example-copy { padding: 44px 24px; }
  .service-detail-value-grid { grid-template-columns: 1fr; }
  .service-detail-value-grid div {
    border-right: none;
    border-bottom: 1px solid rgba(8,41,79,.12);
  }
  .service-detail-cta-panel { padding: 30px 24px; }
  .home-hero-copy { padding: 64px 0 34px; }
  .home-hero-image,
  .home-feature-image { height: 340px; }
  .projects-hero { padding: 58px 0 64px; }
  .projects-featured { padding: 58px 0 66px; }
  .projects-featured-grid { grid-template-columns: 1fr; }
  .projects-editorial-grid > div { padding: 40px 0; }
  .home-gallery-grid { grid-template-columns: 1fr; }
  .about-hero-image img,
  .team-grid img { height: 360px; }
  .team-grid article { grid-template-columns: 1fr; }
  .home-ref-hero { min-height: 560px; }
  .home-ref-copy { padding: 76px 0; }
  .home-ref-value-banner { grid-template-columns: 1fr; }
  .home-ref-value-banner span { border-right: none; }
  .home-ref-service-image,
  .home-ref-work-grid img { height: 220px; }
}










