@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#173d37;--green:#255b4b;--lime:#d5eaa0;--paper:#fafbf6;--muted:#727c73;--border:#dfe4d9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible{outline:3px solid #9db66e;outline-offset:4px}header{max-width:1440px;padding:28px 6%;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:26px;letter-spacing:-1.2px;display:flex;align-items:center;position:relative;gap:9px}.brand-icon{background:var(--green);color:var(--lime);padding:4px 8px;border-radius:8px;font-size:24px}.brand-sub{position:absolute;left:50px;bottom:-10px;font-size:8px;letter-spacing:2px;font-weight:600}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav .active:not(.button){border-bottom:1px solid var(--green);padding-bottom:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:17px 23px;background:var(--green);color:white;border:1px solid var(--green);border-radius:7px;font-weight:600;font-size:14px}.button:hover{background:#173f34}.button.small{padding:12px 17px;gap:20px;font-size:13px}.hero{max-width:1440px;margin:auto;padding:70px 6% 64px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;display:flex;align-items:center;gap:9px}.dot{display:inline-block;width:7px;height:7px;background:#81a45c;border-radius:50%}h1,h2,h3{font-family:Manrope,sans-serif;margin:0;font-weight:600}h1{font-size:clamp(38px,4.5vw,66px);line-height:1.12;letter-spacing:-2.7px;margin:22px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#71895e}p{line-height:1.8;color:var(--muted)}.hero-copy>p{max-width:440px;font-size:16px;margin:24px 0 30px}.actions{display:flex;align-items:center;gap:24px}.text-link{font-size:13px;font-weight:600}.hero-note{margin-top:33px;display:flex;gap:10px;font-size:11px;color:var(--muted)}.hero-note span{color:var(--green)}.hero-note span:nth-of-type(2){margin-left:10px}.hero-art{height:440px;border-radius:120px 12px 12px 12px;background:#e4e9d8;position:relative;overflow:hidden}.sun{width:115px;height:115px;background:#f8f1c9;border-radius:50%;position:absolute;top:48px;right:48px}.hill{position:absolute;border-radius:50%;transform:rotate(-20deg)}.hill-back{width:700px;height:370px;left:-150px;top:170px;background:#a0b698}.hill-front{width:700px;height:400px;left:60px;top:280px;background:#6e9171}.road{position:absolute;width:150px;height:650px;background:#f4f0df;top:125px;left:145px;border-radius:50% 45% 0 0;transform:rotate(34deg);border:7px solid #d0d6bc}.road-line{position:absolute;top:190px;left:207px;height:340px;border-left:3px dashed #acb59c;transform:rotate(34deg)}.destination{position:absolute;top:112px;left:27px;padding:12px;background:#fffef5;border-radius:7px;font-size:11px;box-shadow:0 8px 20px #33583c12}.destination span{background:var(--green);color:white;border-radius:50%;padding:5px;margin-right:8px}.car{position:absolute;top:265px;left:177px;background:var(--green);width:62px;height:33px;border-radius:18px 17px 7px 7px;color:#d3e4cf;text-align:center;font-size:30px;line-height:22px;transform:rotate(-12deg);box-shadow:0 14px 15px #27483333}.car span{display:block;color:#18392e;font-size:17px;line-height:16px}.art-label{position:absolute;bottom:39px;left:30px;color:#fffdf1;font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-1px;line-height:1.2}.art-coordinate{position:absolute;right:18px;bottom:30px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:white}.trust-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:25px 6%;gap:20px}.trust-strip>span:first-child{color:var(--muted);font-size:12px}.trust-strip strong{font-size:13px;font-weight:500}.separator{color:#93a77c;font-size:21px}.section{max-width:1440px;margin:auto;padding:65px 6%}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-top p{font-size:13px}.section h2,.dashboard h2{font-size:32px;letter-spacing:-1.2px;margin-top:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:35px}.steps article{border-top:1px solid var(--border);padding-top:22px}.step-number{font-size:12px;color:#92a17c}.steps h3{font-size:21px;margin:24px 0 8px;letter-spacing:-.5px}.steps p{font-size:13px;max-width:290px}.about{background:#edf0e6;display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--border)}.about p{margin-top:0;font-size:14px}footer{max-width:1440px;margin:auto;padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}footer .brand{font-size:22px;color:var(--ink)}.page{max-width:1200px;margin:auto;padding:45px 5% 85px;min-height:70vh}.page h1{font-size:44px;letter-spacing:-1.7px;margin:18px 0 10px}.back{display:block;font-size:12px;color:var(--muted);margin-bottom:38px}.intro{margin:8px 0 30px}.booking-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start}.card{background:white;border:1px solid var(--border);padding:28px;border-radius:12px}.card h3{font-size:21px;letter-spacing:-.6px;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:600}input,textarea,select{width:100%;border:1px solid #d9dfd4;border-radius:6px;padding:12px;color:var(--ink);background:#fcfdf9;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #9eae87;outline-offset:1px}textarea{resize:vertical;min-height:90px}.field-note{font-size:11px;font-weight:400;color:var(--muted);line-height:1.6}.booking>.button{margin-top:25px;width:100%}.estimate{background:#edf1e6}.estimate h3{margin:18px 0}.price{font:600 52px Manrope,sans-serif;letter-spacing:-2px;margin:25px 0}.price span{display:block;font:400 11px 'DM Sans',sans-serif;letter-spacing:0;color:var(--muted);margin-top:4px}.fare-line{display:flex;justify-content:space-between;font-size:12px}.estimate p{font-size:12px}.estimate hr{border:0;border-top:1px solid #d5ddcb;margin:22px 0}.help-note{padding:25px 12px}.help-note h3{font-size:15px}.help-note p{font-size:13px}.muted{color:var(--muted);font-weight:400}.error,.validation-message{color:#a63d2a;font-size:12px}.error,.notice{padding:12px;background:#fff0e7;border-radius:5px}.narrow{max-width:570px;padding-top:75px}.narrow .button{margin-top:24px;width:100%}.success{max-width:650px}.success h2{font-size:30px;margin-top:20px}.success-icon{display:inline-flex;padding:14px 20px;border-radius:50%;background:var(--lime);font-size:25px}.dashboard{max-width:1440px}.outline{border:1px solid var(--border);background:transparent;padding:12px 18px;border-radius:7px;color:var(--ink);font-size:12px}.outline:hover{background:#edf0e6}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:15px 0 40px}.stats .card{display:flex;flex-direction:column;gap:12px}.stats span{font-size:12px}.stats strong{font:600 38px Manrope,sans-serif}.stats small{font-size:11px;color:var(--muted)}.drivers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 35px}.driver{display:flex;gap:14px;align-items:center;padding:20px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e8eedf}.driver strong{font-size:13px}.driver p{font-size:12px;margin:5px 0}.driver small{font-size:10px;color:var(--muted)}.driver>.dot{margin-left:auto}.busy-dot{background:#cf9d45}.tabs{display:flex;border-bottom:1px solid var(--border);gap:24px;margin-bottom:24px}.tabs button{border:0;background:transparent;padding:15px 3px;color:var(--muted);font-size:13px}.tabs button.selected{border-bottom:2px solid var(--green);color:var(--green);font-weight:700}.tabs .refresh{margin-left:auto}.empty{text-align:center;padding:55px 20px}.empty>span{font-size:35px;color:#86a466}.empty h3{margin:20px 0 10px}.empty p{font-size:13px}.trip{margin-bottom:18px}.trip-top{display:flex;justify-content:space-between}.badge{font-size:10px;background:#eef2e4;padding:5px 9px;border-radius:4px}.reference{font-size:10px;margin-left:12px}.trip h3{margin:15px 0 5px}.trip-top a{font-size:12px}.trip-price{text-align:right;display:flex;flex-direction:column;gap:5px}.trip-price strong{font-size:25px}.trip-price span{font-size:10px;color:var(--muted)}.trip-route{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:20px;background:#f7f9f3;margin:24px 0;padding:20px;border-radius:6px;align-items:center}.trip-route small{display:block;font-size:8px;letter-spacing:1px;margin-bottom:8px;color:var(--muted)}.trip-route strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.trip-notes{font-size:12px}.trip-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}.assign{flex-direction:row;align-items:center}.assign select{width:auto}.trip-bottom .actions{gap:10px}#blazor-error-ui{display:none;position:fixed;bottom:0;background:#fff1d2;padding:18px;width:100%;z-index:100}#blazor-error-ui a{text-decoration:underline}
@media(min-width:1450px){.trust-strip{justify-content:center;gap:65px}}@media(max-width:950px){nav{gap:16px}nav>a:nth-child(2){display:none}.hero{gap:25px;padding-top:45px}.hero-art{height:400px}.hero h1{font-size:49px}.hero-note{flex-wrap:wrap;font-size:10px}.trust-strip{flex-wrap:wrap;justify-content:center}.booking-grid{grid-template-columns:1.3fr 1fr}.stats{grid-template-columns:repeat(2,1fr)}.drivers{grid-template-columns:1fr}.driver{padding:16px}.trip-route{grid-template-columns:1fr auto 1fr}.trip-route>div:last-child{grid-column:1/-1}.trip-bottom{flex-wrap:wrap}}@media(max-width:650px){header{padding:22px 5%;gap:12px}.brand{font-size:22px}.brand-sub{font-size:6px;left:46px}.brand-icon{font-size:21px}nav{gap:14px}nav>a:first-child,nav .button{display:none}nav{font-size:11px}.hero{grid-template-columns:1fr;padding:45px 6% 32px;gap:35px}.hero h1{font-size:48px}.hero-copy>p{font-size:15px}.hero-art{height:330px;border-top-left-radius:85px}.hero-note{font-size:10px}.art-label{font-size:26px}.trust-strip{padding:22px 6%;gap:15px}.trust-strip>span:first-child{width:100%;text-align:center}.trust-strip strong{font-size:11px}.trust-strip .separator{font-size:14px}.section{padding:40px 6%}.section h2,.dashboard h2{font-size:28px}.section-top{align-items:start}.section-top>p{display:none}.steps{grid-template-columns:1fr;gap:20px}.steps h3{margin-top:15px}.steps p{max-width:none}.about{grid-template-columns:1fr;gap:20px}footer{flex-wrap:wrap;font-size:10px;gap:20px}footer>span:last-child{width:100%}.page{padding:30px 5% 50px}.page h1{font-size:35px}.booking-grid{grid-template-columns:1fr}.booking-grid aside{grid-row:auto}.estimate{padding:20px}.estimate .price{margin:12px 0;font-size:42px}.estimate hr,.estimate .eyebrow{display:none}.estimate h3{font-size:17px;margin:0}.estimate p{font-size:11px}.help-note{display:none}.card{padding:21px}.form-grid{grid-template-columns:1fr}.form-grid label{grid-column:1/-1}.stats{gap:10px}.stats .card{padding:16px}.stats small{font-size:10px}.dashboard .section-top .outline{padding:10px;white-space:nowrap}.dashboard .intro{font-size:12px}.trip-route{gap:12px;padding:15px}.trip-bottom .actions{width:100%;justify-content:flex-end}.trip-price strong{font-size:22px}.assign{flex-wrap:wrap}.narrow{padding-top:50px}}

.cleanup{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:20px}.cleanup h3,.deletion-confirm h3{margin-bottom:8px}.cleanup p,.deletion-confirm p{font-size:13px;margin:0 0 12px}.cleanup>div{flex:1;min-width:220px}.deletion-confirm{border-color:#b18158;margin-bottom:20px}.deletion-confirm .actions{flex-wrap:wrap}

.driver-heading{flex-wrap:wrap;align-items:center}.driver-heading p{margin:8px 0 0;font-size:12px}.driver-heading>.button{flex-shrink:0}

.form-grid > .full{grid-column:1 / -1;min-width:0}
.address-autofill{position:relative;margin-top:8px}
.address-autofill input{width:100%;box-sizing:border-box}
.address-autofill .field-note{display:block;margin-top:7px}
.address-suggestions{list-style:none;margin:6px 0 0;padding:4px;background:white;border:1px solid var(--border);border-radius:7px;box-shadow:0 6px 20px #173d3710}
.address-suggestions li{margin:0;padding:0}
.address-suggestions button{display:block;width:100%;padding:12px;text-align:left;background:white;color:var(--ink);border:0;border-radius:4px;font-size:13px;line-height:1.5;min-height:44px}
.address-suggestions button:hover,.address-suggestions button:focus-visible{background:#eef2e4}
.brand.wordmark{display:block;flex-shrink:0;line-height:0;letter-spacing:normal}
.brand.wordmark img{display:block;width:260px;max-width:100%;height:auto}
footer .brand.wordmark img{width:210px}
@media(max-width:650px){
    header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,140px);gap:10px;width:100%}
    header .brand.wordmark{min-width:0;width:100%;max-width:180px}
    header .brand.wordmark img{width:100%;height:auto}
    header nav{min-width:0;max-width:100%;justify-content:flex-end;gap:0}
    header nav .button.small{width:100%;max-width:140px;min-width:0;white-space:normal;text-align:center;line-height:1.3;overflow-wrap:break-word}
    footer .brand.wordmark img{width:180px}
}

/* Keep the phone home page focused on requesting a ride. */
@media(max-width:650px){
    header{padding:16px 5% 20px}
    nav .button{display:inline-flex;min-height:44px;padding:10px 12px;gap:8px;font-size:12px}
    nav .button span{display:none}
    .hero{padding:30px 6% 24px;gap:0}
    .hero-art,.trust-strip{display:none}
    .hero .eyebrow{font-size:9px;letter-spacing:1.2px}
    .hero h1{font-size:clamp(34px,9vw,44px);letter-spacing:-1.8px;margin:16px 0}
    .hero-copy>p{font-size:14px;line-height:1.6;margin:0 0 20px;max-width:360px}
    .hero .actions{flex-wrap:wrap;gap:12px 20px}
    .hero .button{min-height:48px;padding:13px 18px}
    .hero .text-link{display:inline-flex;align-items:center;min-height:44px}
    .hero-note{margin-top:16px;font-size:10px;gap:6px}
    .hero-note span:nth-of-type(2){margin-left:4px}
    .section{padding:26px 6%}
    .section .eyebrow{display:none}
    .section h2{font-size:24px;margin-top:0}
    .steps{margin-top:18px;gap:0}
    .steps article{display:grid;grid-template-columns:30px 1fr;column-gap:10px;padding:14px 0}
    .step-number{grid-row:1 / 3;padding-top:3px}
    .steps h3{font-size:17px;margin:0 0 4px}
    .steps p{font-size:12px;line-height:1.6;margin:0}
    .about{gap:14px}
    .about h2{font-size:22px}
    .about p{font-size:12px;line-height:1.6;margin-bottom:12px}
    .about p+p{display:none}
    .about .text-link{display:inline-flex;align-items:center;min-height:44px}
    footer{padding:20px 6%;gap:10px}
    footer>span:nth-child(2){display:none}
}
