.amenities-intro { --amenity-green:#153f33; --amenity-gold:#9c7b4d; padding:90px 0 60px; background:#f7f7f0; overflow:hidden; }
.amenities-intro-heading { display:grid; grid-template-columns:1.5fr 1fr; gap:60px; align-items:end; margin-bottom:42px; }
.amenities-intro-heading > * { min-width:0; }
.amenities-intro-eyebrow { display:block; color:#8f7045; font-size:11px; font-weight:600; line-height:1.7; text-transform:uppercase; letter-spacing:1.8px; }
.amenities-intro-heading h2 { color:var(--amenity-green); font-size:clamp(36px,3.6vw,56px); line-height:1.12; font-weight:400; letter-spacing:-1.5px; margin:18px 0 0; }
.amenities-intro-heading h2 em { color:var(--amenity-gold); font-weight:400; }
.amenities-intro-heading > p { max-width:370px; margin:0 0 3px auto; color:#68766a; font-size:16px; line-height:1.85; }
.amenities-intro-layout { display:grid; grid-template-columns:.8fr 1.4fr; align-items:start; gap:32px; }
.amenities-intro-visual { margin:0; min-width:0; }
.amenities-intro-photo { position:relative; height:635px; border-radius:90px 7px 7px 7px; overflow:hidden; background:#c7d6bf; }
.amenities-intro-photo > img { display:block; width:100%; height:100%; object-fit:cover; object-position:48% center; }
.amenities-intro-photo::after { content:''; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#082e23e6); pointer-events:none; }
.amenities-intro-photo-caption { position:absolute; z-index:1; bottom:30px; left:28px; right:20px; color:#fff; }
.amenities-intro-photo-caption > span { display:block; color:#e8d2ac; font-size:10px; text-transform:uppercase; letter-spacing:1.3px; line-height:1.8; margin-bottom:13px; }
.amenities-intro-photo-caption > strong { display:block; font-size:36px; font-weight:400; line-height:1.15; }
.amenities-intro-visual figcaption { margin-top:10px; color:#7c8577; font-size:10px; line-height:1.7; }
.amenities-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.amenity-feature-card { display:flex; flex-direction:column; min-width:0; min-height:201px; margin:0; padding:23px 24px; background:#fffefa; border:1px solid #e0e2d6; border-radius:6px; box-shadow:0 6px 20px #153f3303; }
.amenity-feature-card:hover { border-color:#bfa97d; background:#fff; }
.amenity-feature-top { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:14px; }
.amenity-feature-top svg { width:36px; height:36px; color:var(--amenity-gold); flex-shrink:0; transition:rotate .4s ease; }
.amenity-feature-card:hover svg { rotate:-7deg; }
.amenity-feature-top > span { color:#929b8d; text-transform:uppercase; letter-spacing:1.2px; font-size:9px; line-height:1.5; }
.amenity-feature-card h3 { color:var(--amenity-green); font-size:25px; line-height:1.3; font-weight:400; margin:0 0 9px; letter-spacing:-.3px; }
.amenity-feature-card p { margin:0; color:#6b786c; font-size:13px; line-height:1.8; }
.amenities-intro-bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:32px; padding:24px 0; border-bottom:1px solid #daddcf; }
.amenities-intro-bottom p { margin:0; color:#5f7362; font-size:15px; line-height:1.8; }
.amenities-intro-bottom a { display:inline-flex; align-items:center; gap:23px; padding-bottom:5px; border-bottom:1px solid #ac9161; color:var(--amenity-green); font-size:13px; line-height:1.7; white-space:nowrap; }
.amenities-intro-bottom a:hover { color:#9c7b4d; }
.amenities-intro-bottom a:focus-visible { outline:3px solid #a88a53; outline-offset:5px; }
.amenities-intro-note { display:block; margin-top:16px; color:#808878; font-size:10px; line-height:1.7; }
@media (max-width:1199px) { .amenities-intro-layout { grid-template-columns:.8fr 1.3fr; gap:22px; } .amenity-feature-card { min-height:220px; padding:20px; } .amenities-intro-photo { height:692px; } .amenities-intro-heading { gap:30px; } }
@media (max-width:991px) { .amenities-intro { padding:65px 0 45px; } .amenities-intro-heading { grid-template-columns:1fr; gap:22px; } .amenities-intro-heading > p { max-width:580px; margin:0; } .amenities-intro-layout { grid-template-columns:1fr; gap:25px; } .amenities-intro-photo { height:420px; border-top-left-radius:75px; } .amenity-feature-card { min-height:195px; } }
@media (max-width:575px) { .amenities-intro { padding:48px 0 35px; } .amenities-intro-heading h2 { font-size:38px; letter-spacing:-1.2px; } .amenities-intro-eyebrow { font-size:10px; letter-spacing:1.2px; } .amenities-intro-heading > p { font-size:15px; } .amenities-intro-photo { height:410px; } .amenities-intro-photo-caption > strong { font-size:33px; } .amenities-feature-grid { grid-template-columns:1fr; gap:13px; } .amenity-feature-card { min-height:0; padding:22px; } .amenity-feature-card h3 { font-size:27px; } .amenity-feature-card p { font-size:14px; } .amenities-intro-bottom { align-items:flex-start; flex-direction:column; gap:17px; margin-top:22px; } }
@media (prefers-reduced-motion:reduce) { .amenity-feature-top svg { transition:none; } .amenity-feature-card:hover svg { rotate:none; } }
