/* Property owners: shared site palette, serif headings, native disclosures and photography. */
.buildings-hero { padding-bottom: 0; }
.buildings-hero-grid { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); gap: 65px; align-items: center; }
.buildings-hero h1 { font-size: clamp(3rem, 5.9vw, 6.5rem); margin-top: 24px; }
.buildings-hero .lead-copy { max-width: 48ch; font-size: clamp(1.15rem, 1.7vw, 1.5rem); }
.buildings-hero .service-hero-actions .text-link { white-space: normal; }
.building-diagram { margin: 0; padding: 30px; background: var(--panel); border: 1px solid var(--rule); width: 100%; max-width: 560px; justify-self: end; }
.building-diagram h2 { font-size: clamp(1.9rem, 2.8vw, 2.8rem); margin-block: 20px 24px; }
.building-artwork-link { display: block; position: relative; background: #171e1a; }
.building-artwork-image { display: block; width: 100%; height: auto; }
.building-artwork-logo { position: absolute; right: 4.5%; bottom: 3.5%; width: 23%; max-width: 120px; height: auto; filter: grayscale(1) brightness(0) invert(90%); pointer-events: none; }
.building-diagram figcaption { color: var(--muted); font-size: .76rem; line-height: 1.6; }
.building-diagram figcaption p { margin-bottom: 0; }
.building-path { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; list-style: none; padding: 0; margin: 22px 0 14px; color: var(--ink); font-size: .78rem; }
.building-path span { color: var(--accent); font: .68rem/1.5 'Courier New', monospace; margin-right: 4px; }
.buildings-foundation { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 55px; border-block: 1px solid var(--rule); }
.buildings-foundation > div { padding: 22px 28px; }
.buildings-foundation > div:first-child { padding-left: 0; }
.buildings-foundation > div + div { border-left: 1px solid var(--rule); }
.buildings-foundation strong { display: block; font: 400 clamp(1.5rem, 2.3vw, 2.3rem)/1.2 Georgia, serif; margin-top: 12px; letter-spacing: -.025em; }
.buildings-recognition { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; padding-block: 32px; border-bottom: 1px solid var(--rule); align-items: start; }
.buildings-recognition h2 { font-size: clamp(1.5rem, 2.3vw, 2.1rem); margin-bottom: 12px; }
.buildings-recognition p { color: var(--muted); font-size: .9rem; margin-bottom: 12px; max-width: 76ch; }
.buildings-recognition .text-link { font-size: .82rem; }
.buildings-section-intro { max-width: 38ch; color: var(--muted); font-size: .98rem; margin: 0; }
.buildings-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; }
.buildings-benefits article { border-top: 1px solid var(--rule); padding-top: 24px; }
.buildings-benefits h3 { font-size: 2rem; letter-spacing: -.025em; margin-block: 22px 18px; }
.buildings-benefits p { color: var(--muted); font-size: .95rem; max-width: 47ch; }
.buildings-infrastructure-band { background: var(--panel); padding-block: 75px; border-block: 1px solid var(--rule); }
.buildings-infrastructure-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; align-items: center; }
.buildings-fieldwork .field-photo img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 48% 50%; }
.buildings-infrastructure-grid h2 { font-size: clamp(2.1rem, 3.7vw, 3.7rem); margin-top: 22px; }
.buildings-infrastructure-steps { list-style: decimal-leading-zero; padding-left: 30px; margin: 30px 0; }
.buildings-infrastructure-steps li { padding-left: 12px; }
.buildings-infrastructure-steps li + li { margin-top: 22px; }
.buildings-infrastructure-steps li::marker { color: var(--accent); font-family: 'Courier New', monospace; font-size: .8rem; }
.buildings-infrastructure-steps h3 { font-size: 1.45rem; margin-bottom: 10px; }
.buildings-infrastructure-steps p, .buildings-scope-note { color: var(--muted); font-size: .9rem; }
.buildings-scope-note { border-top: 1px solid var(--rule); padding-top: 18px; margin-bottom: 0; }
.buildings-service-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 0 0 30px; }
.buildings-service-facts > div { display: flex; flex-direction: column-reverse; gap: 12px; border-top: 1px solid var(--rule); padding-top: 20px; }
.buildings-service-facts dt { color: var(--muted); font-size: .78rem; font-weight: 400; }
.buildings-service-facts dd { font: 400 clamp(1.5rem, 2.5vw, 2.7rem)/1.25 Georgia, serif; margin: 0; letter-spacing: -.035em; }
.buildings-performance p { color: var(--muted); font-size: .95rem; max-width: 80ch; }
.buildings-ai-proof { padding: 28px; margin-top: 35px; background: var(--panel); border: 1px solid var(--rule); }
.buildings-ai-proof .eyebrow { margin-bottom: 20px; }
.buildings-ai-proof h3 { font-size: 2rem; letter-spacing: -.025em; }
.buildings-ai-proof .text-link { white-space: normal; }
.buildings-ai-proof .buildings-measurement-note { font-size: .78rem; margin: 22px 0 0; }
.buildings-coverage { border-block: 1px solid var(--rule); }
.buildings-areas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 10px 0 0; border-block: 1px solid var(--rule); }
.buildings-areas li { padding: 26px 22px; }
.buildings-areas li:first-child { padding-left: 0; }
.buildings-areas li + li { border-left: 1px solid var(--rule); }
.buildings-areas h3 { font-size: clamp(1.4rem, 2.5vw, 2.3rem); margin: 20px 0 0; letter-spacing: -.025em; }
.buildings-section-note { color: var(--muted); font-size: .85rem; margin-top: 20px; }
.buildings-examples { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; margin-top: 45px; }
.buildings-examples h3 { font-size: 1.9rem; margin: 18px 0 0; }
.buildings-examples ul { list-style: none; padding: 0; margin: 0; }
.buildings-examples li { display: flex; justify-content: space-between; gap: 25px; padding: 20px 0; border-bottom: 1px solid var(--rule); }
.buildings-examples li:first-child { border-top: 1px solid var(--rule); }
.buildings-examples strong { font: 400 1.5rem/1.3 Georgia, serif; }
.buildings-examples li span { color: var(--muted); font-size: .8rem; align-self: center; }
.buildings-examples li > span { flex-shrink: 0; }
.buildings-examples li > span a { text-underline-offset: 3px; }
.buildings-examples-note { font-size: .78rem; color: var(--muted); margin: 22px 0 0; }
.buildings-process-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; gap: 30px; margin: 12px 0 0; padding: 0; }
.buildings-process-steps li { border-top: 1px solid var(--rule); padding-top: 24px; }
.buildings-process-steps h3 { font-size: 1.6rem; margin-top: 20px; }
.buildings-process-steps p { color: var(--muted); font-size: .9rem; margin-bottom: 0; }
.buildings-faq { border-top: 1px solid var(--rule); }
.buildings-faq details:first-child { border-top: 1px solid var(--rule); }
.buildings-faq summary { padding-block: 22px; font-size: 1.05rem; }
.buildings-faq details p { color: var(--muted); font-size: .93rem; }
.buildings-inquiry { scroll-margin-top: 25px; }
@media (min-width: 1600px) { .buildings-hero-grid { gap: 100px; } .building-diagram { padding: 40px; } .buildings-benefits { gap: 55px; } .buildings-infrastructure-grid { gap: 100px; } .buildings-service-facts dd { font-size: 2.6rem; } }
@media (max-width: 1100px) { .buildings-hero-grid { gap: 35px; } .building-diagram { padding: 24px; } .buildings-infrastructure-grid { gap: 40px; } .buildings-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); } .buildings-areas li:nth-child(3) { border-left: 0; padding-left: 0; } .buildings-areas li:nth-child(n+3) { border-top: 1px solid var(--rule); } .buildings-process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991px) { .buildings-hero-grid, .buildings-recognition, .buildings-infrastructure-grid, .buildings-examples { grid-template-columns: 1fr; gap: 30px; } .building-diagram { max-width: 650px; width: 100%; justify-self: start; } .buildings-hero h1 { font-size: clamp(3rem, 8vw, 5.5rem); } .buildings-benefits { gap: 24px; } .buildings-benefits h3 { font-size: 1.6rem; } .buildings-fieldwork .field-photo img { aspect-ratio: 16 / 10; } .buildings-recognition { gap: 20px; } .buildings-foundation strong { font-size: 1.5rem; } }
@media (max-width: 640px) { .buildings-hero h1 { font-size: clamp(2.75rem, 10vw, 4rem); } .buildings-foundation, .buildings-benefits, .buildings-process-steps { grid-template-columns: 1fr; } .buildings-foundation > div, .buildings-foundation > div + div { padding: 20px 0; border-left: 0; } .buildings-foundation > div + div { border-top: 1px solid var(--rule); } .buildings-benefits article + article { margin-top: 12px; } .buildings-infrastructure-band { padding-block: 45px; } .buildings-service-facts { grid-template-columns: 1fr; gap: 0; } .buildings-service-facts > div { padding: 18px 0; gap: 8px; } .buildings-service-facts dd { font-size: 2rem; } .buildings-ai-proof { padding: 24px; } .buildings-areas li { padding: 22px 16px; } .buildings-areas h3 { font-size: clamp(1.25rem, 6vw, 1.5rem); } .buildings-examples li { flex-direction: column; gap: 7px; } .buildings-examples li span { align-self: start; } .buildings-examples strong { font-size: 1.45rem; } .building-diagram { padding: 22px; } .buildings-faq summary { font-size: 1rem; } }

.buildings-readiness { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; margin-top: 40px; }
.buildings-readiness article { padding: 28px; background: var(--panel); border: 1px solid var(--rule); }
.buildings-readiness h3 { margin-top: 18px; font-size: 1.75rem; }
.buildings-readiness ul { padding-left: 20px; color: var(--muted); font-size: .9rem; margin-bottom: 0; }
.buildings-readiness li + li { margin-top: 10px; }
@media (max-width: 640px) { .buildings-readiness { grid-template-columns: 1fr; gap: 20px; } .buildings-readiness article { padding: 24px; } }

/* Conservative PLUTO building-area subtotal; shared typography and theme tokens. */
.buildings-footprint { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 85px); align-items: center; margin-top: 42px; padding: clamp(24px, 3.5vw, 55px); background: var(--panel); border: 1px solid var(--rule); border-top: 3px solid var(--accent); }
.buildings-footprint-value { margin: 18px 0 8px; color: var(--ink); font: 400 clamp(4.5rem, 7.5vw, 8rem)/.95 Georgia, 'Times New Roman', serif; letter-spacing: -.055em; }
.buildings-footprint-value > span:first-child { color: var(--accent); font-size: .6em; vertical-align: .12em; }
.buildings-footprint-value .buildings-footprint-unit { display: block; margin-top: 12px; font-size: .39em; line-height: 1.15; letter-spacing: -.025em; }
.buildings-footprint h3 { margin: 16px 0 0; font-size: clamp(1.35rem, 2vw, 1.8rem); }
.buildings-footprint-lead { margin: 0 0 18px; color: var(--ink); font: 400 clamp(1.75rem, 2.5vw, 2.5rem)/1.15 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; }
.buildings-footprint-copy > p:not(.buildings-footprint-lead) { color: var(--muted); max-width: 66ch; }
.buildings-footprint-copy .buildings-footprint-source { margin: 20px 0 0; font-size: .8rem; line-height: 1.65; }
.buildings-footprint-source a { color: var(--ink); text-underline-offset: .2em; }
@media (max-width: 640px) { .buildings-footprint { grid-template-columns: 1fr; gap: 26px; } .buildings-footprint-copy { padding-top: 24px; border-top: 1px solid var(--rule); } }
