/* Gramercy Stories: one reading measure and one alignment for every building. */
#gpba-full .building-profile-page { --building-reading:50rem; }
#gpba-full .building-profile-page .building-profile-shell { width:calc(100% - 3rem); max-width:var(--building-reading); margin:0 auto; padding:2.5rem 0 3.5rem; }
#gpba-full .building-profile-page .building-profile-header { width:100%; max-width:none; margin:0; padding:0 0 1.75rem; }
#gpba-full .building-profile-page .breadcrumb { margin:0 0 1.5rem; font-size:1rem; line-height:1.6; }
#gpba-full .building-profile-page .building-profile-header .eyebrow { margin:0 0 .875rem; font-size:1rem; line-height:1.5; letter-spacing:.1em; }
#gpba-full .building-profile-page .building-profile-header h1 { margin:0 0 1rem; font-size:clamp(2.625rem,5.5vw,4.5rem); line-height:1.04; letter-spacing:-.025em; text-wrap:balance; }
#gpba-full .building-profile-page .building-deck { margin:0; color:var(--green); font-family:'EB Garamond',Georgia,serif; font-size:2rem; line-height:1.2; }
#gpba-full .building-profile-page .building-deck span { display:block; margin-top:.25rem; color:var(--ink); font-size:1.5rem; line-height:1.35; }
#gpba-full .building-profile-page .building-lead { max-width:none; margin:1.5rem 0 0; font-size:1.25rem; line-height:1.7; }
#gpba-full .building-profile-page .building-hero { width:100%; max-width:none; margin:0 0 2.25rem; }
#gpba-full .building-profile-page .building-hero img,
#gpba-full .building-profile-page .building-photo img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; object-position:left top; margin:0; background:none; }
#gpba-full .building-profile-page figcaption { width:100%; max-width:none; margin:.75rem 0 0; padding:0; text-align:left; font:400 1.125rem/1.45 'EB Garamond',Georgia,serif; letter-spacing:0; color:#515e50; }
#gpba-full .building-profile-page .building-opening { display:block; width:100%; max-width:none; margin:0 0 2.25rem; padding:1.5rem 0 0; border:0; border-top:1px solid var(--brass); }
#gpba-full .building-profile-page .building-opening .building-kicker { margin:0 0 .75rem; font-size:1rem; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; color:var(--green); }
#gpba-full .building-profile-page .building-opening p { margin:0 0 1rem; font-size:1.125rem; line-height:1.8; }
#gpba-full .building-profile-page .building-opening p:last-child { margin-bottom:0; }
#gpba-full .building-profile-page .building-quote { width:100%; max-width:none; margin:0 0 2.5rem; padding:1.5rem 0; border-block:1px solid var(--brass); text-align:left; }
#gpba-full .building-profile-page .building-quote p { margin:0; font-family:'EB Garamond',Georgia,serif; font-size:clamp(1.875rem,3vw,2.375rem); line-height:1.22; color:var(--green); text-wrap:pretty; }
#gpba-full .building-profile-page .building-quote cite { display:block; margin-top:1rem; font:italic 400 1.1875rem/1.45 'EB Garamond',Georgia,serif; color:var(--green); text-align:right; }
#gpba-full .building-profile-page .building-story { width:100%; max-width:none; margin:0; }
#gpba-full .building-profile-page .building-story > section { margin:0 0 2.5rem; padding:0; border:0; }
#gpba-full .building-profile-page .building-story h2 { margin:0 0 1rem; font-size:2.25rem; line-height:1.18; text-wrap:pretty; }
#gpba-full .building-profile-page .building-story h3 { margin:1.75rem 0 .875rem; font-size:1.875rem; line-height:1.2; }
#gpba-full .building-profile-page .building-story p,
#gpba-full .building-profile-page .building-story li { font-size:1.125rem; line-height:1.8; }
#gpba-full .building-profile-page .building-story p { margin:0 0 1.125rem; }
/* A quotation inside the story must not inherit the smaller body-copy rule. */
#gpba-full .building-profile-page .building-story .building-quote p { margin:0; font-size:clamp(1.875rem,3vw,2.375rem); line-height:1.22; }
#gpba-full .building-profile-page .building-story section > :last-child { margin-bottom:0; }
#gpba-full .building-profile-page .building-photo { width:100%; max-width:var(--building-image-width,100%); margin:2rem 0 2.5rem; padding:0; }
#gpba-full .building-profile-page a:not(.textlink) { text-underline-offset:4px; text-decoration-color:var(--brass); }
#gpba-full .building-profile-page .building-story a,
#gpba-full .building-profile-page figcaption a,
#gpba-full .building-profile-page .building-source-list a { text-decoration:underline; overflow-wrap:anywhere; }
#gpba-full .building-profile-page .building-reference-details { width:100%; max-width:none; margin:0; padding:0; border:0; border-top:1px solid var(--brass); }
#gpba-full .building-profile-page .building-reference-details > summary { display:flex; justify-content:space-between; align-items:center; gap:1.25rem; margin:0; padding:1.25rem 0; cursor:pointer; list-style:none; color:var(--green); font:400 1.75rem/1.25 'EB Garamond',Georgia,serif; }
#gpba-full .building-profile-page .building-reference-details > summary::-webkit-details-marker { display:none; }
#gpba-full .building-profile-page .building-reference-details > summary::marker { content:''; }
#gpba-full .building-profile-page .building-reference-details > summary::after { content:'+'; flex:0 0 1.5rem; text-align:center; font:400 1.5rem/1 Inter,Arial,sans-serif; }
#gpba-full .building-profile-page .building-reference-details[open] > summary::after { content:'−'; }
#gpba-full .building-profile-page .building-reference-details > summary:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
#gpba-full .building-profile-page .building-reference-content { padding:0 0 1.75rem; }
#gpba-full .building-profile-page .building-facts,
#gpba-full .building-profile-page .building-timeline,
#gpba-full .building-profile-page .building-sources { width:100%; max-width:none; margin:0; border:0; padding-top:0; }
#gpba-full .building-profile-page .building-facts h2,
#gpba-full .building-profile-page .building-timeline h2 { margin:.5rem 0 1rem; font-size:1.875rem; line-height:1.2; }
#gpba-full .building-profile-page .building-facts-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2rem; margin:0 0 2rem; border-top:1px solid #d8d5c8; }
#gpba-full .building-profile-page .building-fact { min-width:0; padding:1.25rem 0; border-bottom:1px solid #d8d5c8; }
#gpba-full .building-profile-page .building-fact-label { margin:0 0 .5rem; font-size:1rem; line-height:1.5; color:#515e50; }
#gpba-full .building-profile-page .building-fact-value { margin:0; font-family:'EB Garamond',Georgia,serif; font-size:1.625rem; line-height:1.2; color:var(--green); }
#gpba-full .building-profile-page .building-fact-note { margin:.5rem 0 0; font-size:1rem; line-height:1.65; }
#gpba-full .building-profile-page .building-timeline-list { border-top:1px solid #d8d5c8; }
#gpba-full .building-profile-page .building-timeline-item { display:grid; grid-template-columns:7rem minmax(0,1fr); gap:1.5rem; padding:1.25rem 0; border-bottom:1px solid #d8d5c8; }
#gpba-full .building-profile-page .building-timeline-date { font-family:'EB Garamond',Georgia,serif; font-size:1.625rem; line-height:1.2; color:var(--green); }
#gpba-full .building-profile-page .building-timeline-item h3 { margin:0 0 .5rem; font-size:1.625rem; line-height:1.2; }
#gpba-full .building-profile-page .building-timeline-item p { margin:0; font-size:1rem; line-height:1.7; }
#gpba-full .building-profile-page .building-source-list { margin:0; padding:0; list-style:none; }
#gpba-full .building-profile-page .building-source-list li { display:grid; grid-template-columns:8rem minmax(0,1fr); gap:1.5rem; padding:1.25rem 0; border-top:1px solid #d8d5c8; }
#gpba-full .building-profile-page .building-source-date { font-size:1rem; line-height:1.6; color:#515e50; overflow-wrap:break-word; }
#gpba-full .building-profile-page .building-source-list strong { display:block; margin:0 0 .5rem; font:400 1.625rem/1.2 'EB Garamond',Georgia,serif; }
#gpba-full .building-profile-page .building-source-list span { display:block; font-size:1rem; line-height:1.7; }
#gpba-full .building-profile-page .building-return { width:100%; max-width:none; margin:0; padding:1.5rem 0; border-top:1px solid var(--brass); gap:1rem 2rem; }
#gpba-full .building-profile-page .building-return .textlink { font-size:1rem; line-height:1.6; }
#gpba-full .building-profile-page .building-series-note { width:100%; max-width:none; margin:0; padding:0; font:400 1.125rem/1.5 'EB Garamond',Georgia,serif; color:#515e50; }
#gpba-full .building-profile-page [id] { scroll-margin-top:2rem; }

/* The collection keeps its existing, wider editorial grid. */
#gpba-full .building-index-shell { width:88%; max-width:1160px; margin:0 auto; padding:34px 0 52px; }
#gpba-full .building-index-header .breadcrumb { margin-bottom:18px; }
#gpba-full .building-index-header .eyebrow { margin-bottom:12px; }
#gpba-full .building-index-header h1 { margin:0 0 14px; font-size:clamp(52px,7vw,92px); line-height:.96; }

/* The collection landing page uses the same type, rules and image proportions. */
#gpba-full .building-index-header { max-width:980px; margin:0 auto; padding-bottom:32px; }
#gpba-full .building-index-header .lead { max-width:760px; margin:0; }
#gpba-full .building-index-intro { display:grid; grid-template-columns:minmax(170px,.6fr) minmax(0,1.4fr); gap:56px; max-width:980px; margin:0 auto 42px; padding:27px 0; border-block:1px solid var(--brass); }
#gpba-full .building-index-intro p { margin:0; font-size:18px; line-height:1.75; }
#gpba-full .building-index-intro .building-kicker { margin:0; font-size:1rem; letter-spacing:.16em; text-transform:uppercase; }
#gpba-full .building-index-card { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(300px,.94fr); gap:56px; align-items:start; max-width:980px; margin:0 auto; padding:30px 0 34px; border-bottom:1px solid var(--brass); }
#gpba-full .building-index-card figure { min-width:0; }
#gpba-full .building-index-card img { width:100%; height:360px; object-fit:cover; object-position:50% 50%; }
#gpba-full .building-index-card figcaption { margin-top:10px; font:400 1.125rem/1.45 'EB Garamond',Georgia,serif; color:#515e50; }
#gpba-full .building-index-card h2 { margin:10px 0 12px; font-size:clamp(36px,4vw,52px); }
#gpba-full .building-index-card p { margin:0 0 20px; font-size:17px; line-height:1.75; }
#gpba-full .building-index-card .textlink { font-size:1rem; }
#gpba-full .building-index-closing { max-width:760px; margin:42px auto 0; }
#gpba-full .building-index-closing h2 { margin:0 0 12px; font-size:38px; }
#gpba-full .building-index-closing p { margin:0; font-size:17px; line-height:1.8; }


@media(max-width:780px){
 #gpba-full .building-index-shell{width:88%;padding:24px 0 36px}
 #gpba-full .building-index-header h1{font-size:clamp(48px,14vw,68px)}
 #gpba-full .building-index-intro{grid-template-columns:1fr;gap:12px;padding:22px 0;margin-bottom:28px}
 #gpba-full .building-index-card{grid-template-columns:1fr;gap:24px}
 #gpba-full .building-index-card img{height:auto;max-height:none}
 #gpba-full .building-index-card h2{font-size:40px}
}
@media(max-width:600px){
 #gpba-full .building-profile-page .building-profile-shell{width:calc(100% - 2.5rem);padding:1.5rem 0 2.5rem}
 #gpba-full .building-profile-page .building-profile-header h1{font-size:clamp(2.625rem,10vw,3.75rem);line-height:1.06}
 #gpba-full .building-profile-page .building-deck{font-size:1.75rem}
 #gpba-full .building-profile-page .building-deck span{font-size:1.375rem}
 #gpba-full .building-profile-page .building-lead{font-size:1.125rem;line-height:1.75;margin-top:1.25rem}
 #gpba-full .building-profile-page .building-story h2{font-size:1.875rem;line-height:1.2}
 #gpba-full .building-profile-page .building-hero{margin-bottom:1.75rem}
 #gpba-full .building-profile-page .building-quote{margin-bottom:2rem}
 #gpba-full .building-profile-page .building-story > section{margin-bottom:2rem}
 #gpba-full .building-profile-page .building-facts-grid{grid-template-columns:1fr}
 #gpba-full .building-profile-page .building-timeline-item{grid-template-columns:1fr;gap:.5rem}
 #gpba-full .building-profile-page .building-source-list li{grid-template-columns:1fr;gap:.5rem}
 #gpba-full .building-profile-page .building-reference-details > summary{font-size:1.5rem;min-height:4.5rem}
}

#gpba-full .building-index-card img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}

/* A portrait facade can share the opening with substantial introductory copy. */
#gpba-full .building-profile-page .building-intro-pair {display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(2rem,4vw,3.5rem);align-items:start;max-width:1100px;margin:0 0 2.5rem}
#gpba-full .building-profile-page .building-intro-copy {min-width:0}
#gpba-full .building-profile-page .building-intro-copy .building-lead {margin:0 0 1.5rem}
#gpba-full .building-profile-page .building-intro-copy .building-opening {padding:0;border:0;margin:0}
#gpba-full .building-profile-page .building-intro-pair .building-hero {margin:0}
#gpba-full .building-profile-page .building-chapter-links {display:flex;flex-wrap:wrap;gap:1rem 1.75rem;max-width:1100px;margin:0 0 2.5rem;padding:1.25rem 0;border-block:1px solid var(--brass);font:400 1rem/1.5 Inter,Arial,sans-serif}
#gpba-full .building-profile-page .building-chapter-links a:focus-visible {outline:2px solid var(--green);outline-offset:5px}
#gpba-full .building-profile-page .building-source-list li[id] {scroll-margin-top:2rem}
@media(max-width:780px){
 #gpba-full .building-profile-page .building-intro-pair {grid-template-columns:1fr;gap:1.75rem}
 #gpba-full .building-profile-page .building-intro-pair .building-hero {max-width:36rem}
}
