/* Additional styles for the new service page only. */
.building-page { overflow-wrap: break-word; }
.building-page main { --gb-space: clamp(52px, 6vw, 88px); }
.building-page .gb-intro { padding: 32px 0 64px; }
.building-page .gb-hero { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--border); border-radius:24px; overflow:hidden; background:#fff; }
.building-page .gb-hero-copy { padding:clamp(28px,4vw,52px); align-self:center; min-width:0; }
.building-page h1 { font:normal clamp(34px,3.5vw,50px)/1.08 Georgia,'Times New Roman',serif; color:var(--navy); margin:18px 0 20px; hyphens:manual; }
.building-page .gb-hero-copy>p { color:var(--grey); margin-top:18px; }
.building-page .gb-hero-copy .gb-lead { color:var(--navy); font-size:21px; font-weight:650; line-height:1.35; }
.building-page .gb-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:28px; }
.building-page .gb-text-link { color:var(--navy); font-weight:650; text-decoration:underline; text-underline-offset:5px; }
.building-page .gb-location { font-size:13px; border-top:1px solid var(--border); padding-top:20px; }
.building-page figure { margin:0; min-width:0; }
.building-page .gb-hero-photo { display:flex; flex-direction:column; background:var(--light); }
.building-page .gb-hero-photo img { width:100%; height:100%; min-height:400px; object-fit:cover; flex:1; }
.building-page figcaption { padding:8px 14px; color:#64707a; background:var(--light); font-size:12px; text-align:right; }
.building-page .gb-section { padding:var(--gb-space) 0; }
.building-page .gb-light { background:var(--light); }
.building-page .gb-heading { max-width:760px; margin-bottom:36px; }
.building-page .gb-heading h2,.building-page .gb-detail-copy h2 { font:normal clamp(30px,3.3vw,45px)/1.15 Georgia,'Times New Roman',serif; color:var(--navy); margin:14px 0 18px; }
.building-page .gb-heading p,.building-page .gb-detail-copy>p { color:var(--grey); }
.building-page .gb-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.building-page .gb-service { padding:30px; background:#fff; border:1px solid var(--border); border-radius:20px; }
.building-page main h3 { font:normal 25px/1.25 Georgia,'Times New Roman',serif; color:var(--navy); }
.building-page .gb-service p,.building-page .gb-steps p { margin-top:14px; color:var(--grey); }
.building-page .gb-detail-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:52px; }
.building-page .gb-detail-photo { border-radius:22px; overflow:hidden; }
.building-page .gb-detail-photo img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.building-page .gb-benefits { list-style:none; margin:26px 0; padding:0; }
.building-page .gb-benefits li { padding:17px 0 17px 24px; border-top:1px solid var(--border); position:relative; }
.building-page .gb-benefits li:before { content:'✓'; position:absolute; left:0; color:var(--gold); font-weight:700; }
.building-page .gb-benefits strong { color:var(--navy); display:block; margin-bottom:4px; }
.building-page .gb-benefits span { color:var(--grey); }
.building-page .gb-related { font-size:14px; }
.building-page .gb-related a { color:var(--navy); text-decoration:underline; text-underline-offset:3px; }
.building-page .gb-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; list-style:none; margin:0; padding:0; }
.building-page .gb-step-number { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#fff0d4; color:#77571d; font-weight:750; margin-bottom:20px; }
.building-page .gb-steps h3 { font-size:24px; }
.building-page .contact-cta { padding-top:0; }
.building-page .button { text-align:center; white-space:normal; }
.building-page .dropdown:focus-within .dropdown-menu { opacity:1; visibility:visible; transform:none; }
@media(max-width:1000px){.building-page .gb-hero { grid-template-columns:1fr; }.building-page .gb-hero-copy { padding:36px; }.building-page .gb-hero-photo img { height:340px; min-height:0; flex:none; }.building-page .gb-detail-grid { gap:30px; }.building-page .gb-steps { gap:22px; }.building-page .small-title { font-size:11px; }}
@media(max-width:700px){.building-page .gb-intro { padding:20px 0 46px; }.building-page .gb-hero-copy { padding:28px 22px; }.building-page .gb-hero-photo img { height:auto; aspect-ratio:3/2; }.building-page .gb-service-grid,.building-page .gb-detail-grid,.building-page .gb-steps { grid-template-columns:1fr; }.building-page .gb-service { padding:25px; }.building-page .gb-detail-photo img { aspect-ratio:4/3; }.building-page .gb-steps li { padding-bottom:25px; border-bottom:1px solid var(--border); }.building-page .gb-actions { align-items:stretch; flex-direction:column; }.building-page .gb-actions .gb-text-link { align-self:flex-start; }.building-page .contact-cta h2 { font-size:30px; }.building-page .small-title { letter-spacing:.1em; }.building-page .gb-heading { margin-bottom:28px; }}
@media(max-width:360px){.building-page h1 { font-size:33px; }.building-page .gb-hero-copy { padding:24px 18px; }.building-page .small-title { font-size:10px; }.building-page .small-title:before { width:18px; }}
