/* One frame system for photographs. Originals remain uncropped in the viewer. */
:root { --photo-frame-ratio: 4 / 3; }
img, figure, .card-image, .project-card > div:first-child,
.project-frame figure, .journal-photo > button, .gallery-item,
.hero-visual, .build-image, .subdivision-art, .floorplans > button,
.site-plan-panel > button, .plan-spotlight > a {
  border-radius: 0;
  clip-path: none;
}

/* Equal columns give paired photographs equal dimensions as well as equal ratios. */
.project-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.project-pair > .project-frame { grid-column: auto; }
.project-pair > .project-frame:only-child { grid-column: auto; }
.project-frame figure, .project-frame.portrait figure,
.portfolio-home .project-card > div:first-child,
.card-image, .plan-card .card-image {
  height: auto;
  min-height: 0;
  aspect-ratio: var(--photo-frame-ratio);
  overflow: hidden;
}
.project-frame img, .project-frame.portrait img,
.project-card img, .card-image img {
  width: 100%; height: 100%; object-fit: cover;
}

/* A regular gallery replaces the previous masonry and uneven lead-image layout. */
.journal-gallery { display: grid; columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 22px; }
.journal-gallery > .journal-photo,
.journal-gallery > .journal-photo.photo-lead.landscape {
  grid-column: auto; column-span: none; width: 100%; max-width: none; margin: 0;
}
.journal-gallery .journal-photo > button,
.journal-gallery .journal-photo:first-child > button {
  height: auto; aspect-ratio: var(--photo-frame-ratio); overflow: hidden;
}
.journal-gallery .journal-photo img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}

.detail-images .gallery-mosaic {
  grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: auto;
}
.detail-images .gallery-mosaic .gallery-item,
.detail-images .gallery-mosaic .gallery-item:first-child {
  display: block; grid-column: auto; grid-row: auto; height: auto;
  aspect-ratio: var(--photo-frame-ratio);
}
.detail-images .gallery-mosaic:has(.gallery-item:only-child) {
  grid-template-columns: 1fr; grid-template-rows: none; max-width: 960px; margin-inline: auto;
}

.about-company figure img, .team-editorial figure img,
.contact-details img, .process-finale figure img {
  width: 100%; height: auto; min-height: 0;
  aspect-ratio: var(--photo-frame-ratio); object-fit: cover;
}
.process-finale { grid-template-columns: 1.2fr 1fr 1fr; align-items: start; }
.process-finale figure:last-child { display: block; }
.build-panel { align-items: center; }
.build-image { min-height: 0; aspect-ratio: var(--photo-frame-ratio); align-self: center; }
.build-image > img { width: 100%; height: 100%; object-fit: cover; }
.process-drawing { min-height: 0; padding-bottom: 52px; }
.process-drawing svg { min-height: 0; }
.hero-visual { min-height: 0; height: auto; aspect-ratio: var(--photo-frame-ratio); align-self: center; }
.hero-visual > img { width: 100%; height: 100%; object-fit: cover; }

/* Technical drawings must remain legible and complete inside the shared frames. */
.plan-card .card-image img, .card.media-map .card-image img,
.card.media-rendering .card-image img,
.elevation-detail .gallery-item img, .rendering-detail .gallery-item img,
.map-detail .gallery-item img { object-fit: contain; }
#viewer-image { border-radius: 0; aspect-ratio: auto; object-fit: contain; }

@media (max-width: 850px) {
  .process-finale { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-finale > div { grid-column: 1 / -1; }
  .build-panel { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .project-pair { display: grid; grid-template-columns: 1fr; gap: 26px; margin-bottom: 26px; }
  .project-pair > .project-frame { margin: 0; }
  .journal-gallery, .detail-images .gallery-mosaic { grid-template-columns: 1fr; }
  .journal-gallery > .journal-photo { margin: 0; }
  .process-finale { grid-template-columns: 1fr; }
  .process-finale > div { grid-column: auto; }
}

/* Catalogue covers are architectural renderings, not technical drawings.
   Fill their thumbnail frames; reserve contain for drawings and enlarged originals. */
.card-image, .plan-card .card-image { aspect-ratio: 16 / 9; }
.plan-card .card-image img,
.card.media-rendering .card-image img,
.card.media-photograph .card-image img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center; padding: 0;
  mix-blend-mode: normal; border-radius: 0;
}
.plan-card .card-image, .card .card-image { position: relative; overflow: hidden; }
/* Trim the rounded perimeter already present in the St Ives source screenshot. */
.plan-card .card-image[href="/house-plans/house-plan-1/"] img { transform: scale(1.04); }
.plan-card .card-image[href="/house-plans/house-plan-1/"]:hover img { transform: scale(1.055); }
.card-image .status, .card-image .image-type { z-index: 1; }
.plan-spotlight { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: start; }
.plan-spotlight > a { min-width: 0; }
.plan-spotlight > a > img {
  display: block; width: 100%; height: auto; max-height: none;
  aspect-ratio: 16 / 9; object-fit: cover; object-position: center;
  padding: 0; mix-blend-mode: normal; border-radius: 0;
}
@media (max-width: 600px) {
  .plan-spotlight { grid-template-columns: 1fr; }
}
/* The supplied 107 elevation has a plain white canvas; blend only that canvas. */
.card.media-rendering .card-image[href="/listings/107-sgt-donald-lucas-drive/"] img {
  object-position: 50% 20%; mix-blend-mode: multiply;
}

/* Keep all labels and captions outside the image itself. */
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:10px}
.plan-card .card-image[href="/house-plans/house-plan-1/"] img{transform:none}
.plan-card .card-image[href="/house-plans/house-plan-1/"]:hover img{transform:scale(1.025)}
.hero-visual{aspect-ratio:auto;overflow:visible}
.hero-visual>img{position:static;aspect-ratio:4/3;height:auto}
.hero-visual .image-caption{position:static;display:flex;margin:0;padding:13px 20px;background:#323230;border-top:1px solid #e0ccaa35}
.build-image{aspect-ratio:auto;overflow:visible}
.build-image>img{position:static;display:block;height:auto;aspect-ratio:4/3;object-fit:cover}
.build-image figcaption{position:static;display:block;background:#323230;margin:0}
.process-drawing{aspect-ratio:4/3;padding-bottom:26px}

/* Matching subdivision placeholders; future aerials sit behind a glass panel. */
.subdivision-art{position:relative;display:block;height:auto;aspect-ratio:4/3;overflow:hidden;background:#323230}
.subdivision-art .place-card{width:100%;height:100%;min-height:0}
.subdivision-art>.subdivision-aerial{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;padding:0;mix-blend-mode:normal}
.subdivision-art.has-aerial .place-card{position:absolute;inset:auto 20px 20px;height:auto;width:auto;gap:15px;padding:24px;background:rgba(50,50,48,.82);border:1px solid rgba(224,204,170,.5);box-shadow:0 8px 28px #0002;color:#f1e4ce}
.subdivision-art.has-aerial .place-name{font-size:clamp(30px,3.2vw,48px);max-width:none}
.subdivision-art.has-aerial .place-card .eyebrow{margin:0}
@supports ((backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px))){
 .subdivision-art.has-aerial .place-card{background:rgba(50,50,48,.5);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
}
@media(prefers-reduced-transparency:reduce){.subdivision-art.has-aerial .place-card{background:#323230;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:600px){.subdivision-art.has-aerial .place-card{inset:auto 14px 14px;padding:20px;gap:12px}}

.subdivision-art .place-card .eyebrow{color:#e0ccaa}

/* Frame the central home within Katherine's supplied aerial photograph. */
.project-frame[href="/portfolio/the-puffin/"] img { transform:scale(1.8); transform-origin:50% 58%; }
.project-frame[href="/portfolio/the-puffin/"]:hover img { transform:scale(1.84); }

/* A lines-only navigation button retains an accessible name and touch target. */
.menu-button{width:44px;min-height:44px;padding:10px!important;align-items:center;justify-content:center}
.menu-lines{display:grid;gap:5px;width:24px}
.menu-lines>span{display:block;width:24px;height:1.5px;background:currentColor}

/* Relevant stage imagery shares one edge-to-edge frame, with captions below. */
.process-media{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#d8cebf}
.process-media>img{display:block;width:100%;height:100%;object-fit:cover;border:0;padding:0}
.process-media.is-plan>img{object-fit:contain;mix-blend-mode:multiply}
.process-media.is-framing>img{transform:scale(1.6);transform-origin:40% 90%}
.photo-credit{display:block;margin-top:5px;font-size:10px;line-height:1.6;color:#cfc5b5}
.photo-credit a{text-decoration:underline;text-underline-offset:3px}

/* Subdivision film and private-lot information. */
.subdivision-film{padding-bottom:36px}.subdivision-film figure{margin:0}.subdivision-film video{display:block;width:100%;aspect-ratio:16/9;height:auto;background:#323230;border:0;border-radius:0}.subdivision-film figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:12px;color:#595146;font-size:12px;line-height:1.6}.private-lot-steps{padding-left:20px;margin:24px 0 0}.private-lot-steps li{padding:0 0 18px 8px}.private-lot-steps strong,.private-lot-steps span{display:block}.private-lot-steps span{font-size:14px;line-height:1.7;margin-top:5px}.site-plan-panel .fineprint{margin-top:16px}@media(max-width:600px){.subdivision-film{padding-bottom:24px}.subdivision-film figcaption{display:block}.subdivision-film figcaption span{display:block}}

/* Subdivision film and private-lot information. */

/* Surface all four locations and the expanded photo collections. */
.subdivision-directory{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.subdivision-directory a{display:flex;align-items:center;gap:24px;font-size:14px;padding-block:8px;border-bottom:1px solid var(--line)}
.subdivision-card{scroll-margin-top:120px}
.subdivision-art.has-plan{background:transparent;display:flex;flex-direction:column;aspect-ratio:4/3}
.subdivision-art>.subdivision-preview-plan{position:static;width:100%;height:calc(100% - 44px);object-fit:contain;mix-blend-mode:normal;padding:0}
.subdivision-plan-link{display:flex;align-items:center;justify-content:space-between;height:44px;font-size:12px;border-top:1px solid var(--line)}
.gallery-preview-count{display:flex;align-items:center;gap:14px;margin-top:9px;font-size:12px;color:var(--ink)}
@media(max-width:600px){.subdivision-directory{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.subdivision-directory a{justify-content:space-between;font-size:12px;gap:8px}.subdivision-card{scroll-margin-top:90px}}

/* Forest Landing option two: quiet heading and an unobstructed aerial panorama. */
#forest-landing>.subdivision-art{grid-column:1/-1;aspect-ratio:3.2/1;max-height:380px;min-height:230px}
#forest-landing>.subdivision-art>.subdivision-aerial{object-position:50% 100%}
#forest-landing>div{grid-column:1/-1;max-width:760px}
.forest-arrival{padding-bottom:16px}.forest-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;padding:20px 0 26px}.forest-heading .eyebrow{font-size:10px;margin-bottom:12px;color:var(--gold)}.forest-heading h1{font-size:clamp(46px,5.5vw,76px);line-height:1;letter-spacing:-.04em}.forest-heading>.text-link{font-size:12px;min-width:180px;margin-bottom:5px}
.forest-panorama{margin:0;overflow:hidden;background:#323230}.forest-panorama img{display:block;width:100%;height:auto;aspect-ratio:3.2/1;max-height:380px;object-fit:cover;object-position:50% 100%;border-radius:0}
.forest-landscape-caption{display:flex;justify-content:space-between;gap:40px;padding:20px 0;border-bottom:1px solid var(--line)}.forest-landscape-caption>.eyebrow{font-size:10px;white-space:nowrap;margin:3px 0}.forest-landscape-caption>p{font-size:14px;line-height:1.8;max-width:620px}.forest-film-heading{padding-bottom:24px}.forest-film-heading .eyebrow{margin-bottom:12px}.forest-film-heading h2{font-size:clamp(32px,3.5vw,48px)}
@media(max-width:850px){.forest-heading h1{font-size:52px}.forest-heading>.text-link{min-width:150px}.forest-landscape-caption{gap:24px}}
@media(max-width:600px){#forest-landing>.subdivision-art{aspect-ratio:2.1/1;min-height:0;max-height:none}.forest-heading{display:block;padding:14px 0 20px}.forest-heading h1{font-size:44px}.forest-heading .eyebrow{margin-bottom:10px}.forest-heading>.text-link{display:flex;min-width:0;max-width:180px;margin-top:18px;margin-bottom:0;font-size:11px}.forest-panorama img{aspect-ratio:2.1/1;object-position:50% 100%}.forest-landscape-caption{display:block;padding-block:18px}.forest-landscape-caption>.eyebrow{margin:0 0 10px}.forest-landscape-caption>p{font-size:13px}.forest-arrival{padding-bottom:8px}}

/* One consistent collection for subdivision photography, plans and private-lot builds. */
.location-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:44px;padding-bottom:48px}
.location-card{min-width:0;display:flex;flex-direction:column;scroll-margin-top:120px}
.location-media{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#eee7d9;border-radius:0}
.location-media>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 70%;border:0;border-radius:0;padding:0;mix-blend-mode:normal;transition:transform .5s ease}
.location-media.is-photo>img{filter:none}
.location-media.is-plan>img{object-fit:contain;object-position:center;filter:none}
.location-media.is-photo:hover>img{transform:scale(1.025)}
.location-media-caption{font-size:10px;line-height:1.6;letter-spacing:.05em;color:var(--muted);padding:9px 0 12px;border-bottom:1px solid var(--line)}
.location-copy{display:flex;flex-direction:column;flex:1;padding-top:19px}
.location-copy>.eyebrow{font-size:10px;margin:0 0 10px;color:var(--gold)}
.location-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.location-title h2{font-size:clamp(32px,3.6vw,48px);line-height:1.12}.location-title>.circle-link{flex:0 0 40px;width:40px;height:40px;font-size:27px}
.location-description{font-size:14px;line-height:1.8;color:var(--muted);max-width:490px;margin-top:14px;margin-bottom:19px;flex:1}
.location-copy>.text-link{font-size:12px;max-width:230px;align-self:start}
.private-lot-art{height:100%;width:100%;padding:8% 9%;display:flex;flex-direction:column;justify-content:center;position:relative;color:#323230;background:linear-gradient(135deg,#eee7d9,#e3d7c2)}
.private-lot-art:before{content:'';position:absolute;inset:7%;border:1px solid #ad96734a;pointer-events:none}
.private-art-overline{font-size:9px;letter-spacing:.2em;margin-bottom:7%;color:#796448}
.private-art-title{font-family:var(--serif);font-size:clamp(44px,5.8vw,80px);line-height:1.04;letter-spacing:-.045em}.private-art-title em{font-weight:400}
.private-art-rule{display:block;width:54px;height:1px;background:#9c8258;margin:7% 0 5%}
.private-art-footer{font-size:9px;letter-spacing:.24em;color:#796448}
@media(max-width:850px){.location-collection{gap:32px 24px}.location-title h2{font-size:34px}.location-description{font-size:13px}.private-art-title{font-size:50px}}
@media(max-width:600px){.location-collection{grid-template-columns:1fr;gap:32px;padding-bottom:32px}.location-card{scroll-margin-top:90px}.location-media{aspect-ratio:4/3}.location-copy{padding-top:15px}.location-title h2{font-size:36px}.location-description{font-size:13px;margin-top:11px;margin-bottom:16px}.private-art-title{font-size:64px}.location-media-caption{padding-bottom:10px}}

.location-media.is-private>img{object-fit:contain;filter:none}.location-collection-note{font-size:11px;line-height:1.7;color:var(--muted);padding-bottom:28px;margin-top:-20px}

/* Exact lot numbers, transcribed from the supplied plans, stay sharp at every size. */
.location-lot-numbers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.location-lot-numbers text{font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:400;fill:#fff7e6;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#323230;stroke-opacity:.6;stroke-width:1.2px}.location-card#jonathan-park .location-lot-numbers text{font-size:23px}

.location-card#jonathan-park .location-lot-numbers text.three-digit{font-size:19px}

/* Forest Landing: source-verified available lots with responsive SVG links. */
.interactive-lots{padding-top:24px;padding-bottom:48px;scroll-margin-top:100px}.interactive-lots>.section-heading{align-items:end;margin-bottom:24px}.lot-plan-instruction{font-size:13px;max-width:260px;color:var(--muted)}.interactive-lots-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(230px,1fr);gap:36px;align-items:center}.interactive-lot-map{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eee7d9}.interactive-lot-map>img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;border:0}.lot-plan-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.lot-plan-overlay text{font-family:Georgia,"Times New Roman",serif;font-size:29px;fill:#fff7e6;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:#323230;stroke-opacity:.6;stroke-width:1.2px}.available-lot polygon{fill:#8b9970;fill-opacity:.85;stroke:#e9dec4;stroke-width:2;transition:fill .2s,fill-opacity .2s}.available-lot:hover polygon,.available-lot:focus polygon{fill:#bca578;fill-opacity:1;stroke:#fff7e6;stroke-width:4}.available-lot:focus{outline:none}.available-lots-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px}.available-lots-heading .eyebrow{margin:0}.available-lots-heading>span{font-size:12px;color:var(--muted)}.lot-selection-copy{font-family:var(--serif,Georgia,serif);font-size:29px;line-height:1.25;margin:24px 0}.available-lots-list>a{display:flex;justify-content:space-between;align-items:center;min-height:60px;border-top:1px solid var(--line);gap:18px;transition:color .2s}.available-lots-list>a:last-child{border-bottom:1px solid var(--line)}.available-lots-list>a>span:first-child{font-family:Georgia,serif;font-size:24px}.available-lots-list>a>span:last-child{display:flex;align-items:center;gap:16px;font-size:11px}.available-lots-list>a:hover{color:var(--muted)}.lot-map-legend{display:flex;align-items:center;gap:10px;font-size:11px;margin:24px 0 12px}.lot-map-legend>span{width:12px;height:12px;background:#8b9970}.lot-plan-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:8px}
@media(max-width:850px){.interactive-lots-layout{grid-template-columns:1fr;gap:24px}.available-lots-panel{max-width:none}.available-lots-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.available-lots-list>a:nth-last-child(2){border-bottom:1px solid var(--line)}.lot-selection-copy{font-size:26px;margin:16px 0}.interactive-lots{padding-bottom:32px}.lot-map-legend{margin-top:20px}}
@media(max-width:600px){.interactive-lots>.section-heading{display:block;margin-bottom:18px}.lot-plan-instruction{margin-top:12px}.interactive-lots-layout{gap:18px}.available-lots-list{gap:0 18px}.available-lots-list>a{min-height:56px;gap:8px}.available-lots-list>a>span:first-child{font-size:22px}.available-lots-list>a>span:last-child{gap:8px}}

/* Shared plan presentation; unknown availability never receives an active plot link. */
.lot-plan-overlay.is-dense text{font-size:23px}.lot-plan-overlay.is-dense text.three-digit{font-size:19px}.private-lot-link polygon{fill:transparent;stroke:transparent;stroke-width:3;transition:fill .2s,stroke .2s}.private-lot-link:hover polygon,.private-lot-link:focus polygon{fill:#bca578;fill-opacity:.22;stroke:#eee1bc}.private-lot-link:focus{outline:none}.lot-panel-description{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:24px}.lot-map-resources{display:grid;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.lot-map-resources .text-link{width:100%;text-align:left;font-size:11px}.available-lots-panel>.text-link{margin-top:18px;width:100%}.available-lots-panel .private-lot-steps{margin:20px 0}.available-lots-panel .private-lot-steps li{padding:14px 0}.available-lots-panel .private-lot-steps strong{font-size:13px}.available-lots-panel .private-lot-steps span{font-size:12px}

/* Keep Jonathan Park charcoal; highlight the individual civic area on hover/focus. */
.lot-plan-overlay.all-lots-available .available-lot polygon{fill:transparent;stroke:transparent;stroke-width:2}.lot-plan-overlay.all-lots-available .available-lot:hover polygon,.lot-plan-overlay.all-lots-available .available-lot:focus polygon{fill:#8b9970;fill-opacity:.85;stroke:#fff0cc;stroke-width:3}.all-lots-panel .lot-map-legend>span{background:#48483f}.lot-picker{display:grid;gap:12px;margin-top:24px}.lot-picker>label{font-size:12px}.lot-picker>select{width:100%;min-height:48px;background:transparent;color:var(--ink,#323230);border:1px solid var(--line);border-radius:0;padding:10px 12px;font:inherit;font-size:14px}.lot-picker>.button{width:100%;min-height:48px;justify-content:space-between;padding-inline:16px;font-size:12px}.lot-picker>select:focus-visible{outline:2px solid #7f785e;outline-offset:3px}
@media(max-width:600px){.circle-link,.location-title>.circle-link{min-width:44px;min-height:44px}.photo-open{min-width:44px;min-height:44px}}

/* Clear legacy elevation padding and photo tinting in detail galleries. */
.detail-images .gallery-item img,.detail-images .gallery-item:first-child img{padding:0;background:transparent;mix-blend-mode:normal}
.photograph-detail .gallery-item img{object-fit:cover}

/* Root scroll padding already clears the header. */
.interactive-lots{scroll-margin-top:0}

/* Transparent export of the original vector lettering, with no blend or crop workaround. */
.brand{flex-shrink:0;line-height:0}
.brand-logo{display:block;width:220.5px;aspect-ratio:2424/560;background:transparent;mix-blend-mode:normal}
.brand-logo>img{position:static;display:block;width:100%;max-width:100%;height:auto;border:0;border-radius:0;background:transparent}
.footer-main .brand-logo{width:243px}
@media(max-width:850px){.brand-logo{width:198px}}
@media(max-width:600px){.brand-logo{width:180px}.footer-main .brand-logo{width:220.5px}}

/* Supplied Colorado Street aerials complement the numbered plan. */
.forest-panorama>button{display:block;width:100%;padding:0;line-height:0}
.forest-panorama>button:focus-visible{outline-offset:-5px}
.fairview-arrival .forest-panorama img{aspect-ratio:3.1/1;max-height:430px;object-position:50% 37%}
.aerial-photos{padding-top:18px;padding-bottom:48px}
.aerial-photos>.section-heading{margin-bottom:24px}
.aerial-note{font-size:12px;line-height:1.7;color:var(--muted);max-width:240px}
.aerial-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.aerial-photo-grid figure{margin:0;min-width:0}
.aerial-photo-grid button{display:block;padding:0;width:100%;aspect-ratio:4/3;overflow:hidden}
.aerial-photo-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;border-radius:0;padding:0;mix-blend-mode:normal}
.aerial-photo-grid figcaption{padding-top:12px;font-size:12px;line-height:1.7;color:var(--muted)}
@media(max-width:600px){.aerial-photos{padding-bottom:32px}.aerial-photo-grid{grid-template-columns:1fr;gap:24px}.aerial-note{margin-top:12px}.fairview-arrival .forest-panorama img{aspect-ratio:2.1/1;object-position:50% 37%}}

/* Neighbourhood photographs favour the road and existing homes over foreground excavation. */
.aerial-photo-grid button{aspect-ratio:16/9}.aerial-photo-grid img{aspect-ratio:16/9;object-position:50% 16%}

/* Keep both faces and the key exchange visible in the supplied portrait. */
#build-panel-4 .process-media>img{object-position:50% 40%}
#build-panel-2 .process-media>img{object-position:50% 58%}

/* Draw arrows consistently; iOS must not substitute colourful emoji glyphs. */
.icon-arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.12em;overflow:visible}.button .icon-arrow,.text-link .icon-arrow,.image-caption .icon-arrow,.circle-link .icon-arrow,.journal-arrow .icon-arrow,.step-mark .icon-arrow,.step-next .icon-arrow{vertical-align:middle}

/* Enquiry form: keep the bot field out of the visual and keyboard flow. */
.hph-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.enquiry-panel button[disabled]{opacity:.65;cursor:wait}#enquiry-status:empty{display:none}#enquiry[hidden]{display:none!important}
@media(max-width:600px){.home-hero h1 em{display:block}}
