/* ADH photo placements preserve the supplied portrait compositions. */
.adh-community-feature { background: #f5f1e9; }
.adh-community-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 6vw, 90px); align-items: center; }
.adh-community-copy h2 { font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.25; margin: 18px 0; }
.adh-community-copy > p:not(.eyebrow-text) { color: #525c55; font-size: 1.1rem; line-height: 1.9; margin-bottom: 28px; }
.adh-community-images { position: relative; padding-inline-end: 20%; padding-block-end: 32px; }
.adh-community-main { display: block; width: 100%; height: auto; border-radius: 20px; }
.adh-community-detail { position: absolute; width: 39%; height: auto; inset-inline-end: 0; bottom: 0; border: 6px solid #f5f1e9; border-radius: 16px; }
.adh-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.adh-photo-card { margin: 0; border-radius: 14px; overflow: hidden; background: #6e161b; }
.adh-photo-card > a { display: block; position: relative; }
.adh-photo-card img { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: contain; }
.adh-photo-expand { position: absolute; bottom: 14px; inset-inline-end: 14px; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: #153b35; display: grid; place-items: center; box-shadow: 0 2px 12px #0003; }
.adh-photo-card a:focus-visible { outline: 4px solid #d5a53d; outline-offset: -4px; }
.adh-gallery-heading { background: #f5f1e9; padding-bottom: 36px; }
.adh-gallery-heading h1 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.3; margin: 16px 0; }
.adh-gallery-heading p { max-width: 720px; line-height: 1.9; }
.adh-gallery-heading .eyebrow-text { margin-top: 32px; }
.adh-gallery-section { padding-top: 36px; }
.adh-photo-dialog { width: fit-content; max-width: 94vw; max-height: 94dvh; padding: 12px; border: 0; border-radius: 16px; background: #102d29; color: white; }
.adh-photo-dialog::backdrop { background: #061513e8; }
.adh-photo-dialog > img { display: block; width: auto; max-width: 86vw; height: auto; max-height: 78dvh; object-fit: contain; margin: auto; }
.adh-photo-dialog p { text-align: center; font-size: .9rem; padding: 8px 48px 0; }
.adh-photo-close { position: absolute; top: 18px; inset-inline-end: 18px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: white; color: #102d29; font-size: 24px; cursor: pointer; }
.auth-visual.adh-auth-visual { position: relative; overflow: hidden; isolation: isolate; }
.adh-auth-art { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.adh-auth-visual::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,#0b241db3 0%,#0b241d38 25%,#0b241dec 66%,#0b241d 100%); }
.adh-auth-copy { margin-top: auto; padding-top: 160px; }
.adh-footer-gallery { display: inline-block; margin-block: 0 20px; color: #f0c975; }
.adh-media-admin-slots { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 18px; margin-block: 20px; }
.adh-media-admin-slot { display: grid; gap: 10px; align-content: start; }
.adh-media-admin-slot img { width: 110px; height: 138px; object-fit: contain; border-radius: 8px; background: #eae6dd; }
.adh-media-admin-slot select { width: 100%; padding: 9px; border: 1px solid #c6cdc8; border-radius: 8px; background: #fff; color: #19352b; }
.adh-media-admin-details { margin-block: 20px; }
.adh-media-admin-details summary { cursor: pointer; padding: 14px; border: 1px solid #d2d7d3; border-radius: 8px; }
.adh-media-admin-photos { display: grid; grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); gap: 16px; margin-top: 20px; }
.adh-media-admin-photos label,.adh-media-admin-photos figure { margin: 0; display: grid; gap: 8px; align-content: start; }
.adh-media-admin-photos img { display: block; width: 100%; height: auto; border-radius: 8px; }
.adh-media-admin-photos input { accent-color: #175445; }
@media (max-width: 1000px) {
    .adh-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
}
@media (max-width: 700px) {
    .adh-community-layout { grid-template-columns: 1fr; }
    .adh-community-images { max-width: 480px; }
    .adh-photo-grid { gap: 14px; }
    .adh-gallery-preview .section-head { display: grid; gap: 20px; }
    .adh-gallery-preview .section-head .btn { justify-self: start; }
}
@media (max-width: 480px) {
    .adh-photo-grid { grid-template-columns: 1fr; }
    .adh-photo-card { max-width: 370px; width: 100%; margin-inline: auto; }
}

/* Interior heroes use the same image blend and typography as Home. */
.adh-inner-hero .hs-inner { padding-block: 80px; }
.adh-inner-hero .hs-copy { width: 48%; }
.adh-inner-hero .hs-media img { object-position: center 35%; animation: none; }
.adh-inner-hero .hs-media img[src$="art-042.webp"] { object-position: center 12%; }
.adh-inner-explore { color: white; border: 1px solid #ffffff66; background: #ffffff0d; }
.adh-inner-explore:hover,.adh-inner-explore:focus-visible { color: white; border-color: white; background: #ffffff20; }
.adh-inner-stat-strip { background: #f2f1e9; border-bottom: 1px solid #173b3312; }
.adh-inner-stat-grid { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 24px; padding-block: 26px; }
.adh-inner-stat { display: grid; gap: 6px; text-align: center; flex: 1 1 140px; }
.adh-inner-stat strong { color: #205b43; font-size: 1.5rem; font-weight: 800; }
.adh-inner-stat span { color: #626a61; font-size: .85rem; line-height: 1.6; }
@media (max-width: 767px) {
    .adh-inner-hero .hs-copy { width: 100%; }
    .adh-inner-hero .hs-inner { padding-block: 0 48px; }
    .adh-inner-hero .hs-media { height: min(75vw, 370px); }
    .adh-inner-stat-grid { gap: 20px 12px; padding-block: 22px; }
    .adh-inner-stat { flex-basis: calc(50% - 12px); }
}
