*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f5f0;color:#29373b;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}header{height:94px;padding:0 max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:white}.brand{text-decoration:none;display:flex;flex-direction:column}.brand b{font:27px Georgia,serif}.brand span,small{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#66757a}nav{display:flex;gap:30px}nav a{text-decoration:none;font-size:14px}.hero{height:min(650px,68vw);min-height:500px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,30,32,.7),rgba(20,30,32,.18) 65%)}.hero-copy{position:absolute;left:max(24px,calc((100vw - 1120px)/2));top:50%;transform:translateY(-50%);max-width:620px;color:white}.hero-copy small{color:white}.hero h1{font:normal clamp(50px,7vw,88px)/.98 Georgia,serif;margin:16px 0 24px}.hero p{font-size:19px}.intro{padding:105px 0 90px;text-align:center;max-width:900px}.intro small,.about small,.growing small,.location small{color:#a36755}.intro h2,.about h2,.growing h2,.location h2{font:normal clamp(34px,4vw,52px)/1.12 Georgia,serif;margin:20px 0 26px}.intro p{font-size:19px;color:#66757a}.paths{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #ddd9d0;margin-bottom:105px}.paths article{padding:60px 60px 65px 0}.paths article+article{border-left:1px solid #ddd9d0;padding-left:60px}.paths h2{font:normal 35px/1.15 Georgia,serif}.paths p{color:#66757a}.paths a,.location a{font-weight:600;font-size:14px;text-decoration:none;border-bottom:1px solid}.about{background:white;padding:95px 0}.about-grid{display:grid;grid-template-columns:440px 1fr;gap:90px;align-items:center}.about-grid>img{width:100%;aspect-ratio:4/5;object-fit:cover}.about p{color:#66757a;font-size:17px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.tags span{border:1px solid #ddd9d0;padding:8px 10px;font-size:12px}.growing{padding:105px 0;display:grid;grid-template-columns:1fr 1fr;gap:90px}.growing p{color:#66757a}.button{display:inline-block;background:#354d51;color:white;text-decoration:none;padding:14px 20px;margin-top:12px}.location{background:#354d51;color:white;padding:85px 0}.location-grid{display:grid;grid-template-columns:1fr 420px;gap:85px;align-items:center}.location p{color:#dce4e3}.location img{aspect-ratio:4/3;object-fit:cover}.location small{color:#ddb7a8}footer{background:#202e31;color:#dce3e3;padding:50px 0}footer p,footer small{color:#9fadaf}@media(max-width:760px){header{height:auto;padding:20px 24px}nav{display:none}.brand b{font-size:23px}.hero{height:610px}.hero>img{object-position:60% center}.shade{background:rgba(20,30,32,.5)}.hero-copy{left:24px;right:24px;top:auto;bottom:45px;transform:none}.hero h1{font-size:52px}.wrap{width:calc(100% - 36px)}.intro{padding:70px 0 60px}.paths,.about-grid,.growing,.location-grid{grid-template-columns:1fr}.paths{margin-bottom:65px}.paths article,.paths article+article{padding:42px 0;border-left:0}.paths article+article{border-top:1px solid #ddd9d0}.about{padding:65px 0}.about-grid{gap:40px}.about-grid>img{max-width:440px;margin:auto}.growing{padding:70px 0;gap:15px}.location{padding:65px 0}.location-grid{gap:40px}}
/* v2 interaction refinements */
a {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

nav a:not(.nav-cta) {
  position: relative;
}
nav a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -5px;
  height: 1px;
  background: #a36755;
  transition: right .18s ease;
}
nav a:not(.nav-cta):hover,
nav a:not(.nav-cta):focus-visible {
  color: #a36755;
}
nav a:not(.nav-cta):hover::after,
nav a:not(.nav-cta):focus-visible::after {
  right: 0;
}

.nav-cta {
  background: #354d51;
  color: #fff;
  padding: 10px 15px;
  margin: -10px 0;
  border: 1px solid #354d51;
}
.nav-cta:hover,
.nav-cta:focus-visible {
  background: #4a6368;
  border-color: #4a6368;
}

.paths a:hover,
.paths a:focus-visible,
.location a:hover,
.location a:focus-visible,
.secondary-action:hover,
.secondary-action:focus-visible {
  color: #a36755;
}
.location a:hover,
.location a:focus-visible {
  color: #f0c8b7;
}
.button:hover,
.button:focus-visible {
  background: #4a6368;
  transform: translateY(-1px);
}

a:focus-visible {
  outline: 3px solid rgba(163,103,85,.35);
  outline-offset: 4px;
}

.secondary-action {
  display: inline-block;
  margin-top: 9px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

/* The supplied hero is 1024px wide. Keep its enlargement modest on larger screens.
   A higher-resolution original is still recommended for the final site. */
.hero {
  background: #2b3032;
}
.hero > img {
  object-fit: cover;
  object-position: center;
}
@media (min-width: 1200px) {
  .hero > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media(max-width:760px){
  .nav-cta{display:none}
}

/* v3: higher-resolution, more vertical hero master */
.hero > img {
  object-position: 54% 51%;
}
@media(max-width:760px){
  .hero > img {
    object-position: 58% 50%;
  }
}

/* v4: tighter mobile hero crop and first-screen composition */
@media(max-width:760px){
  .hero{
    height: 470px;
    min-height: 470px;
  }
  .hero > img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:58% 58%;
  }
  .hero-copy{
    left:20px;
    right:20px;
    bottom:28px;
  }
  .hero-copy small{
    font-size:9px;
    letter-spacing:.16em;
  }
  .hero h1{
    font-size:44px;
    line-height:1.0;
    margin:12px 0 16px;
  }
  .hero p{
    font-size:16px;
    line-height:1.45;
    margin:0;
  }
}

@media(max-width:430px){
  .hero{
    height: 450px;
    min-height: 450px;
  }
  .hero > img{
    object-position:60% 60%;
  }
  .hero h1{
    font-size:40px;
  }
  .hero p{
    font-size:15.5px;
  }
}


/* v5: mobile navigation, prominent location, and shorter mobile hero */
.menu-toggle{display:none;background:transparent;border:0;padding:8px;margin:-8px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:2px;background:#29373b;margin:5px 0;transition:transform .18s ease,opacity .18s ease}
.location-strip{display:block;text-align:center;background:#eef0eb;color:#354d51;text-decoration:none;padding:8px 18px;font-size:13px;line-height:1.35;border-top:1px solid #e2e3de;border-bottom:1px solid #e2e3de}
.location-strip span{margin-left:8px;font-weight:600;border-bottom:1px solid currentColor}
.location-strip:hover,.location-strip:focus-visible{color:#a36755}
.street-address{font-size:19px!important;color:white!important;line-height:1.5}
.location-links{line-height:2}

@media(max-width:980px){
  header{position:relative;z-index:20}
  nav{gap:18px}
  nav a{font-size:13px}
}

@media(max-width:760px){
  header{padding:16px 20px;min-height:78px}
  .brand{max-width:calc(100% - 55px)}
  .brand b{font-size:22px}
  .brand span{font-size:8.5px;letter-spacing:.14em}
  .menu-toggle{display:block;position:relative;z-index:22}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;padding:8px 20px 18px;box-shadow:0 8px 20px rgba(20,30,32,.12);flex-direction:column;gap:0;z-index:21}
  nav.open{display:flex}
  nav a{padding:11px 0;font-size:15px;border-bottom:1px solid #ece9e2}
  nav a:not(.nav-cta)::after{display:none}
  .nav-cta{display:block!important;background:#354d51;color:white!important;padding:12px 14px!important;margin:12px 0 0;text-align:center;border:0!important}
  .location-strip{padding:8px 16px;font-size:12.5px}
  .location-strip span{display:block;margin:2px 0 0}
  .hero{height:290px;min-height:290px}
  .hero > img{object-position:58% 57%}
  .hero-copy{left:18px;right:18px;bottom:19px}
  .hero-copy small{font-size:8px;letter-spacing:.14em}
  .hero h1{font-size:36px;line-height:.98;margin:8px 0 10px}
  .hero p{font-size:14px;line-height:1.35;max-width:560px}
}

@media(max-width:430px){
  .hero{height:280px;min-height:280px}
  .hero > img{object-position:60% 58%}
  .hero h1{font-size:34px}
  .hero p{font-size:13.5px}
}
