body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.028;pointer-events:none;z-index:9000}
.hero{display:grid;grid-template-columns:clamp(300px,45%,820px) 1fr;height:calc(100vh - var(--nav-h));min-height:540px}.hero-left{background:var(--cream);display:flex;flex-direction:column;justify-content:flex-end;padding:5rem 5.5rem;animation:heroIn 1.1s cubic-bezier(.16,1,.3,1) .15s both;overflow:auto}@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.hero-left .eyebrow{color:var(--muted);margin-bottom:1.75rem;display:block}.hero-left h1{color:var(--forest);font-size:clamp(48px,5vw,82px);font-weight:900;line-height:1;white-space:pre-line;margin-bottom:1.75rem}.hero-subtext{color:var(--muted);font-size:1rem;line-height:1.7;font-style:normal;margin-bottom:2.5rem;max-width:34ch}.hero-left .btn{background:var(--forest);color:var(--cream);border-color:var(--forest);align-self:flex-start}.hero-left .btn:hover{background:transparent;border-color:var(--forest);color:var(--forest)}.hero-right{overflow:hidden;position:relative;min-height:0}.hero-right img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.descriptors{display:flex;justify-content:center;align-items:center;gap:3rem;padding:2.25rem 2rem;border-bottom:1px solid var(--border);font-family:'Cormorant Garamond',Georgia,serif;font-size:1.5rem;font-weight:300;font-style:italic;color:var(--muted);flex-wrap:wrap}.photo-trio-cta{text-align:center;padding:1.75rem 2rem;border-bottom:1px solid var(--border)}.photo-trio-cta a{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.15rem;font-style:italic;font-weight:300;color:var(--muted);text-decoration:none;letter-spacing:.04em;border-bottom:1px solid transparent;padding-bottom:2px;transition:color .2s,border-color .2s}.photo-trio-cta a:hover{color:var(--forest);border-bottom-color:rgba(49,73,53,.4)}
.photo-trio{display:grid;grid-template-columns:60fr 40fr;grid-template-rows:1fr 1fr;height:clamp(420px,36vw,620px);max-width:1600px;margin:0 auto}.photo-trio-main{grid-row:1/3;overflow:hidden}.photo-trio-a{border-left:5px solid var(--cream);overflow:hidden}.photo-trio-b{border-left:5px solid var(--cream);border-top:5px solid var(--cream);overflow:hidden}.photo-trio img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.photo-trio-main img,.photo-trio-a img,.photo-trio-b img{object-position:center center}.photo-trio>div:hover img{transform:scale(1.04)}
.contact-section{padding:4.5rem 5.5rem;position:relative;overflow:hidden}.contact-section .botanical-accent{position:absolute;bottom:2rem;right:2.5rem;height:200px;width:auto;opacity:.1;pointer-events:none}.contact-section h2{margin-bottom:2.5rem}.contact-list{list-style:none;display:flex;flex-direction:row;gap:4rem;flex-wrap:wrap}.contact-list>div{display:flex;flex-direction:column;gap:.35rem}.contact-list dt{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-style:normal}.contact-list dd{font-size:.95rem;font-style:normal;line-height:1.5}.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.in{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}
@media(max-width:900px){.hero{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto}.hero-left{padding:4rem 2.5rem}.hero-right{height:65vw;min-height:320px}.photo-trio{height:60vw}.contact-section{padding:3.5rem 2.5rem}.contact-list{flex-direction:column;gap:1.5rem}}@media(max-width:600px){.hero-left{padding:3rem 1.75rem}.hero-left h1{font-size:clamp(2.4rem,10vw,3.5rem)}.photo-trio{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto}.photo-trio-main{grid-column:1/3;grid-row:auto;aspect-ratio:3/2}.photo-trio-a{aspect-ratio:1;border-left:none;border-top:5px solid var(--cream)}.photo-trio-b{aspect-ratio:1;display:block;border-left:5px solid var(--cream);border-top:5px solid var(--cream)}.contact-section{padding:2.5rem 1.5rem}}

/* Keep contact content aligned with the photo grid on wide displays. */
@media (min-width: 1600px) {
  .contact-section {
    max-width: 1600px;
    margin-inline: auto;
    padding-block: clamp(4.5rem, 3vw, 6rem);
  }
  .contact-section h2 {
    font-size: clamp(50px, 2vw, 64px);
  }
  .contact-list {
    gap: clamp(4rem, 4vw, 8rem);
  }
  .contact-list dt {
    font-size: clamp(0.75rem, 0.5vw, 1rem);
  }
  .contact-list dd {
    font-size: clamp(1.125rem, 0.75vw, 1.5rem);
  }
}
