@font-face {
  font-family: "Open Sans";
  src: url("/media/open-sans.woff2") format("woff2");
  font-display: swap;
}
:root {
  --sand: #ded4be;
  --ink: #51271d;
  --wine: #6d1c14;
  --charcoal: #524d4c;
  --olive: #6d8052;
  --rule: #a67d69;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: #fff; font: 16px/1.35 "Open Sans", Arial, sans-serif; }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #275e8e; outline-offset: 3px; }
img { display: block; max-width: 100%; }
h1,h2,h3,p,figure,blockquote { margin: 0; }
h1 { font-size: 29px; font-weight: 400; }
h2 { font-size: 26px; font-weight: 400; }
h3 { font-size: 17px; }
p + p { margin-top: 14px; }
hr { border: 0; border-top: 1px solid var(--rule); margin: 29px 0 12px; }
.wrap { width: min(920px, calc(100% - 40px)); margin-inline: auto; }
.site-header, footer { background: var(--sand); }
.masthead { display: grid; grid-template-columns: 221px 1fr 150px; grid-template-rows: 98px auto; align-items: center; }
.logo img { width: 221px; }
.motto { text-align: center; font-size: 29px; line-height: 1.15; margin-left: -68px; }
.motto strong { display: block; color: var(--wine); font-size: 17px; font-family: Arial,sans-serif; }
.engage { justify-self: center; align-self: start; margin-top: 16px; font-size: 24px; text-decoration: none; padding: 5px 22px; line-height: 1.15; color: #f9f4e8; background: var(--olive); box-shadow: 8px 7px #4a5638; }
nav { display: flex; justify-content: flex-end; grid-column: 1 / -1; align-self: end; }
nav a { text-decoration: none; color: var(--wine); padding: 8px 13px; border-left: 1px solid #a68974; font-size: 15px; }
nav a:first-child { border-left: 0; }
nav a[aria-current="page"], nav a:hover { background: #ebe3d1; color: #4a4937; }
main { position: relative; isolation: isolate; overflow: clip; }
main::before {
  position: absolute; inset: -18px -22px auto; height: 790px; content: ""; z-index: -1;
  background: linear-gradient(155deg,#c9e9f0a0,#e9f3f1a8 50%,#6c9dab85), url("/media/office.jpg") center 52%/cover;
  filter: blur(9px) saturate(.65);
}
main::after { position: absolute; inset: 0 0 auto; height: 780px; content: ""; z-index: -1; background: linear-gradient(180deg,#f2f8fa36,#ebf2f2a0 35%,#f7f9f966 75%,#fff0); pointer-events: none; }
.content { padding: 20px 0 55px; }
.page-title { text-align: center; margin-bottom: 15px; }
.home-tiles { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; background: #d28c46; min-height: 505px; }
.home-tiles a {
  position: relative; display: flex; align-items: end; text-decoration: none; min-width: 0; overflow: hidden;
  background: url("/media/stones.jpg") no-repeat; background-size: 420% auto;
}
.home-tiles a:nth-child(1) { background-position: 0 55%; }
.home-tiles a:nth-child(2) { background-position: 33.333% 55%; }
.home-tiles a:nth-child(3) { background-position: 66.666% 55%; }
.home-tiles a:nth-child(4) { background-position: 100% 55%; }
.home-tiles span { width: 100%; margin-bottom: 57px; padding: 8px 14px; min-height: 62px; display: flex; justify-content: space-between; align-items: center; gap: 5px; color: #f4ecde; background: #504a49eb; }
.home-tiles b { font-size: 36px; font-weight: 400; }
.home-tiles a:hover span { background: #743128; }
.home-copy { text-align: center; padding-top: 25px; }
.home-copy hr { margin: 23px 0 26px; }
.home-copy p + p { margin-top: 1px; }
.home .content { padding-bottom: 25px; }
.work-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin: 12px 0 40px; align-items: start; }
.work-grid article { background: #fffffff5; color: #2b2522; box-shadow: 0 1px 6px #49464245; }
.work-grid article img { width: 100%; height: 149px; object-fit: cover; filter: grayscale(1) opacity(.66); }
.work-grid article div { padding: 14px 18px 20px; }
.work-grid h3 { margin-bottom: 12px; }
.work-grid article p { font-size: 14px; }
.cloud-work { margin-top: 20px; row-gap: 22px; }
.cloud-work article { background: none; box-shadow: none; color: var(--wine); min-height: 225px; }
.cloud-work article p { font-size: 15px; }
.cloud-gallery { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; align-items: center; min-height: 225px; }
.cloud-gallery img { width: 100%; height: 200px; object-fit: cover; filter: saturate(.55) brightness(1.06); opacity: .82; }
.cloud-gallery img:nth-child(2) { max-width: 217px; height: 217px; transform: translateY(14px); }
.cloud-gallery img:nth-child(1) { opacity: .42; }
.offer, .quotes { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.offer h2 { margin-bottom: 11px; }
.offer p { max-width: 435px; color: var(--wine); }
.feature { display: grid; place-items: center; min-height: 211px; padding: 25px; background: linear-gradient(#ffffff8c,#ffffff70),url("/media/architecture.jpg") center/cover; }
.feature > div { width: min(322px, 100%); text-align: center; background: var(--charcoal); padding: 21px 18px; }
.feature > div p { color: #f0e8d7; }
.feature hr { width: 70px; margin: 13px auto; }
.feature-photo { background: url("/media/architecture.jpg") center/cover; filter: opacity(.66); }
.feature-link { color: #fff; background: linear-gradient(#31262480,#312624ae),url("/media/technology.jpg") center/cover; text-align: center; }
.quotes { align-items: start; margin-top: 46px; }
.quotes blockquote { position: relative; text-align: center; background: var(--charcoal); color: #f0e8d7; font-size: 23px; padding: 24px 25px 22px; }
.quotes blockquote span { position: absolute; bottom: calc(100% - 2px); left: 50%; transform: translateX(-50%); background: var(--charcoal); padding: 7px 24px 1px; border-radius: 90px 90px 0 0; }
.quotes cite { display: block; font-size: 14px; font-style: normal; margin-top: 22px; }
.statement { color: var(--wine); font-size: 32px; font-weight: bold; padding-left: 14px; }
.clients-intro { max-width: 630px; margin: 18px auto; }
.logo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 5px; margin: 20px auto 34px 5%; max-width: 668px; }
.logo-grid img { width: 100%; height: 126px; object-fit: contain; background: #fff; padding: 5px; }
.testimonials figure { margin-top: 22px; }
.testimonials blockquote { font-style: italic; font-size: 22px; color: #514947; }
.testimonials figcaption { color: var(--wine); margin-top: 12px; }
.about-intro { display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: center; margin: 20px 0 28px; }
.about-intro img { width: 200px; height: 130px; object-fit: cover; filter: grayscale(.7); }
.team { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 18px 0 45px; }
.team article { padding: 17px; background: #f9f6eedd; }
.team article p { margin-top: 11px; }
.team article a { display: inline-block; margin-top: 12px; }
.contact-photo { min-height: 260px; display: grid; place-items: center; margin: 24px 0 29px; background: linear-gradient(#ffffff36,#ffffff46),url("/media/meeting.jpg") center 44%/cover; }
.contact-photo span { padding: 12px 18px; background: var(--charcoal); color: #fff6e5; font-size: 22px; text-align: center; }
.leadership { min-height: 180px; margin-bottom: 0; }
.contact-grid { display: grid; grid-template-columns: 2.4fr 1fr; gap: 44px; }
.contact form { display: grid; gap: 8px; }
.contact label { display: grid; grid-template-columns: 78px 1fr; align-items: start; color: #4f271d; }
.contact input, .contact textarea { width: 100%; border-radius: 4px; border: 1px solid #8a7760; padding: 6px 9px; background: #e4d9c3; font: inherit; color: #29211c; }
.contact textarea { resize: vertical; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-left: 78px; }
.form-actions p,[role="status"] { font-size: 13px; }
.contact address { font-style: normal; font-size: 14px; }
.contact address p + p { margin-top: 4px; }
.contact address img { background: #fff; width: 221px; margin-bottom: 18px; }
.footer-grid { min-height: 145px; display: grid; grid-template-columns: 1fr 1.4fr 1fr; align-items: start; gap: 25px; padding: 22px 0 20px; }
footer p, footer p + p { margin: 0; font-size: 14px; }
footer a { text-decoration: none; }
.wordmark { font-size: 29px; }
.wordmark sup { margin-left: 10px; font-size: 15px; }
.footer-contact { text-align: center; }
.dark-button { color: #fff7e6; background: var(--charcoal); text-decoration: none; padding: 8px 13px; border: 0; font: inherit; cursor: pointer; display: inline-block; }
.dark-button:hover { background: #5f281e; }
.footer-contact .dark-button { width: min(205px,100%); margin-bottom: 9px; }
.social { display: flex; justify-content: flex-end; align-items: center; gap: 5px; margin-top: 15px; }
.social a { display: inline-grid; place-items: center; padding: 2px 5px; min-width: 25px; min-height: 25px; color: #fff; background: #37638e; font-weight: 700; }
.social .email { border: 2px solid #214d75; border-radius: 20px; padding: 5px 13px; background: transparent; color: #214d75; font: 14px Georgia,serif; }
.food-bank { max-width: 155px; margin-left: auto; font-size: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 720px) {
  .wrap { width: calc(100% - 28px); }
  .masthead { grid-template-columns: 1fr auto; grid-template-rows: auto; gap: 11px; padding-top: 15px; }
  .logo img { width: min(174px,100%); }
  .motto { grid-column: 1 / -1; grid-row: 2; margin-left: 0; font-size: 25px; }
  .motto strong { font-size: 14px; }
  .engage { margin: 0 7px 7px 0; font-size: 19px; }
  nav { justify-content: center; flex-wrap: wrap; row-gap: 2px; }
  nav a { font-size: 14px; padding: 6px 8px; }
  .home-tiles { min-height: 390px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-tiles a { background-size: cover; background-position: 50% 55%; }
  .home-tiles span { min-height: 43px; margin-bottom: 20px; padding: 5px 9px; }
  .home-tiles b { font-size: 26px; }
  .work-grid, .offer, .quotes, .contact-grid, .team, .footer-grid { grid-template-columns: 1fr; gap: 16px; }
  .cloud-gallery { gap: 8px; min-height: 0; }
  .cloud-gallery img,.cloud-gallery img:nth-child(2) { height: 110px; transform: none; }
  .cloud-work article { min-height: 0; padding: 12px; background: #fff9; }
  .quotes { gap: 25px; }
  .statement { font-size: 26px; }
  .contact-photo { min-height: 182px; }
  .form-actions { padding-left: 0; }
  .logo-grid { margin-left: 0; }
  .logo-grid img { height: 80px; }
  .about-intro { grid-template-columns: 1fr; gap: 12px; }
  .footer-grid { text-align: center; }
  .social { justify-content: center; margin-top: 0; }
  .food-bank { margin: 5px auto 0; }
}

nav a { font-family: Georgia, serif; }
.work-video { max-width: 455px; margin: 0 auto 12px; }
.work-video iframe { display: block; width: 100%; height: auto; aspect-ratio: 455 / 220; border: 0; background: #332e2c; }
.work-video figcaption { margin-top: 6px; text-align: right; font-size: 13px; }
.crm-work article { background: transparent; box-shadow: none; color: var(--wine); }
.crm-work article div { padding: 0; }
.crm-work article p, .cloud-work article p { font-family: Georgia, serif; }
@media (max-width: 720px) {
  .crm-work article div { padding: 12px; background: #fff9; }
}
