/* Approved screen 05: local construction partners only, no talent or process strip. */
.construction-section {
  --partner-ink: #f3f8ff;
  --partner-muted: #b1c4df;
  --partner-line: rgba(120, 177, 247, .25);
  --partner-surface: rgba(10, 31, 60, .88);
  --partner-accent: #8cccff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 72px 40px 64px;
  scroll-margin-top: 84px;
  color: var(--partner-ink);
  background:
    radial-gradient(ellipse at 6% 35%, #0861c447, transparent 50%),
    radial-gradient(ellipse at 91% 69%, #4f39b83d, transparent 49%),
    radial-gradient(ellipse at 55% 100%, #147eec25, transparent 50%),
    linear-gradient(135deg, #071426, #081a35 55%, #071426);
}
.construction-section::before {
  position: absolute; z-index: -1; inset: 0; content: ""; pointer-events: none;
  background: linear-gradient(120deg, transparent 12%, #54acff0d 12.1%, transparent 12.3%, transparent 77%, #796cff0c 77.1%, transparent 77.3%);
}
.construction-shell { width: min(1240px, 100%); margin-inline: auto; }
.construction-section a { scroll-margin-block: 100px 24px; }
.construction-heading { margin-bottom: 36px; }
.construction-heading .section-eyebrow { color: var(--partner-accent); margin-bottom: 14px; }
.construction-heading h2 { margin: 0; font-size: clamp(28px, 2.6vw, 38px); font-weight: 600; line-height: 1.4; letter-spacing: -.035em; text-wrap: balance; }
.construction-heading h2 > span { display: inline-block; margin-left: 20px; color: #95cfff; text-shadow: 0 0 26px #268aff44; }
.construction-intro { display: flex; flex-wrap: wrap; gap: 6px 24px; margin: 14px 0 0; color: var(--partner-muted); font-size: 15px; line-height: 1.8; }
.construction-intro > span { color: #dceaff; }
.partner-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.partner-column { min-width: 0; }
.partner-column-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.partner-column-heading h3 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 21px; font-weight: 550; }
.partner-category-mark { width: 3px; height: 18px; border-radius: 2px; background: #55b5ff; box-shadow: 0 0 14px #258fffaa; }
.partner-column:last-child .partner-category-mark { background: #b19aff; box-shadow: 0 0 14px #8b69ff88; }
.partner-more { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; border-bottom: 1px solid #6685ad; color: #dceaff; font-size: 13px; text-decoration: none; white-space: nowrap; transition: color 180ms, border-color 180ms; }
.partner-more:hover { color: var(--partner-accent); border-color: var(--partner-accent); }
.partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.partner-card { min-width: 0; }
.partner-card-link { display: block; height: 100%; overflow: hidden; border: 1px solid var(--partner-line); border-radius: 12px; color: inherit; text-decoration: none; background: var(--partner-surface); box-shadow: 0 8px 20px #020b1b40, inset 0 1px 0 #d7eaff08; transition: transform 220ms ease, border-color 220ms, box-shadow 220ms; scroll-margin-block: 100px 24px; }
.partner-card-link:focus-visible { outline: 3px solid var(--partner-accent); outline-offset: 4px; }
.partner-media { position: relative; height: 138px; overflow: hidden; background: #0f2645; }
.partner-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.partner-media::after { position: absolute; inset: 50% 0 0; content: ""; pointer-events: none; background: linear-gradient(transparent, #081c3640); }
.partner-demo { position: absolute; top: 10px; left: 10px; z-index: 1; padding: 3px 7px; border: 1px solid #c6e0ff38; border-radius: 4px; color: #d9e8fb; background: #061529d9; font-size: 11px; }
.partner-info { padding: 16px; }
.partner-name-row { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.partner-name-row h4 { margin: 0; font-size: 18px; line-height: 1.5; font-weight: 550; }
.partner-card-arrow { color: #91bdeb; font-size: 17px; }
.partner-location { display: flex; gap: 5px; align-items: center; margin: 7px 0 12px; font-size: 12px; color: var(--partner-muted); }
.partner-location svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.partner-skills { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; list-style: none; }
.partner-skills li { padding: 3px 8px; border: 1px solid #7bb6ee36; border-radius: 4px; background: #4385c512; color: #cfE6ff; font-size: 12px; }
.partner-meta { margin: 12px 0 0; color: var(--partner-muted); font-size: 11px; line-height: 1.6; }
.expert-media { display: grid; place-items: center; background: radial-gradient(ellipse at 50% 70%, #3566a077, transparent 65%), linear-gradient(125deg, #142e50, #1c264e); }
.expert-tone-1 { background: radial-gradient(ellipse at 50% 70%, #7162a666, transparent 65%), linear-gradient(125deg, #192b4b, #252447); }
.expert-tone-2 { background: radial-gradient(ellipse at 50% 70%, #306b9166, transparent 65%), linear-gradient(125deg, #15334b, #152544); }
.expert-tone-3 { background: radial-gradient(ellipse at 50% 70%, #4f65ae66, transparent 65%), linear-gradient(125deg, #1d2850, #172945); }
.expert-portrait { width: 120px; height: 120px; align-self: end; opacity: .65; }
.expert-portrait svg { width: 100%; height: 100%; fill: #8aa9d438; stroke: #a4c6f0; stroke-width: 1.2; }
.portrait-caption { position: absolute; right: 10px; bottom: 8px; z-index: 1; font-size: 11px; color: #cbdcf4; }
.partner-disclaimer { margin: 18px 0 0; color: var(--partner-muted); font-size: 12px; line-height: 1.8; }
.partner-join { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 32px; padding: 24px 28px; border: 1px solid #529efa55; border-radius: 12px; background: linear-gradient(108deg, #147bf025, #5351c41c 72%, #1a498b25); box-shadow: inset 0 1px 0 #96d5ff16, 0 0 36px #146eff0a; }
.partner-join .section-eyebrow { color: #a8d2ff; margin-bottom: 6px; font-size: 11px; }
.partner-join h3 { margin: 0; font-size: 22px; font-weight: 550; }
.partner-join p:last-child { margin: 5px 0 0; color: var(--partner-muted); font-size: 13px; }
.partner-apply { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: space-between; gap: 42px; min-height: 48px; padding: 12px 22px; border: 1px solid #70b8ff88; border-radius: 7px; background: linear-gradient(120deg, #0860d3, #3154bf); color: #fff; font: inherit; font-size: 14px; text-align: left; text-decoration: none; box-shadow: 0 6px 24px #076ded30; transition: box-shadow 180ms, border-color 180ms; cursor: pointer; }
.partner-apply:hover { border-color: #b7dfff; box-shadow: 0 6px 28px #2388ff55; }
.partner-identities { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0; padding: 0; border: 0; }
.partner-identities legend { padding: 0; margin-bottom: 10px; font-size: 14px; }
.partner-identities label { position: relative; cursor: pointer; }
.partner-identities input { position: absolute; opacity: 0; }
.partner-identities span { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px; border: 1px solid #8393a8; border-radius: 7px; font-size: 14px; }
.partner-identities input:checked + span { background: #eaf2ff; border-color: #0756d8; box-shadow: inset 0 0 0 1px #0756d8; color: #0756d8; }
.partner-identities input:focus-visible + span { outline: 3px solid #0756d8; outline-offset: 3px; }
.partner-apply-guidance { padding: 18px; background: #f4f7fb; border: 1px solid #d9e2ed; border-radius: 8px; }
.partner-apply-guidance h3 { margin: 0 0 8px; font-size: 17px; }
.partner-apply-guidance p { margin: 0; font-size: 14px; color: #59697d; line-height: 1.8; }
@media (hover: hover) and (pointer: fine) {
  .partner-card-link:hover { transform: translateY(-5px); border-color: #64b5ffb3; box-shadow: 0 15px 28px #020b1b66, 0 0 20px #168cff24; }
}
@media (max-width: 1100px) {
  .partner-columns { gap: 24px; }
  .partner-grid { gap: 14px; }
  .partner-info { padding: 14px; }
}
@media (max-width: 940px) {
  .partner-columns { grid-template-columns: 1fr; gap: 36px; }
  .partner-media { height: auto; aspect-ratio: 2 / 1; }
  .expert-portrait { width: 140px; height: 140px; max-height: 100%; }
}
@media (max-width: 600px) {
  .construction-section { padding: 48px 20px; }
  .construction-heading { margin-bottom: 28px; }
  .construction-heading h2 { font-size: 28px; }
  .construction-heading h2 > span { display: block; margin: 5px 0 0; }
  .construction-intro { display: block; font-size: 14px; }
  .construction-intro > span { display: block; margin-top: 6px; }
  .partner-grid { grid-template-columns: 1fr; gap: 18px; }
  .partner-column-heading h3 { font-size: 20px; }
  .partner-more { gap: 14px; }
  .partner-media { aspect-ratio: 2 / 1; }
  .partner-info { padding: 18px; }
  .partner-name-row h4 { font-size: 19px; }
  .partner-join { align-items: stretch; flex-direction: column; gap: 18px; padding: 22px; }
  .partner-join h3 { font-size: 21px; }
  .partner-apply { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .construction-section a { transition: none; }
  .partner-card-link:hover { transform: none; }
}
