/* Mobile project: a continuous illustrated route and a workshop invitation. */
.mobile-project{padding-top:86px;padding-bottom:90px}
.mobile-project-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:start}
.mobile-project h2{margin-top:18px;font-size:clamp(35px,3.65vw,49px);line-height:1.14;letter-spacing:-.055em}
.mobile-project-copy p{font-size:16px;line-height:1.85;max-width:590px}
.mobile-project-copy .button{margin-top:25px;white-space:normal;text-align:center}
.mobile-project-route{list-style:none;margin:48px 0 0;padding:24px 22px 29px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#e9ece2;border:1px solid #d0d6c7;border-radius:6px;position:relative}
.mobile-project-route li{min-width:0;position:relative;padding:0 14px}
.mp-stage-art{width:100%;max-width:200px;margin:0 auto 22px}
.mp-stage-art svg{width:100%;height:auto;fill:none;stroke:#283229;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mp-stage-art .mp-sheet{fill:#fcfbf4}.mp-stage-art .mp-yellow{fill:#f4ce54}.mp-stage-art .mp-shadow{fill:#d4dbcb;stroke:none}.mp-stage-art .mp-fine{stroke:#84917b;stroke-width:1.4}
.mp-stage-label{padding-top:23px;border-top:1px solid #a7b09e;position:relative;display:flex;align-items:baseline;gap:12px}
.mp-stage-label:before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:#283229;box-shadow:0 0 0 5px #e9ece2}
.mobile-project-route li:not(:last-child) .mp-stage-label:after{content:"";position:absolute;right:-28px;top:-1px;width:28px;border-top:1px solid #a7b09e}
.mobile-project-route li:last-child .mp-stage-label{border-top-style:dashed}
.mobile-project-route li:last-child .mp-stage-label:before{background:#f4ce54;border:1px solid #283229}
.mp-stage-label>span{font-size:11px;color:#63705c;font-weight:500}
.mp-stage-label h3{font-size:clamp(16px,1.65vw,21px);line-height:1.3;letter-spacing:-.03em}
.interior-page .contact-band.mobile-project-contact{background:#242e27;color:#f9f8ee;padding:48px 0;overflow:hidden}
.mobile-project-invitation{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.interior-page .mobile-project-contact .eyebrow{color:#c8cfba;margin-bottom:22px}
.interior-page .mobile-project-contact h2{font-size:clamp(34px,3.6vw,49px);line-height:1.17;max-width:650px}
.interior-page .mobile-project-contact .button.yellow{background:#f4ce54;border-color:#f4ce54;color:#202825;margin-top:32px;white-space:normal;text-align:center}
.interior-page .mobile-project-contact .button.yellow:hover{background:#ffe081}
.mp-workshop{min-width:0;max-width:470px;width:100%;justify-self:end}
.mp-workshop svg{width:100%;height:auto}
.mp-workshop-orbit{stroke:#6e7b64;stroke-dasharray:4 8}
.mobile-project-contact a:focus-visible{outline-color:#fff9cf}
@media(max-width:1100px){.mobile-project-heading{gap:45px}.mobile-project-route{padding-left:14px;padding-right:14px}.mobile-project-route li{padding:0 10px}.mobile-project-route li:not(:last-child) .mp-stage-label:after{right:-20px;width:20px}.mp-stage-label{gap:8px}.mobile-project-invitation{grid-template-columns:1.2fr 1fr;gap:20px}}
@media(max-width:800px){.mobile-project{padding-top:60px;padding-bottom:60px}.mobile-project-heading{grid-template-columns:1fr;gap:25px}.mobile-project-copy p{max-width:680px}.mobile-project-route{margin-top:35px;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:35px}.mp-stage-label h3{font-size:20px}.mobile-project-route li:nth-child(2) .mp-stage-label:after{display:none}.mobile-project-invitation{grid-template-columns:1fr;gap:18px}.mp-workshop{max-width:390px;justify-self:center}.interior-page .contact-band.mobile-project-contact{padding:50px 0 28px}.mp-invitation-copy{max-width:630px}}
@media(max-width:480px){.mobile-project{padding-top:45px;padding-bottom:45px}.mobile-project-heading{gap:23px}.mobile-project h2{font-size:35px}.mobile-project-copy p{font-size:15px;line-height:1.8}.mobile-project-copy .button{width:100%;padding-left:12px;padding-right:12px}.mobile-project-route{padding:22px 8px 26px;row-gap:28px}.mobile-project-route li{padding:0 8px}.mp-stage-art{margin-bottom:14px}.mp-stage-label{display:block;padding-top:15px}.mp-stage-label>span{display:block;margin-bottom:6px}.mp-stage-label h3{font-size:16px;letter-spacing:-.04em;overflow-wrap:anywhere}.mobile-project-route li:not(:last-child) .mp-stage-label:after{right:-16px;width:16px}.interior-page .mobile-project-contact h2{font-size:34px}.interior-page .contact-band.mobile-project-contact{padding-top:42px;padding-bottom:24px}.interior-page .mobile-project-contact .button.yellow{margin-top:26px}.mp-workshop{margin-top:5px;max-width:340px}}
@media(prefers-reduced-motion:reduce){.mobile-project .button,.mobile-project-contact .button{transition:none;transform:none}}
/* v31: compact illustrative scale and whitespace, never type or touch targets. */
@media(max-width:760px){
 .mobile-project{padding-top:36px;padding-bottom:36px}
 .mobile-project-heading{gap:18px}
 .mobile-project-copy .button{margin-top:18px}
 .mobile-project-route{margin-top:26px;padding:18px 8px 20px;row-gap:20px}
 .mp-stage-art{height:62px;max-width:120px;margin-bottom:12px}
 .mp-stage-art svg{height:100%;width:100%;display:block}
 .mp-stage-label{padding-top:12px}
 .mp-stage-label>span{margin-bottom:4px}
 .interior-page .contact-band.mobile-project-contact{padding-top:34px;padding-bottom:24px}
 .interior-page .mobile-project-contact .eyebrow{margin-bottom:16px}
 .interior-page .mobile-project-contact .button.yellow{margin-top:22px}
 .mobile-project-invitation{gap:12px}
 .mp-workshop{max-width:240px;height:160px;margin-top:0}
 .mp-workshop svg{height:100%;width:100%;display:block}
}
@media(max-width:370px){.mobile-project-route{padding-left:4px;padding-right:4px}.mobile-project-route li{padding-left:4px;padding-right:4px}.mp-stage-label h3{font-size:15.5px;overflow-wrap:normal;white-space:nowrap}.mobile-project-route li:not(:last-child) .mp-stage-label:after{right:-8px;width:8px}}
