:root{--web-booking-column:40%;--web-map-column:60%;--gold:#ffbd12;--gold-dark:#e89c00;--charcoal:#4d4d50;--ink:#192231;--muted:#738095;--line:#e3e7ed;--panel:#f5f6f8;--green:#14845c;--red:#b4233e;--shadow:0 18px 50px rgba(22,34,50,.12)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#eef1f4}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app-shell{display:grid;grid-template-columns:minmax(0,var(--web-booking-column)) minmax(0,var(--web-map-column));height:100vh;min-height:680px}.booking-pane{height:100%;background:#f7f8fa;border-right:1px solid #dfe4e9;display:flex;flex-direction:column;position:relative;z-index:2}.brand-header{height:92px;padding:15px 28px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;flex:0 0 auto}.brand-logo{width:min(300px,64%);height:58px;object-fit:contain;object-position:left center}.header-copy{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:4px}.header-copy strong{font-size:13px;color:#353b46}.header-copy span{font-size:9px;color:#8b95a4;font-weight:700}.form-scroll{overflow-y:auto;padding:24px 28px 30px}.booking-form{max-width:720px;margin:0 auto}.intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 18px}.eyebrow{margin:0 0 5px;color:#8b95a4;font-size:9px;font-weight:900;letter-spacing:.15em}.intro-row h1,.success-step h1{margin:0;font-size:29px;line-height:1.1;letter-spacing:-.045em}.availability-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;background:#eaf7f1;color:#176b4f;border:1px solid #c5ead9;border-radius:999px;padding:7px 10px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.availability-pill i{width:8px;height:8px;border-radius:50%;background:#20a66e;box-shadow:0 0 0 3px rgba(32,166,110,.12)}.availability-pill.offline{background:#fff0f2;color:#a72d46;border-color:#f6c9d2}.availability-pill.offline i{background:#d54862}.form-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;margin-bottom:14px;box-shadow:0 6px 20px rgba(30,42,59,.045)}.section-heading{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}.section-heading h2{font-size:15px;letter-spacing:-.02em;margin:0 0 3px}.section-heading p{font-size:9px;line-height:1.45;color:var(--muted);margin:0}.section-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#fff4cf;color:#986900;display:grid;place-items:center;font-size:16px;font-weight:950}.section-icon.route{font-size:18px}.section-icon.card{font-size:15px}.field{display:block;margin-bottom:12px}.field>span,.counter-field>span{display:block;font-size:9px;font-weight:850;color:#475469;margin-bottom:6px}.field>span em{font-style:normal;font-weight:600;color:#9aa3b0}.field input,.field select,.field textarea,.counter-field select{width:100%;border:1.5px solid #d7dde5;background:#fff;border-radius:11px;min-height:46px;padding:11px 12px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:94px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.counter-field select:focus{border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(255,189,18,.16)}.field small{display:block;font-size:8px;color:#8a95a5;margin-top:5px}.counter{text-align:right}.account-lookup-row{display:flex;align-items:flex-end;gap:9px}.account-lookup-row .grow{flex:1;margin-bottom:0}.lookup-btn{height:46px;white-space:nowrap}.account-result{margin-top:11px;border-radius:11px;background:#edf8f2;border:1px solid #c8ead9;color:#245f4a;padding:10px 12px;font-size:9px;line-height:1.45}.account-result b{display:block;font-size:10px;color:#174f3c;margin-bottom:2px}.route-fields{position:relative;padding-left:34px}.route-rail{position:absolute;left:2px;top:22px;bottom:31px;width:23px;display:flex;align-items:center;flex-direction:column}.route-rail span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:900;color:#fff;z-index:2}.pickup-dot{background:#4f5d72}.drop-dot{background:var(--gold-dark)}.route-rail i{width:2px;flex:1;border-left:2px dotted #b5bdc8;margin:2px 0}.address-field{position:relative}.address-suggestions{position:absolute;left:0;right:0;top:100%;z-index:1000;background:#fff;border:1px solid #d7dde5;border-radius:12px;box-shadow:0 18px 40px rgba(23,32,51,.2);overflow:hidden;margin-top:-7px;max-height:290px;overflow-y:auto}.address-suggestion{width:100%;border:0;border-bottom:1px solid #edf0f4;background:#fff;display:grid;grid-template-columns:29px 1fr;gap:8px;align-items:center;text-align:left;padding:11px 12px;color:#344156;font-size:9px;line-height:1.4}.address-suggestion:last-child{border-bottom:0}.address-suggestion:hover,.address-suggestion.active{background:#fff8e4}.address-pin{width:25px;height:25px;border-radius:50%;background:#59677b;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:900}.address-pin.dropoff{background:var(--gold-dark)}.timing-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 13px}.timing-tabs button{border:1.5px solid #d8dee6;background:#fff;border-radius:12px;min-height:58px;padding:10px 12px;text-align:left;color:#566278}.timing-tabs button b{display:block;font-size:10px;color:#3d485a}.timing-tabs button span{display:block;font-size:8px;color:#8994a3;margin-top:3px}.timing-tabs button.active{border-color:var(--gold-dark);background:#fff9e8;box-shadow:0 0 0 2px rgba(255,189,18,.08)}.timing-tabs button.active b{color:#8c6200}.later-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trip-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 16px}.counter-field{display:block}.counter-field select{font-size:12px;font-weight:800}.subheading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 8px}.subheading span{font-size:9px;font-weight:900;color:#465267;text-transform:uppercase;letter-spacing:.08em}.subheading small{font-size:8px;color:#909aaa;text-align:right}.vehicle-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vehicle-option{display:grid;grid-template-columns:40px 1fr 18px;gap:8px;align-items:center;text-align:left;border:1.5px solid #d8dee6;background:#fff;border-radius:12px;padding:10px;color:var(--ink)}.vehicle-option.active{border-color:var(--gold-dark);background:#fffbef;box-shadow:0 0 0 2px rgba(255,189,18,.08)}.vehicle-option:disabled{opacity:.48;cursor:not-allowed}.vehicle-art{width:37px;height:37px;border-radius:10px;background:#f3f5f8;display:grid;place-items:center;font-size:19px}.vehicle-option b{display:block;font-size:10px}.vehicle-option small{display:block;font-size:7.5px;line-height:1.35;color:#8791a0;margin-top:2px}.vehicle-option em{font-style:normal;color:transparent;font-weight:900}.vehicle-option.active em{color:var(--gold-dark)}.wheelchair-notice{margin-top:9px;border:1px solid #f4d77b;background:#fff9e7;border-radius:11px;padding:9px 11px;color:#72500b}.wheelchair-notice b{display:block;font-size:9px}.wheelchair-notice span{display:block;font-size:8px;line-height:1.4;margin-top:2px}.option-row{display:flex;align-items:flex-start;gap:9px;padding:10px 2px 1px;font-size:9px;color:#526075}.option-row input{width:17px;height:17px;accent-color:var(--gold-dark);margin:0}.option-row b{display:block;color:#344156}.option-row small{display:block;color:#8792a1;margin-top:2px;line-height:1.4}.quote-panel{margin-top:15px;border-radius:14px;background:#202938;color:#fff;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:13px}.quote-copy span{display:block;font-size:7px;font-weight:900;letter-spacing:.14em;color:#aeb8c6}.quote-copy b{display:block;font-size:28px;line-height:1.1;color:var(--gold);margin-top:3px}.quote-copy small{display:block;font-size:8px;color:#bdc6d3;margin-top:4px}.quote-btn{min-width:155px}.fee-box{margin-top:9px;border:1px solid #e1e5eb;background:#fafbfc;border-radius:11px;padding:9px 11px}.fee-row{display:flex;justify-content:space-between;gap:12px;font-size:8.5px;color:#6c788b;padding:4px 0}.fee-row b{color:#39465b}.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-card{transition:opacity .2s}.disabled-card{opacity:.72}.payment-summary{border:1px solid #e1e5eb;border-radius:12px;overflow:hidden;margin-bottom:12px}.payment-summary>div{display:flex;justify-content:space-between;align-items:center;padding:8px 11px;border-bottom:1px solid #edf0f4}.payment-summary>div:last-child{border-bottom:0}.payment-summary span{font-size:8.5px;color:#6f7b8d}.payment-summary b{font-size:10px}.payment-summary .payment-total{background:#202938;color:#fff;padding:11px}.payment-summary .payment-total span{color:#bdc6d3;font-weight:800}.payment-summary .payment-total b{font-size:20px;color:var(--gold)}.payment-locked{min-height:82px;border:1px dashed #cfd6df;background:#f7f8fa;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;color:#637084;text-align:left}.payment-locked>span{font-size:22px}.payment-locked b{display:block;font-size:9px;color:#475368}.payment-locked small{display:block;font-size:8px;margin-top:3px}.square-card{min-height:96px;border:1px solid #dfe4ea;background:#fff;border-radius:11px;padding:12px}.square-badge{font-size:8px;color:#758196;text-align:center;margin:8px 0}.terms{border-top:1px solid #edf0f4;margin-top:8px;padding-top:12px}.pay-btn,.primary-btn,.secondary-btn{border-radius:11px;min-height:44px;padding:0 16px;font-weight:900;font-size:10px;border:0}.primary-btn{background:var(--gold);color:#2d2b24;box-shadow:0 8px 20px rgba(255,189,18,.23)}.primary-btn:hover{background:#ffc62e}.primary-btn:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}.secondary-btn{background:#e9edf2;color:#465268}.pay-btn{width:100%;margin-top:13px;min-height:50px;font-size:11px}.full{width:100%;display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:9px}.alert{border-radius:11px;padding:11px 12px;margin-bottom:12px;font-size:9px;font-weight:700;line-height:1.5}.alert.error{background:#fff0f2;border:1px solid #fecbd4;color:var(--red)}.alert.info{background:#edf7ff;border:1px solid #cfe6fb;color:#245d89}.honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}.success-step{text-align:center;max-width:650px;margin:45px auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.success-check{width:62px;height:62px;border-radius:50%;background:#e7f6ef;color:var(--green);font-size:30px;font-weight:900;display:grid;place-items:center;margin:0 auto 14px}.success-copy{font-size:10px;color:#6c788c;line-height:1.55}.success-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0}.success-grid div{background:#f8f9fb;border:1px solid #e1e5eb;border-radius:10px;padding:10px 6px}.success-grid span{display:block;font-size:7px;color:#8490a0;text-transform:uppercase;font-weight:800}.success-grid b{display:block;font-size:11px;margin-top:4px}.link{margin-top:14px}footer{text-align:center;font-size:8px;color:#929ba9;padding:18px 0 5px}.map-pane{height:100%;position:relative;background:#dce3ea}.map{position:absolute;inset:0}.map-fallback{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#dce7e8,#cfd9df 55%,#e9ece6)}.ballarat-ring{position:absolute;width:68%;height:70%;border:28px solid rgba(255,255,255,.35);border-radius:43% 57% 54% 46%;transform:rotate(-9deg);box-shadow:0 0 0 70px rgba(111,133,139,.08)}.map-card{position:relative;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.95);border-radius:15px;padding:16px 19px;box-shadow:0 15px 35px rgba(34,53,65,.16);max-width:300px}.map-card b{display:block;font-size:13px}.map-card span{display:block;font-size:9px;line-height:1.5;color:#748193;margin-top:5px}.map-route-card{position:absolute;left:22px;bottom:22px;max-width:480px;background:rgba(27,35,48,.94);color:#fff;border-radius:14px;padding:13px 15px;box-shadow:0 15px 40px rgba(0,0,0,.22)}.map-route-card span,.map-price span{display:block;font-size:7px;font-weight:900;letter-spacing:.12em;color:#bac6d4}.map-route-card b{display:block;font-size:11px;margin-top:3px}.map-route-card small{display:block;color:#c2cad5;font-size:8px;margin-top:5px}.map-price{position:absolute;right:22px;top:22px;background:#fff;border-radius:14px;padding:12px 15px;box-shadow:0 10px 28px rgba(29,45,58,.18)}.map-price span{color:#8a95a4}.map-price b{display:block;font-size:22px;color:#b57a00;margin-top:2px}.availability-overlay{position:fixed;inset:0;z-index:10000;background:rgba(20,27,38,.72);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}.availability-card{width:min(460px,100%);background:#fff;border-radius:20px;padding:26px 28px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.3)}.availability-logo{display:block;width:min(330px,88%);height:auto;margin:0 auto 22px}.availability-spinner{width:38px;height:38px;border-radius:50%;border:4px solid #edf0f3;border-top-color:var(--gold-dark);animation:spin .8s linear infinite;margin:0 auto 14px}.availability-card h2{font-size:18px;letter-spacing:-.025em;margin:0 0 7px}.availability-card p{font-size:10px;line-height:1.55;color:#6f7c8f;margin:0 auto 17px;max-width:350px}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1200px){.app-shell{grid-template-columns:minmax(0,var(--web-booking-column)) minmax(0,var(--web-map-column))}.brand-header{padding:14px 20px}.form-scroll{padding:22px 20px}.header-copy{display:none}}
@media(max-width:950px){.app-shell{height:auto;min-height:100vh;display:flex;flex-direction:column}.booking-pane{height:auto;min-height:auto;order:1}.map-pane{height:48vh;min-height:360px;order:2}.brand-header{position:sticky;top:0;z-index:20}.form-scroll{overflow:visible}.map-route-card{max-width:calc(100% - 44px)}.booking-form{max-width:760px}}
@media(max-width:580px){.brand-header{height:80px;padding:12px 15px}.brand-logo{width:260px;max-width:82%;height:52px}.form-scroll{padding:18px 13px 24px}.intro-row{align-items:flex-start;flex-direction:column;gap:10px}.intro-row h1{font-size:25px}.form-card{border-radius:14px;padding:14px}.account-lookup-row{display:grid;grid-template-columns:1fr}.lookup-btn{width:100%}.trip-counts,.two-grid,.later-fields,.vehicle-grid{grid-template-columns:1fr}.timing-tabs{grid-template-columns:1fr 1fr}.quote-panel{align-items:stretch;flex-direction:column}.quote-btn{width:100%}.success-grid{grid-template-columns:1fr}.map-pane{min-height:310px}.availability-card{padding:22px 18px}}

.terms-overlay{position:fixed;inset:0;z-index:11000;background:linear-gradient(145deg,#1a2230 0%,#303c4d 100%);display:grid;place-items:center;padding:20px;overflow:auto}.terms-card{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:22px;padding:28px 30px;box-shadow:0 32px 90px rgba(0,0,0,.38)}.terms-logo{display:block;width:min(360px,90%);height:auto;margin:0 auto 20px}.terms-eyebrow{text-align:center;margin:0 0 5px;color:#a66d00;font-size:9px;font-weight:900;letter-spacing:.16em}.terms-card h1{text-align:center;margin:0 0 18px;font-size:24px;letter-spacing:-.03em}.terms-body{white-space:pre-wrap;border:1px solid #dfe4ea;background:#f8fafc;border-radius:14px;padding:17px 18px;min-height:170px;max-height:48vh;overflow:auto;color:#344054;font-size:10px;line-height:1.7}.terms-accept{display:block;width:100%;margin-top:18px;min-height:50px;font-size:11px}.terms-note{display:block;text-align:center;color:#7a8698;margin-top:10px;font-size:8px;line-height:1.45}@media(max-width:580px){.terms-overlay{padding:10px}.terms-card{max-height:calc(100vh - 20px);padding:20px 16px;border-radius:16px}.terms-card h1{font-size:21px}.terms-body{max-height:52vh;font-size:9.5px}}
