.page-gallery{background:#f3f4f6}.gallery-intro{color:var(--muted);max-width:730px;margin:20px 0 32px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portfolio-shot{padding:0;border:0;background:transparent;cursor:zoom-in}.portfolio-shot img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.page-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.page-service-grid article{border-top:2px solid var(--gold);padding-top:24px;display:flex;flex-direction:column}.page-service-grid h3{font-size:24px;letter-spacing:-.5px}.page-service-grid p{color:var(--muted)}.page-service-grid a{margin-top:auto;white-space:normal}.page-story{background:#f3f4f6;display:grid;grid-template-columns:1fr 1fr;gap:60px}.page-story h3{font-size:23px;margin-top:25px;letter-spacing:-.4px}.page-story p{color:var(--muted)}.page-cta-copy{margin:24px 0}.tour-demo iframe,.tour-demo video{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;background:#17213a;margin:25px 0}.tour-demo>p{margin-top:20px}.portfolio-dialog{border:0;background:#15213a;color:white;padding:55px 20px 20px;width:min(1200px,95vw);max-width:95vw;max-height:95svh}.portfolio-dialog::backdrop{background:#081120e8}.portfolio-dialog img{max-height:75svh;width:100%;object-fit:contain}.portfolio-dialog button{position:absolute;right:15px;top:10px;padding:8px 14px;background:white;color:#18233e;border:0;cursor:pointer;font-size:16px}@media(max-width:750px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.page-service-grid,.page-story{grid-template-columns:1fr;gap:30px}.page-service-grid h3{font-size:23px}.page-gallery h2,.page-services h2{font-size:30px}}
.generated-gallery h2{margin-bottom:28px}.generated-gallery .portfolio-grid{grid-template-columns:1fr 1fr}.generated-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;height:auto}@media(max-width:650px){.generated-gallery .portfolio-grid{grid-template-columns:1fr}}
.editing-note{max-width:800px;color:var(--muted);margin:0 0 32px;font-size:17px;line-height:1.7}
/* Keep the Homes heading and its opening gallery visually connected. */
.homes-page .detail-intro{padding-bottom:20px}
.homes-page .detail-intro + .page-gallery{padding-top:20px}
.homes-page .detail-intro{padding-top:28px;padding-bottom:12px}
.homes-page .detail-intro .eyebrow{margin-top:20px;margin-bottom:10px}
.homes-page .detail-intro h1{margin-bottom:10px}
.homes-page .detail-intro + .page-gallery{padding-top:12px}
.homes-page .page-gallery .eyebrow{margin-bottom:10px}
.homes-page .page-gallery .gallery-intro{margin:12px 0 22px}
.homes-page .homes-opening{background:#fff;padding-top:30px;padding-bottom:55px}
.homes-back{font-size:13px;color:var(--muted);text-decoration:none}.homes-back:hover{text-decoration:underline}
.homes-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:30px 0}
.homes-gallery-heading h1{font-size:64px;line-height:1;margin:0;letter-spacing:-2px}
.homes-gallery-heading p{max-width:390px;margin:0;color:var(--muted);font-size:17px;line-height:1.6}
@media(max-width:650px){.homes-page .homes-opening{padding-top:24px}.homes-gallery-heading{display:block;margin:24px 0}.homes-gallery-heading h1{font-size:46px}.homes-gallery-heading p{margin-top:16px;font-size:16px}}
.property-page .homes-gallery-heading h1{font-size:clamp(36px,4vw,60px);line-height:1.08;max-width:660px}
.property-page .homes-gallery-heading p{flex:0 1 390px}
@media(max-width:650px){.property-page .homes-gallery-heading h1{font-size:38px}}

/* Connect the Homes introduction and service collection. */
.homes-detail .detail-body{padding-bottom:28px;align-items:center}
.homes-detail .detail-body ul{margin-bottom:0}
.homes-detail .page-services{padding-top:28px}
.homes-detail .page-services .section-heading{margin-bottom:20px}
@media(max-width:650px){.homes-detail .detail-body{padding-bottom:20px}.homes-detail .page-services{padding-top:24px}}

.homes-detail .page-services{padding-top:42px;background:#f8f8f6}
.homes-services-intro{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:start;margin-bottom:36px}
.homes-services-intro h2{font-family:Georgia,serif;font-weight:400;font-size:40px;line-height:1.2;letter-spacing:-.7px}
.homes-services-intro>div>p:not(.eyebrow){font-size:17px;line-height:1.7;color:var(--muted);margin:0 0 14px}
.homes-services-intro>div>p:last-child{margin-bottom:0}
@media(max-width:750px){.homes-services-intro{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.homes-services-intro h2{font-size:32px}.homes-detail .page-services{padding-top:30px}}

.homes-detail .homes-approach{display:block;background:white;padding-top:54px;padding-bottom:54px;text-align:center}
.homes-approach>div{max-width:780px;margin:auto}
.homes-detail .homes-approach .eyebrow{color:#84630b;margin-bottom:16px}
.homes-approach h2{font:400 36px/1.25 Georgia,serif;letter-spacing:-.5px;margin-bottom:22px}
.homes-approach h2+p{font-size:17px;line-height:1.8;margin:0;color:var(--muted)}
@media(max-width:650px){.homes-detail .homes-approach{padding-top:38px;padding-bottom:38px}.homes-approach h2{font-size:29px}}
