/* Motion artwork uses the same viewBox and cover alignment as the original map. */
.mp-field-overlay { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none; color: var(--mp-accent-light); }
.ag-map-hero .ag-photo.mp-field { left: 35%; width: 65%; }
.mp-field-overlay .mp-machine-sprite { overflow: hidden; }
.mp-machine-lines { fill: #102a30; stroke: #f1cf78; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mp-machine-lines .mp-tire { fill: #0b2026; stroke: #a3babb; }
.mp-machine-lines .mp-rotor-ring { fill: #e1b84f08; stroke: #f1cf7850; stroke-width: 1; }
.mp-rotor { transform-box: fill-box; transform-origin: center; }
.mp-playing .mp-rotor { animation: mp-rotor-turn .7s linear infinite; }
.mp-ground-shadow { fill: #04151d; }
.mp-survey-fill { fill: #102a30; opacity: .12; }
.mp-flight-plan { fill: none; stroke: #c2d2c1; stroke-width: .7; opacity: .32; stroke-dasharray: 3 7; vector-effect: non-scaling-stroke; }
.mp-flight-trace { fill: none; stroke: #f1cf78; stroke-width: .9; opacity: .7; vector-effect: non-scaling-stroke; }
.mp-scan-fill { fill: #e1b84f; opacity: .11; }
.mp-scan-corners { fill: none; stroke: #f1cf78; stroke-width: .8; opacity: .75; vector-effect: non-scaling-stroke; }
.mp-grass-ground { fill: #c2a951; opacity: .16; }
.mp-grass-blades { fill: none; stroke: #d3b65e; stroke-opacity: .72; stroke-width: .62; stroke-linecap: round; }
.mp-grass-highlights { fill: none; stroke: #f1cf78; stroke-opacity: .74; stroke-width: .55; stroke-linecap: round; }
.mp-application-foci { opacity: .86; }
.mp-yield-cell { opacity: .84; stroke: #d5dbca; stroke-opacity: .17; stroke-width: .45; }
.mp-seed-zone { fill: #f1cf78; }
.mp-seed-base { fill: #102a30; opacity: .68; }
.mp-zone-boundary { fill: none; stroke: #f1cf78; stroke-width: .65; opacity: .35; stroke-dasharray: 4 6; vector-effect: non-scaling-stroke; }
[data-seed] { fill: #ffe09a; }
.mp-treatment-buffer { fill: #f1cf78; fill-opacity: .035; stroke: #f1cf78; stroke-opacity: .8; stroke-width: 2.2; stroke-linejoin: round; stroke-linecap: round; }
.mp-nozzle { fill: #ffe09a; }
.mp-field-controls { position: absolute; z-index: 2; right: 5%; bottom: 30px; width: min(480px,40%); padding: 15px 18px 0; background: #102a30eb; border: 1px solid #77979745; border-radius: 4px; }
.mp-scene-caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 13px; }
.ag-public .mp-scene-kicker { margin: 0 0 7px; font-size: 9px; font-weight: 500; letter-spacing: .09em; color: var(--mp-accent); }
.mp-scene-kicker span { color: var(--mp-subtle); }
.ag-public .mp-scene-title { margin: 0; font-size: 16px; font-weight: 500; line-height: 1.4; color: var(--mp-text); letter-spacing: -.015em; }
.ag-public .mp-scene-detail { margin: 5px 0 0; font-size: 11px; line-height: 1.5; color: var(--mp-muted); }
.mp-scene-toggle { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid var(--mp-line); border-radius: 50%; background: transparent; color: var(--mp-accent-light); cursor: pointer; font-size: 16px; }
.mp-scene-toggle:hover { background: #e1b84f10; border-color: var(--mp-accent); }
.mp-scene-steps { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #7797973a; }
.mp-scene-steps button { position: relative; padding: 13px 0 14px; border: 0; background: transparent; color: var(--mp-subtle); font-family: inherit; font-size: 11px; font-weight: 500; text-align: left; cursor: pointer; white-space: nowrap; }
.mp-scene-steps button[aria-pressed=true],.mp-scene-steps button:hover { color: var(--mp-accent-light); }
.mp-step-number { margin-right: 3px; font-size: 9px; opacity: .65; font-variant-numeric: tabular-nums; }
.mp-step-progress { position: absolute; bottom: -1px; left: 0; width: 87%; height: 2px; background: var(--mp-accent); transform: scaleX(var(--scene-progress,0)); transform-origin: left; opacity: 0; }
[aria-pressed=true] .mp-step-progress { opacity: 1; }
.mp-scene-steps button:focus-visible,.mp-scene-toggle:focus-visible { outline: 2px solid var(--mp-accent-light); outline-offset: 4px; }
@keyframes mp-rotor-turn { to { transform: rotate(360deg); } }
@media(min-width:761px) and (max-width:1100px) {
  .mp-field-controls { width: 43%; right: 4%; bottom: 22px; padding-inline: 12px; }
  .ag-public .mp-scene-title { font-size: 14px; }
  .mp-step-number { display: none; }
  .mp-scene-kicker span { display: none; }
}
@media(max-width:760px) {
  .ag-map-hero .ag-photo.mp-field { left: auto; width: 100%; aspect-ratio: 1.3; }
  .mp-field-controls { position: relative; order: 3; right: auto; bottom: auto; width: 90%; margin: -4px auto 32px; padding: 15px 14px 0; }
  .mp-scene-caption { min-height: 83px; }
  .ag-public .mp-scene-title { font-size: 15px; }
  .ag-public .mp-scene-kicker { font-size: 8px; }
  .ag-public .mp-scene-detail { max-width: 250px; }
  .mp-scene-steps button { min-height: 44px; font-size: 10px; }
  .mp-step-number { margin-right: 1px; font-size: 8px; }
}
/* Real class excerpts between the course facts and the course presentation. */
.mp-demo { background: var(--mp-deep); border-block: 1px solid #35565d66; margin-top: 42px; }
.mp-demo-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; max-width: 1420px; margin: auto; padding: 34px 5% 26px; }
.ag-public .mp-demo-heading .ag-eyebrow { margin-bottom: 12px; }
.ag-public .mp-demo-heading h2 { font-size: clamp(27px,2.5vw,36px); font-weight: 500; line-height: 1.15; letter-spacing: -.035em; margin: 0; }
.ag-public .mp-demo-note { flex-shrink: 0; color: var(--mp-accent); font-size: 12px; line-height: 1.6; margin: 0 0 2px; }
.mp-demo-film { min-width: 0; margin: 0; }
.mp-demo-screen { position: relative; background: var(--mp-bg); width: 100%; aspect-ratio: 3.4/1; min-height: 250px; max-height: 520px; overflow: hidden; border-block: 1px solid var(--mp-line); }
.mp-demo-screen video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.mp-demo-progress { position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: #102a3066; pointer-events: none; }
.mp-demo-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left center; background: var(--mp-accent); }
.mp-demo-film figcaption { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1420px; margin: auto; padding: 15px 5% 20px; }
.mp-demo-caption { min-width: 0; }
.mp-demo-caption strong { display: block; color: var(--mp-text); font-size: 14px; font-weight: 500; line-height: 1.4; }
.mp-demo-caption>span { display: block; color: var(--mp-subtle); font-size: 12px; margin-top: 3px; }
.mp-demo-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 9px; flex-shrink: 0; min-height: 44px; padding: 9px 13px; font: inherit; font-size: 12px; color: var(--mp-text); border: 1px solid var(--mp-line); background: transparent; border-radius: 3px; cursor: pointer; }
.mp-demo-toggle:hover { border-color: var(--mp-accent); color: var(--mp-accent-light); }
.mp-demo-toggle:focus-visible { outline: 2px solid var(--mp-accent); outline-offset: 4px; }
.mp-demo-toggle [data-demo-icon] { font-size: 12px; width: 12px; text-align: center; }
.ag-public .mp-demo-error { color: var(--mp-muted); font-size: 13px; max-width: 1420px; margin: auto; padding: 0 5% 20px; }
@media(min-width:1450px) { .mp-demo-heading,.mp-demo-film figcaption { padding-inline: 70px; } }
@media(max-width:760px) {
  .mp-demo { margin-top: 25px; }
  .mp-demo-heading { display: block; padding-top: 27px; padding-bottom: 20px; }
  .ag-public .mp-demo-heading h2 { font-size: 28px; }
  .ag-public .mp-demo-note { margin-top: 12px; }
  .mp-demo-screen { aspect-ratio: 2/1; min-height: 0; max-height: none; }
  .mp-demo-film figcaption { gap: 12px; }
  .mp-demo-caption strong { font-size: 13px; }
  .mp-demo-toggle { padding-inline: 10px; }
}