@import url('https://fonts.googleapis.com/css2?family=Contrail+One&family=Raleway:wght@400;500;600;700;800;900&display=swap');
:root{--night:#000;--night-2:#121212;--gold:#ffc700;--sand:#fff3bd;--paper:#f7f7f7;--ink:#151515;--muted:#686868;--line:#dddddd;--white:#fff;--green:#16875c;--tp-red:#ed1c24;--tp-yellow:#ffc700;--tp-charcoal:#050505}
body{background:var(--paper);color:var(--ink);font-family:Raleway,Arial,sans-serif}
h1,h2,h3,.brand>span:last-child,.taxi-avatar,.booking-reference,.tracking-heading h1{font-family:Raleway,Arial,sans-serif}
.topbar{height:78px;background:var(--tp-yellow);border-bottom:4px solid var(--tp-red);box-shadow:0 4px 18px #0001}
.brand{position:relative;display:flex;align-items:center;width:auto;min-width:232px;height:70px;padding-left:78px;background:none}
.brand::before{content:"";position:absolute;left:0;top:50%;width:62px;height:68px;transform:translateY(-50%);border-radius:18px;background:url('assets/taxiproxi-logo-switzerland.png') no-repeat center/cover;box-shadow:0 2px 0 #0002}
.brand>.brand-mark{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand>span:last-child{position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;color:#111;font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:.9}
.brand strong{display:inline;margin-left:6px;color:var(--tp-red)}
.brand small{position:static!important;display:block!important;width:auto!important;height:auto!important;margin-top:7px!important;overflow:visible!important;clip:auto!important;white-space:nowrap!important;color:#444;font-size:8px;font-weight:800;letter-spacing:.2em;line-height:1}
.brand.inverse{min-width:255px;height:82px;padding:0 0 0 92px;background:none;box-shadow:none}
.brand.inverse::before{width:76px;height:82px;border-radius:22px;box-shadow:0 0 0 1px #ffffff18}
.brand.inverse>span:last-child{color:#fff}.brand.inverse strong{color:var(--tp-yellow)}.brand.inverse small{color:#aaa}
.topbar nav{font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.topbar nav a:hover{color:var(--tp-red)}
.phone small{color:#555}.phone strong{color:#111;font-weight:900}
.btn,.call-taxi,.button{border-radius:3px;text-transform:uppercase;letter-spacing:.025em}
.btn-gold,.call-taxi{background:var(--tp-red);color:#fff}
.btn-gold:hover,.call-taxi:hover{background:#c90f17;color:#fff}
.eyebrow,.kicker{color:var(--tp-red);font-weight:900}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.82) 52%,rgba(0,0,0,.16) 100%)}
.hero-home>.eyebrow{color:var(--tp-yellow);font-size:11px}
.hero-home .hero-search{border:1px solid #e0e0e0;border-bottom:5px solid var(--tp-yellow);border-radius:4px;box-shadow:0 18px 55px #0007}
.hero-home .hero-search label span{color:var(--tp-red)}
.hero-home .hero-search input{font-family:Raleway,Arial,sans-serif;font-weight:600}
.hero-map-card{border:0;border-bottom:5px solid var(--tp-yellow);background:var(--tp-charcoal);box-shadow:0 18px 55px #0007}
.hero-map-copy{background:linear-gradient(145deg,#161616,#000)}
.hero-map-copy .kicker{color:var(--tp-yellow)}
.hero-map-copy .destination-dot{background:var(--tp-red)}
.hero-proof b{color:var(--tp-yellow)}
.trust-strip{background:#fff;border-top:1px solid #eee;border-bottom:4px solid var(--tp-yellow);color:#333}
.trust-strip span:before{color:var(--tp-red)}
.section-head h2,.content-copy h2,.partner h2,.directory h2{font-weight:900;color:#242424}
.city-card{border:1px solid #ddd;border-top:4px solid var(--tp-yellow);box-shadow:0 8px 24px #00000008}
.city-card:hover{border-color:var(--tp-red);box-shadow:0 14px 35px #0002}
.city-card.large{background:var(--tp-yellow);color:#171717;border-color:var(--tp-yellow)}
.city-code{background:#f0f0f0;color:var(--tp-red);border:2px solid var(--tp-yellow)}
.large .city-code{background:#fff;color:var(--tp-red)}
.city-code{position:relative;overflow:hidden;padding:0;border-radius:12px;box-shadow:0 5px 14px #0002}
.city-code img{width:100%;height:100%;display:block;object-fit:cover}
.city-code>small{position:absolute;right:3px;bottom:3px;padding:2px 4px;border-radius:3px;background:#fff;color:var(--tp-red);font-size:7px;line-height:1;letter-spacing:.03em;box-shadow:0 1px 4px #0004}
.city-card small,.large small,.city-card>b,.large>b{color:var(--tp-red)}
.large .city-card p,.city-card.large p{color:#4a4a4a}
.services{background:#000;border-top:6px solid var(--tp-yellow)}
.services .kicker,.services .service-grid button>span,.services .service-grid b{color:var(--tp-yellow)}
.service-grid{border-color:#363636}.service-grid button{border-color:#363636}.service-grid button:hover{background:#171717}
.journey-tools{background:#fff;border-top:1px solid #eee}
.journey-tool-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}
.journey-tool{min-height:330px;padding:34px;display:flex;flex-direction:column;border:1px solid #ddd;border-top:5px solid var(--tp-yellow);background:#f7f7f7}
.journey-tool.featured{background:#000;color:#fff;border-color:#000;border-top-color:var(--tp-red)}
.journey-tool.accent{background:var(--tp-yellow);border-color:var(--tp-yellow);border-top-color:var(--tp-red)}
.journey-tool>span{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--tp-red)}
.journey-tool.featured>span{color:var(--tp-yellow)}
.journey-tool h3{margin:34px 0 14px;font-size:clamp(24px,2.5vw,34px);line-height:1.08;letter-spacing:-.04em}
.journey-tool p{margin:0 0 24px;color:#666;line-height:1.65;font-size:14px}
.journey-tool.featured p{color:#bbb}.journey-tool.accent p{color:#3e3e3e}
.journey-tool .btn{align-self:flex-start;margin-top:auto}
.journey-tool.accent .btn{background:#000;color:#fff}
.airport-tags{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 26px}
.airport-tags b{padding:7px 9px;border:1px solid #ffffff38;color:#fff;font-size:10px;letter-spacing:.06em}
.journey-reference{display:inline-flex;align-items:center;gap:8px;margin:3px 0 26px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#444}
.journey-reference i{width:9px;height:9px;border-radius:50%;background:var(--tp-red);box-shadow:0 0 0 4px #ed1c2422}
.quote-card{background:var(--tp-yellow);border-bottom:5px solid var(--tp-red)}
.quote-card>span,.quote-card a{color:var(--tp-red)}
.partner{background:#fff2b8;border-top:5px solid var(--tp-yellow)}
.partner-form{border-top:5px solid var(--tp-red);box-shadow:0 18px 45px #0002}
.partner-points{color:#333}
.partner-form .website-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.partner-result-page{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:50px 20px;background:linear-gradient(135deg,#000 0,#000 58%,var(--tp-yellow) 58%,var(--tp-yellow) 100%)}
.partner-result-card{width:min(680px,100%);padding:54px;background:#fff;border-top:6px solid var(--tp-red);box-shadow:0 24px 80px #0005}
.partner-result-card h1{margin:14px 0 18px;font-size:clamp(38px,6vw,64px);line-height:1;letter-spacing:-.05em}
.partner-result-card p{margin:0 0 28px;color:var(--muted);font-size:16px;line-height:1.7}
.directory{background:#f3f3f3;border-top:1px solid #e6e6e6}
.directory-toolbar input,.partner-form input,.partner-form select,.booking-fields input,.booking-fields select,.booking-fields textarea{border-radius:3px;border-color:#ccc}
input:focus,select:focus,textarea:focus{outline:2px solid #ffc700;outline-offset:1px;border-color:var(--tp-red)}
.taxi-card{border:1px solid #ddd;border-top:5px solid var(--tp-yellow);box-shadow:0 7px 20px #00000008}
.taxi-card:hover{border-color:var(--tp-red);box-shadow:0 14px 30px #0002}
.taxi-avatar{border-radius:6px;background:var(--tp-yellow);color:#111;font-weight:900;box-shadow:3px 3px 0 var(--tp-red)}
.taxi-card h3{font-weight:900}.call-taxi{font-weight:900}
.booking-page{background:#f3f3f3}
.booking-intro{background:#000;border-bottom:6px solid var(--tp-yellow)}
.booking-intro .kicker,.booking-form legend span{color:var(--tp-yellow)}
.booking-intro li.active b{background:var(--tp-red);border-color:var(--tp-red);color:#fff}
.booking-form{border-top:5px solid var(--tp-yellow);box-shadow:0 15px 45px #0002}
.booking-map{background:#000;border-bottom:5px solid var(--tp-yellow)}
.booking-confirmation{background:#000}
.confirmation-check{border-radius:7px;background:var(--tp-yellow);color:var(--tp-red);box-shadow:4px 4px 0 var(--tp-red)}
.booking-reference{border-radius:3px;border-bottom:5px solid var(--tp-red)}
.tracking-page{background:linear-gradient(135deg,var(--tp-yellow) 0,var(--tp-yellow) 42%,#f2f2f2 42%,#f2f2f2 100%)}
.tracking-card{border-top:6px solid var(--tp-red)}
.tracking-route{background:#000;border-bottom:5px solid var(--tp-yellow)}
.tracking-route b{background:var(--tp-yellow);color:#111}.tracking-route div:last-child b{background:var(--tp-red);color:#fff}
.status-message{border-left-color:var(--tp-red)}.status-message i{background:var(--tp-red);box-shadow:0 0 0 5px #ffe0e1}
.city-hero{background:#000!important;border-bottom:6px solid var(--tp-yellow)}
.city-hero .eyebrow{color:var(--tp-yellow)}
footer{background:#000;border-top:6px solid var(--tp-yellow)}
.footer-main h3{color:var(--tp-yellow)}.footer-bottom{border-color:#555;color:#bbb}
@media(max-width:1000px){.journey-tool-grid{grid-template-columns:1fr 1fr}.journey-tool.featured{grid-column:1/-1}}
@media(max-width:800px){.topbar{height:78px}.topbar.open{background:var(--tp-yellow)}.brand{min-width:196px;height:66px;padding-left:69px}.brand::before{width:56px;height:62px;border-radius:16px}.brand>span:last-child{font-size:19px}.brand small{font-size:7px}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.98) 5%,rgba(0,0,0,.76) 72%,rgba(0,0,0,.18))}}
@media(max-width:600px){.journey-tool-grid{grid-template-columns:1fr}.journey-tool.featured{grid-column:auto}.journey-tool{min-height:290px;padding:28px}}
.taxi-card{position:relative}.taxi-card-profile-link{position:absolute!important;inset:0;z-index:1}.taxi-card>*:not(.taxi-card-profile-link){position:relative;z-index:2;pointer-events:none}.taxi-card .call-taxi,.taxi-card .view-profile{position:relative;z-index:3;pointer-events:auto}.taxi-card .view-profile{display:inline-flex;margin:2px 0 10px;color:var(--tp-red);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.taxi-card:focus-within{outline:3px solid var(--tp-yellow);outline-offset:2px}
