/* Three primary services and three building-design disciplines. */
:root { --presentation-scale: 1; }
.contact-form { position: relative; }
.form-trap { position: absolute; left: -10000px; top: 0; width: 1px; height: 1px; overflow: hidden; }
.form-privacy { display: block; width: fit-content; font-size: 12px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; margin-top: 14px; }
.form-error { padding: 14px; margin-top: 18px; color: #7e2727; background: #fff2f2; border: 1px solid #e8caca; font-size: 13px; }
.button:disabled { cursor: wait; opacity: .7; }
.request-received { min-height: 60vh; padding-top: 90px; padding-bottom: 90px; }
.request-received h1 { max-width: 900px; margin-top: 25px; }
.request-received>p:not(.kicker) { max-width: 710px; margin: 25px 0 32px; color: var(--muted); }
.service-children { list-style: none; padding: 0; margin: 3px 0 12px 15px; border-left: 1px solid var(--line); }
.drop-panel .nav-service-branch>a { display: block; font-weight: 600; }
.drop-panel .service-children a { display: block; font-size: 12px; line-height: 1.6; padding: 9px 12px; }
.drop-panel { max-height: calc(100dvh - 180px); overflow-y: auto; }
.footer-links .service-children { margin-top: 8px; margin-bottom: 0; }
.footer-links .service-children a { display: block; font-size: 11px; line-height: 1.75; padding: 4px 0 4px 13px; }
.breadcrumb { flex-wrap: wrap; }
.primary-grid .service-primary { grid-column: span 6; min-height: 245px; }
.primary-grid .service-design { grid-column: 1/-1; min-height: 0; }
.primary-grid .service-primary h3 { font-size: 24px; }
.primary-grid .service-design>h3 { max-width: 100%; }
.service-disciplines { list-style: none; counter-reset: design; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; margin: 24px 0 5px; }
.service-disciplines li { counter-increment: design; display: flex; align-items: flex-start; gap: 11px; font-size: 14px; line-height: 1.7; padding-top: 15px; border-top: 1px solid var(--line); }
.service-disciplines li:before { content: '0' counter(design); font-size: 10px; line-height: 2.3; color: var(--green); }
.supporting-services-label { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin: 36px 0 17px; }
.secondary-grid .service-card { grid-column: span 4; min-height: 245px; }
.secondary-grid .service-card h3 { font-size: 20px; }
.topic-number { display: block; font-size: 11px; color: var(--green); letter-spacing: .08em; margin-bottom: 12px; }
.topic-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 23px; }
.topic-actions .button { min-height: 44px; font-size: 12px; }
.topic-actions .text-link { font-size: 12px; }
@media (max-width:1100px) {
 .service-disciplines { gap: 18px; }
 .service-disciplines li { font-size: 13px; }
 .primary-grid .service-primary h3 { font-size: 23px; }
 .secondary-grid .service-card h3 { font-size: 19px; }
}
@media (max-width:800px) {
 .drop-panel { max-height: none; }
 .primary-grid .service-primary { grid-column: span 1; }
 .primary-grid .service-design { grid-column: 1/-1; }
 .secondary-grid .service-card { grid-column: span 1; }
 .secondary-grid .service-card:last-child { grid-column: 1/-1; }
 .service-disciplines { grid-template-columns: 1fr; gap: 8px; }
 .service-disciplines li { padding-top: 10px; }
}
@media (max-width:580px) {
 .primary-grid .service-primary,.primary-grid .service-design,.secondary-grid .service-card { grid-column: auto; min-height: 0; }
 .primary-grid .service-primary h3 { font-size: 23px; }
 .secondary-grid .service-card h3 { font-size: 21px; }
 .service-disciplines { margin-top: 20px; }
 .service-disciplines li { font-size: 13px; line-height: 1.8; }
 .footer-links .service-children a { font-size: 12px; }
 .topic-actions { flex-direction: column; align-items: flex-start; }
}
