/* The sign-in backdrop stays useful after the modal or mobile sheet is dismissed. */
.auth-welcome{max-width:1240px;padding-top:42px;padding-bottom:14px}
.welcome-card{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);overflow:hidden;border:1px solid #e0e9de;border-radius:30px;background:#fff;box-shadow:0 16px 55px #29462a06}
.welcome-copy{min-width:0;padding:48px 44px 40px}
.welcome-eyebrow{margin:0 0 22px;font-size:10px;font-weight:750;letter-spacing:1.5px;text-transform:uppercase;line-height:1.7;color:#567047}
.welcome-copy h1{margin:0;font-size:clamp(35px,3.65vw,50px);line-height:1.08;letter-spacing:-1.8px;color:#1d2d23;font-weight:750;text-wrap:balance}
.welcome-copy h1 em{font-style:italic;color:#087f5b;font-weight:650}
.welcome-intro{max-width:440px;margin:23px 0 25px;color:#657367;font-size:14px;line-height:1.85}
.welcome-destination{display:flex;align-items:center;gap:12px;margin:0 0 22px;padding:13px 15px;border:1px solid #e5ece1;border-radius:15px;background:#fafcf7;max-width:440px;min-width:0}
.welcome-destination>.icon{width:22px;height:22px;flex:none;color:#678363}.welcome-destination>div{min-width:0}.welcome-destination span{display:block;font-size:10px;line-height:1.6;color:#657460}.welcome-destination strong{display:block;font-size:12px;line-height:1.7;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#344b37}
.welcome-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px 22px}
.welcome-signin{display:inline-flex;justify-content:space-between;align-items:center;gap:14px;min-height:52px;max-width:100%;border:1px solid #087f5b;background:#087f5b;color:#fff;border-radius:100px;padding:8px 9px 8px 22px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;transition:background .2s,box-shadow .2s,transform .2s;line-height:1.5}
.welcome-signin>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#ffffff20;flex:none}.welcome-signin .icon{width:18px;height:18px}.welcome-signin:hover{background:#076e4f;border-color:#076e4f;box-shadow:0 7px 18px #087f5b1a;transform:translateY(-1px)}.welcome-signin:active{transform:none}
.welcome-browse{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;color:#58765c;font-size:12px;font-weight:650;line-height:1.5}.welcome-browse .icon{width:15px;height:15px;transition:transform .2s}.welcome-browse:hover{color:#087f5b}.welcome-browse:hover .icon{transform:translateX(3px)}
.welcome-signin:focus-visible,.welcome-browse:focus-visible{outline:3px solid #81bfa3;outline-offset:5px}
.welcome-return{margin:12px 0 0;color:#667560;font-size:11px;line-height:1.65}
.welcome-benefits{display:grid;gap:17px;list-style:none;padding:25px 0 0;margin:26px 0 0;border-top:1px solid #e6ece2}
.welcome-benefits li{display:flex;gap:12px;align-items:flex-start}.welcome-benefit-icon{width:34px;height:34px;display:grid;place-items:center;background:#f0f6ec;border-radius:11px;color:#5b8464;flex:none}.welcome-benefit-icon .icon{width:17px;height:17px}.welcome-benefits strong{display:block;font-size:12px;font-weight:650;line-height:1.5;color:#3c523c}.welcome-benefits p{margin:4px 0 0;font-size:11px;line-height:1.7;color:#657460}
.welcome-visual{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:35px 20px;background:linear-gradient(145deg,#f1f5e7 0%,#e8f0dc 70%,#eef5e9 100%);border-left:1px solid #e2e9d9;text-align:center}
.welcome-visual-label{font-size:10px;font-weight:650;line-height:1.6;letter-spacing:1.25px;text-transform:uppercase;color:#567047;margin-bottom:13px}
.welcome-art{display:block;width:100%;max-width:460px;height:auto;overflow:visible;flex:none;font-family:inherit}
.welcome-visual-caption{margin:18px 0 0;font-size:27px;line-height:1.2;letter-spacing:-.8px;font-weight:600;color:#3d5835}.welcome-visual-caption em{font-weight:500;color:#6b8653}
/* One short sequence, then a still illustration. No perpetual movement. */
.welcome-copy{animation:welcome-copy-in .65s cubic-bezier(.22,.68,.3,1) both}
.welcome-person,.welcome-bubble,.welcome-spark,.welcome-connected{transform-box:fill-box;transform-origin:center}
.welcome-person{animation:welcome-person-in .8s cubic-bezier(.22,.68,.3,1) both}.welcome-person-you{animation-delay:.12s}.welcome-person-seller{animation-delay:.27s}
.welcome-connection{animation:welcome-line-in 1.4s ease-out .5s both}
.welcome-question{animation:welcome-question-in 3.8s ease both}.welcome-answer{animation:welcome-answer-in 3.8s ease both}
.welcome-connected{animation:welcome-connected-in 4.4s ease both}.welcome-spark{animation:welcome-spark-in 4.4s ease both}.welcome-spark-two{animation-delay:.1s}
/* Reset behind the sheet; play after close without timers or changes to authentication. */
body.modal-open .auth-welcome .welcome-copy,body.modal-open .auth-welcome .welcome-art *{animation:none!important}
@keyframes welcome-copy-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes welcome-person-in{from{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:none}}
@keyframes welcome-line-in{from{opacity:0;stroke-dashoffset:36}to{opacity:1;stroke-dashoffset:0}}
@keyframes welcome-question-in{0%,12%{opacity:0;transform:translate(-18px,13px) scale(.9)}28%,100%{opacity:1;transform:none}}
@keyframes welcome-answer-in{0%,37%{opacity:0;transform:translate(18px,13px) scale(.9)}54%,100%{opacity:1;transform:none}}
@keyframes welcome-connected-in{0%,59%{opacity:0;transform:translateY(7px)}78%,100%{opacity:1;transform:none}}
@keyframes welcome-spark-in{0%,62%{opacity:0;transform:scale(.45) rotate(-35deg)}78%{opacity:1;transform:scale(1.15) rotate(0)}88%,100%{opacity:1;transform:none}}
@media(max-width:1050px){.welcome-copy{padding:35px 30px}.welcome-copy h1{font-size:40px}.welcome-actions{gap:8px 18px}.welcome-signin{font-size:12px}.welcome-visual{padding-inline:12px}.welcome-visual-label{font-size:9px;letter-spacing:.8px}.welcome-visual-caption{font-size:25px}}
@media(max-width:760px){.auth-welcome{max-width:620px;padding:24px 18px 0}.welcome-card{grid-template-columns:minmax(0,1fr);border-radius:23px}.welcome-visual{grid-row:1;padding:14px 12px 0;border-left:0;border-bottom:1px solid #e2e9d9;position:relative;overflow:hidden}.welcome-visual-label{font-size:8px;letter-spacing:1px;margin:0 0 -8px;position:relative;z-index:1}.welcome-art{width:270px;max-width:90%;margin:-24px 0 -8px}.welcome-visual-caption{display:none}.welcome-copy{padding:25px 24px 27px}.welcome-eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:13px}.welcome-copy h1{font-size:37px;letter-spacing:-1.25px;line-height:1.09}.welcome-intro{font-size:13px;line-height:1.75;margin:17px 0 20px}.welcome-destination{margin-bottom:17px;padding:11px 12px;gap:10px}.welcome-destination span{font-size:9px}.welcome-destination strong{font-size:11px}.welcome-actions{display:flex;flex-direction:column;align-items:stretch;gap:3px}.welcome-signin{min-height:50px;width:100%;font-size:12px;padding-left:17px;gap:6px}.welcome-signin>span{width:30px;height:30px}.welcome-browse{font-size:12px;min-height:43px}.welcome-return{text-align:center;font-size:10px;margin-top:3px}.welcome-benefits{margin-top:21px;padding-top:20px;gap:15px}.welcome-benefits strong{font-size:12px}.welcome-benefits p{font-size:11px}.welcome-benefit-icon{width:32px;height:32px}}
/* Put the sign-in action before the optional vehicle reminder on small screens. */
@media(max-width:760px){.welcome-copy{display:flex;flex-direction:column}.welcome-eyebrow{display:none}.welcome-copy h1{order:1;font-size:35px}.welcome-intro{order:2}.welcome-actions{order:3}.welcome-return{order:4}.welcome-destination{order:5;margin:19px 0 0}.welcome-benefits{order:6}.welcome-art{width:200px;margin:-16px 0 -10px}}
@media(max-width:360px){.auth-welcome{padding-inline:12px}.welcome-copy{padding:23px 18px 25px}.welcome-copy h1{font-size:31px}.welcome-signin{font-size:11px;padding-left:13px}.welcome-art{width:150px}}
@media(prefers-reduced-motion:reduce){.auth-welcome *{animation:none!important;transition:none!important}.welcome-signin:hover,.welcome-browse:hover .icon{transform:none}}
