.commercial { --ink:#102e48; --ocean:#00549f; }
.crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-block:12px; color:#40556a; font-size:.84rem; }
.crumbs a { color:#365670; }
.bid-hero { background:#102f4c; color:white; }
.hero-layout { max-width:1510px; margin:auto; display:grid; grid-template-columns:52% 48%; }
.bid-intro { padding:clamp(36px,4.7vw,74px) clamp(28px,4.5vw,68px) clamp(36px,4.7vw,74px) max(40px,calc((min(100vw,1510px) - 1170px) / 2)); align-self:center; }
.bid-intro h1 { color:#fff; font-size:clamp(40px,4.2vw,66px); line-height:1.09; text-align:left; margin:0 0 19px; text-wrap:balance; }
.bid-intro p { color:#e5eef8; max-width:52ch; line-height:1.6; font-size:clamp(16px,1.25vw,19px); margin:0 0 25px; }
.bid-photo { height:100%; width:100%; min-height:320px; object-fit:cover; object-position:51% center; display:block; }
.bid-button { display:inline-flex; gap:12px; align-items:center; justify-content:center; min-height:46px; background:#00549f; border:2px solid transparent; border-radius:5px; padding:11px 19px; color:#fff; text-decoration:none; cursor:pointer; font:700 1rem/1.35 Roboto,Arial,sans-serif; }
.bid-button:hover { background:#003d75; color:white; }
.bid-intro .bid-button { color:#103452; background:white; }
.bid-intro .bid-button:hover { background:#e3eff9; }
.bid-intro .bid-phone { display:block; width:fit-content; margin-top:17px; color:white; font-weight:600; }
.commercial :is(a,button,input,textarea):focus-visible { outline:3px solid #e29312; outline-offset:3px; }
.commercial h2 { color:#123552; font-size:clamp(30px,2.8vw,43px); text-align:left; line-height:1.16; margin:0 0 25px; }
.project-types { padding-block:clamp(40px,4vw,64px); }
.scope-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3.4vw,54px); }
.scope-grid article { border-top:2px solid #aec6d8; padding-top:18px; }
.scope-grid h3 { margin:0 0 9px; color:#00549f; font-size:25px; }
.scope-grid p,.bid-aside p { color:#344b5a; margin:0; line-height:1.65; }
.bid-panel { background:#edf3f7; padding:clamp(40px,4.7vw,76px) 0; scroll-margin-top:12px; }
.bid-layout { display:grid; grid-template-columns:.8fr 1.4fr; align-items:start; gap:clamp(32px,6vw,94px); }
.bid-aside h2 { margin-bottom:15px; }
.office { border-left:3px solid #91b4cc; padding-left:15px; margin-top:30px; color:#344b5a; }
.office a { display:inline-block; margin-top:6px; }
.bid-form { padding:clamp(18px,2.2vw,33px); background:white; border:1px solid #ccd9e1; border-radius:7px; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; margin-bottom:20px; }
.field-grid label { display:block; font-weight:700; color:#18384e; font-size:.96rem; }
.field-grid small { font-weight:400; font-size:.84rem; color:#496171; }
.field-grid input,.field-grid textarea { width:100%; min-width:0; min-height:44px; box-sizing:border-box; margin-top:5px; padding:9px 10px; border-radius:4px; border:1px solid #8397a5; color:#132d40; background:white; font:400 16px/1.4 Roboto,Arial,sans-serif; }
.field-grid textarea { resize:vertical; }
.field-wide { grid-column:1/-1; }
@media(max-width:900px) {
  .bid-intro { padding:34px 24px; }
  .bid-layout { grid-template-columns:1fr 1.3fr; gap:24px; }
}
@media(max-width:680px) {
  .hero-layout,.bid-layout,.scope-grid { grid-template-columns:1fr; }
  .bid-intro { padding:30px max(18px,5vw); }
  .bid-intro h1 { font-size:clamp(34px,8vw,48px); }
  .bid-photo { min-height:0; max-height:240px; aspect-ratio:2/1; object-position:center top; }
  .scope-grid { gap:22px; } .bid-aside .office { margin-top:16px; }
  .crumbs { font-size:.76rem; gap:6px; }
}
@media(max-width:440px) { .field-grid { grid-template-columns:1fr; } }
