.feature-grid{grid-template-columns:repeat(var(--feature-cols,4), 1fr);gap:1.25rem;display:grid}.feature-grid .feature-card{background-color:var(--color-cream);color:var(--color-on-cream);border:1px solid var(--color-border-cream);border-radius:1rem;flex-direction:column;gap:.75rem;padding:2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px -24px #28313966}.feature-grid.is-ready .feature-card{transition:transform .55s cubic-bezier(.65,0,.076,1),box-shadow .55s cubic-bezier(.65,0,.076,1),border-color .4s}.feature-grid .feature-card:before{content:"";background-color:var(--color-accent);transform-origin:0;height:2px;transition:transform .55s cubic-bezier(.65,0,.076,1);position:absolute;inset:0 0 auto;transform:scaleX(0)}.feature-grid .feature-card:hover{border-color:var(--color-accent);transform:translateY(-6px);box-shadow:0 30px 60px -28px #28313980}.feature-grid .feature-card:hover:before{transform:scaleX(1)}.feature-grid .feature-card-label{color:var(--color-accent-strong);letter-spacing:.12em}.feature-grid .feature-card-title{letter-spacing:-.04rem;text-wrap:balance;font-size:1.75rem;font-weight:500;line-height:1.15}.feature-grid .feature-card-detail{color:var(--color-on-cream-soft)}@media (prefers-reduced-motion:reduce){.feature-grid .feature-card,.feature-grid .feature-card:before{transition:none}.feature-grid .feature-card:hover{transform:none}}@media (max-width:1000px){.feature-grid{grid-template-columns:1fr 1fr;gap:1rem}.feature-grid .feature-card{padding:1.5rem}.feature-grid .feature-card-title{font-size:1.5rem}}@media (max-width:600px){.feature-grid{grid-template-columns:1fr}}
.hero-gallery{flex-direction:column;justify-content:center;gap:1rem;width:100%;height:100%;display:flex;position:relative}.hero-gallery-row{gap:1rem;width:100%;display:flex;position:relative;left:-2vw}.hero-gallery-row:first-child{align-items:flex-end}.hero-gallery-row:nth-child(2){align-items:flex-start}.hero-gallery-img{aspect-ratio:5/4;background-color:var(--color-sand);border-radius:.75rem;flex:1;position:relative;overflow:hidden}.hero-gallery-img img{object-fit:cover}.hero-gallery-img-1,.hero-gallery-img-4{flex:.75}@media (max-width:1000px){.hero-gallery{gap:.75rem}.hero-gallery-row{left:0}}
