/* Homepage only. Use the existing Hoodini palette without changing shared pages. */
.welcome-wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.welcome-hero{border-bottom:1px solid var(--line);background:var(--paper)}
.welcome-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,76px);padding-block:40px}
.welcome-intro{min-width:0}
.welcome-intro .hero-route-form{position:relative;border-radius:10px;box-shadow:none;margin-top:20px;padding:14px}
.home-trip-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));align-items:end;gap:12px;margin-bottom:14px}
.home-trip-fields>.field{min-width:0}
.hero-route-form .home-trip-fields select{height:3rem}
.hero-route-form .field input,.hero-route-form .field select{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;min-height:44px;border-radius:8px;font:inherit;font-size:.88rem;padding:9px}
.hero-route-form .field label{font-size:.8rem;line-height:1.35}
.hero-route-form .field small{font-size:.72rem;line-height:1.45;color:var(--muted)}
.hero-route-form .form-feedback{block-size:3em;font-size:.75rem;line-height:1.5;margin:6px 0;overflow:auto;overflow-wrap:anywhere}
.hero-route-form .home-request-submit{width:100%;min-height:48px;white-space:normal;border-radius:8px}
.home-payment-status{margin:0;color:var(--muted)}
.home-payment-dialog{box-sizing:border-box;width:min(420px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:52px 24px 24px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);overflow:auto}
.home-payment-dialog::backdrop{background:#171a1c66}
.home-payment-dialog h2{font-size:1.6rem;margin:0 0 12px;line-height:1.15}
.home-payment-dialog p{font-size:.95rem;line-height:1.5;margin:0 0 24px;color:var(--muted)}
.home-payment-dialog .primary{width:100%;border-radius:8px;white-space:normal;padding:12px 16px;line-height:1.35}
.home-payment-close{position:absolute;top:8px;right:8px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:8px;font-size:24px;line-height:1}
.money-rain{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}
.money-rain span{position:absolute;top:-3rem;left:var(--rain-x);font-size:clamp(24px,4vw,42px);line-height:1;animation:money-fall .9s var(--rain-delay) linear both;will-change:transform}
@keyframes money-fall{from{transform:translate(-50%,-3rem) rotate(-20deg)}to{transform:translate(-50%,calc(100dvh + 6rem)) rotate(160deg)}}
@media(prefers-reduced-motion:reduce){.money-rain{display:none}}
.welcome-intro .hero-route-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:start}
.welcome-intro .hero-route-grid>button{grid-column:1/-1;height:auto;min-height:48px;white-space:normal;border-radius:8px}
.welcome-intro .route-select-field select,.welcome-intro .tp-field .tp-trigger{height:auto;min-height:4.6rem;border-radius:8px}
.welcome-intro .tp-trigger strong{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:.95rem}
.welcome-intro .tp-trigger .tp-name{display:block;max-width:100%;overflow-wrap:anywhere;font-size:.8rem;line-height:1.35}
.welcome-intro .tp-trigger .tp-address{display:none}
.welcome-intro .route-feedback{color:var(--muted);font-size:.75rem}
.welcome-intro .route-feedback:has(.route-form-error:not([hidden])) [data-nearest-note]{display:none}
.welcome-intro .tp-field .tp-error{position:absolute;inset-inline:14px;bottom:20px;margin:0;max-height:2.8em;overflow:auto;overflow-wrap:anywhere;font-size:.75rem;line-height:1.4;background:var(--white);z-index:1}
#hero-route-form{scroll-margin-top:130px}
.welcome-intro h1{font-size:clamp(2.5rem,5.5vw,4.7rem);line-height:1.05;letter-spacing:-.065em;margin:0 0 24px}
.welcome-intro h1 span{display:block}.welcome-intro h1 span+span{color:var(--orange-dark)}
.welcome-lede{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.65;color:var(--ink);max-width:40ch;margin:0}
.welcome-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 26px;margin-top:28px}
.welcome-wrap .button{border-radius:8px;min-height:52px;padding:12px 23px;line-height:1.35;text-align:center}
.welcome-text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:.9rem;font-weight:750;text-underline-offset:5px;text-decoration-thickness:1px}
.welcome-reassurance{color:var(--muted);font-size:.8rem;line-height:1.6;margin:14px 0 0}
.welcome-partner-links{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}
.welcome-partner-links a{min-height:44px;display:inline-flex;align-items:center;font-size:.78rem;font-weight:650;text-underline-offset:4px}
.welcome-map{margin:0;min-width:0}
.welcome-map>svg{display:block;width:100%;height:auto;aspect-ratio:560/480;border-radius:16px}
.welcome-section{padding-block:42px}
.welcome-section h2,.welcome-difference h2{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.12;letter-spacing:-.045em}
.welcome-section-heading{margin-bottom:24px}.welcome-section-heading h2{margin:0}
.welcome-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.welcome-steps li{padding:22px 24px 0 0;min-width:0}.welcome-steps li+li{padding-left:24px;border-left:1px solid var(--line)}
.welcome-step-number{font-size:.75rem;letter-spacing:.06em;font-weight:800;color:var(--orange-dark);display:block;margin-bottom:16px}
.welcome-steps h3{font-size:1.12rem;line-height:1.3;letter-spacing:-.025em;margin-bottom:10px}
.welcome-steps p{font-size:.9rem;line-height:1.7;color:var(--muted);margin:0}
.welcome-difference{background:var(--ink);color:var(--white);padding-block:40px}
.welcome-difference-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center}
.welcome-difference-intro>p{max-width:48ch;color:#d5d9cf;font-size:1rem;line-height:1.8;margin-bottom:0}
.welcome-comparison{border:1px solid #485044;border-radius:10px;padding:24px 28px;background:#263027}
.welcome-comparison h3{font-size:1.16rem;line-height:1.4;margin:0 0 14px;letter-spacing:-.02em;color:var(--sage)}
.welcome-comparison p{font-size:.93rem;line-height:1.8;color:#d5d9cf;margin:0}
.welcome-comparison .welcome-tradeoff{margin-top:16px;padding-top:14px;border-top:1px solid #485044;font-size:.81rem}
.welcome-faq-band{background:var(--paper2);border-top:1px solid var(--line)}
.welcome-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:start}
.welcome-faq .welcome-text-link{display:flex;width:fit-content;margin-top:12px;font-size:.85rem}
.welcome-answers{border-top:1px solid var(--line)}.welcome-answers details{border-bottom:1px solid var(--line)}
.welcome-answers summary{position:relative;list-style:none;cursor:pointer;padding:19px 30px 19px 0;font-size:.94rem;font-weight:750;line-height:1.5}
.welcome-answers summary::-webkit-details-marker{display:none}.welcome-answers summary:after{content:'+';position:absolute;right:2px;top:17px;font-size:1.2rem;font-weight:500;color:var(--orange-dark)}
.welcome-answers details[open]>summary:after{content:'−'}
.welcome-answers summary:focus-visible{outline:3px solid var(--orange-dark);outline-offset:4px;border-radius:2px}
.welcome-answers details>div{padding-bottom:20px}.welcome-answers p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.8;max-width:65ch}
#how-it-works,#why-lots{scroll-margin-top:145px}
@media(max-width:1000px){.welcome-hero-grid{gap:32px}.welcome-intro h1{font-size:clamp(2.5rem,5.7vw,3.8rem)}.welcome-difference-grid,.welcome-faq{gap:40px}}
@media(max-width:760px){
  .welcome-wrap{width:calc(100% - 36px)}.welcome-hero-grid{grid-template-columns:1fr;padding-block:20px;gap:24px}
  .welcome-intro h1{font-size:clamp(2.15rem,8.7vw,3.8rem);margin-bottom:10px}.welcome-lede{font-size:1rem;line-height:1.55;max-width:52ch}
  .welcome-intro .hero-route-form{margin-top:14px}.home-trip-fields{margin-bottom:10px;gap:10px}
  .hero-route-form .field input,.hero-route-form .field select{font-size:1rem}
  .welcome-actions{margin-top:22px;gap:10px 22px}.welcome-partner-links{margin-top:18px;padding-top:10px}.welcome-partner-links a{font-size:.8rem}
  .welcome-map{max-width:560px;width:100%;justify-self:center}.welcome-section{padding-block:30px}.welcome-section-heading{margin-bottom:20px}
  .welcome-steps{grid-template-columns:1fr}.welcome-steps li,.welcome-steps li+li{padding:18px 0;border-left:0}.welcome-steps li+li{border-top:1px solid var(--line)}
  .welcome-steps li:last-child{padding-bottom:0}.welcome-step-number{margin-bottom:10px}.welcome-steps h3{font-size:1.06rem;margin-bottom:6px}
  .welcome-difference{padding-block:30px}.welcome-difference-grid,.welcome-faq{grid-template-columns:1fr;gap:24px}.welcome-comparison{padding:22px}
  .welcome-difference-intro>p{font-size:.94rem}.welcome-faq h2{margin-bottom:18px}.welcome-answers summary{font-size:.9rem}
}
@media(max-width:370px){.welcome-actions{align-items:stretch;flex-direction:column;gap:4px}.welcome-actions .welcome-text-link{justify-content:center}}
