:root{--purple:#5426dc;--purple-dark:#3511ae;--purple-soft:#f1edff;--ink:#17151d;--muted:#6e6b75;--line:#e4e1e8;--green:#079447;--green-soft:#e8f8ee;--red:#d9333f;--card:#fff;--shadow:0 12px 36px rgba(36,24,65,.09);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f5f3f7;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% -10%,#eee8ff 0,transparent 30%),#f7f6f8}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}.app-shell{width:min(100%,760px);min-height:100vh;margin:auto;background:#fff;box-shadow:0 0 60px rgba(22,11,51,.08);position:relative}.page-content{padding:12px 22px 116px}.topbar{height:84px;padding:18px 22px 6px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:rgba(255,255,255,.94);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(228,225,232,.65);backdrop-filter:blur(16px)}.wordmark{font-size:29px;font-weight:850;color:var(--purple);letter-spacing:-1.8px}.wordmark span{display:inline-block;transform:skew(-6deg)}.location{display:flex;align-items:center;gap:7px;font-size:14px;white-space:nowrap}.pin{color:var(--purple);font-size:12px}.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.notification{font-size:24px;position:relative}.notification b{position:absolute;right:-7px;top:-5px;background:#ef3340;color:#fff;width:18px;height:18px;border-radius:50%;font-size:10px;display:grid;place-items:center}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:linear-gradient(145deg,#3b1647,#c9875d);color:#fff;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.icon-button{border:1px solid var(--line);background:#fff;border-radius:13px;width:43px;height:43px;font-size:34px;line-height:1;display:grid;place-items:center}.back-button{justify-self:start}.bottom-nav{position:fixed;z-index:40;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);height:86px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(18px)}.bottom-nav a{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;color:#64616b}.bottom-nav span{font-size:26px;line-height:1}.bottom-nav small{font-size:11px}.bottom-nav a.active{color:var(--purple);font-weight:700}.bottom-nav a.active span{transform:translateY(-1px)}h1,h2,h3,p{margin-top:0}h1{font-size:31px;line-height:1.08;letter-spacing:-1.1px;margin-bottom:10px}h2{font-size:24px;letter-spacing:-.6px;margin:26px 0 14px}h3{font-size:18px;margin-bottom:6px}.muted{color:var(--muted)}.eyebrow{font-size:13px;font-weight:750;color:var(--purple);text-transform:uppercase;letter-spacing:.08em}.search-row{display:grid;grid-template-columns:1fr 52px;gap:10px;margin:10px 0 15px}.searchbox{height:52px;border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;gap:10px;padding:0 15px;background:#fff}.searchbox span{font-size:25px}.searchbox input{width:100%;border:0;outline:0;font-size:15px;background:transparent}.filter-button{border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--purple);font-size:22px}.chips{display:flex;gap:8px;overflow:auto;padding:0 0 7px;scrollbar-width:none}.chip{border:1px solid #d9d4e1;background:#fff;border-radius:999px;padding:9px 16px;white-space:nowrap;font-size:13px}.chip.active{background:linear-gradient(135deg,#6733dd,#4d24c7);border-color:transparent;color:#fff}.chip-outline{padding:5px 10px;border:1px solid #c9baff;color:var(--purple);border-radius:8px;font-size:12px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.section-head a{color:var(--purple);font-size:13px}.hero-copy{margin-top:5px}.map-card{height:315px;border-radius:23px;position:relative;overflow:hidden;background-color:#f3f0e9;background-image:linear-gradient(28deg,transparent 47%,#fff 48%,#fff 51%,transparent 52%),linear-gradient(112deg,transparent 44%,#fff 45%,#fff 49%,transparent 50%),linear-gradient(160deg,transparent 42%,#e4e9e0 43%,#e4e9e0 46%,transparent 47%),linear-gradient(80deg,transparent 47%,#fff 48%,#fff 52%,transparent 53%);background-size:86px 83px,125px 113px,160px 140px,75px 105px;box-shadow:var(--shadow);border:1px solid #efedf1;margin:17px 0}.map-card:after{content:'PARIS 11e';position:absolute;inset:47% auto auto 38%;font-size:18px;font-weight:800;letter-spacing:.12em;color:#767181}.map-pin{position:absolute;width:54px;height:54px;border-radius:50%;background-image:url('../images/artists-sprite.png');background-size:200% 200%;border:3px solid white;box-shadow:0 0 0 3px var(--purple),0 8px 17px rgba(50,23,120,.25);z-index:2}.map-pin:after{content:'';position:absolute;width:11px;height:11px;background:var(--purple);border-radius:50%;bottom:-18px;left:18px}.map-pin.p1{background-position:0 0;left:38%;top:38%}.map-pin.p2{background-position:100% 0;left:61%;top:15%}.map-pin.p3{background-position:0 100%;left:19%;top:59%}.map-pin.p4{background-position:100% 100%;left:68%;top:63%}.nearby-summary{display:flex;justify-content:space-between;align-items:center;margin:12px 2px 15px;font-size:13px}.nearby-summary strong{color:var(--purple);font-size:18px}.live-pill,.status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:var(--green-soft);color:var(--green);padding:7px 11px;font-size:12px;font-weight:650}.live-pill:before,.status:before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}.artist-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:77%;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;scrollbar-width:none}.artist-card{border:1px solid var(--line);border-radius:19px;background:var(--card);overflow:hidden;box-shadow:0 8px 20px rgba(26,18,46,.06);scroll-snap-align:start;position:relative}.artist-card.horizontal{display:grid;grid-template-columns:145px 1fr;min-height:185px;margin-bottom:12px}.artist-photo{background-image:url('../images/artists-sprite.png');background-size:200% 200%;background-repeat:no-repeat;background-color:#241122}.artist-photo.p1{background-position:0 0}.artist-photo.p2{background-position:100% 0}.artist-photo.p3{background-position:0 100%}.artist-photo.p4{background-position:100% 100%}.artist-card:not(.horizontal) .artist-photo{height:190px}.artist-card-content{padding:13px}.artist-name{font-size:20px;font-weight:800;letter-spacing:-.4px}.rating{color:#f2a900;font-weight:700}.rating span{color:var(--ink);font-weight:500}.distance{color:var(--purple);font-weight:700;white-space:nowrap}.price{font-weight:750;margin:9px 0}.media-actions{display:flex;gap:7px}.mini-button,.outline-button{flex:1;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px;color:var(--ink);font-size:12px}.favorite{position:absolute;right:13px;top:11px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:23px;color:var(--purple)}.wide-cta,.primary-button{border:0;color:#fff;background:linear-gradient(100deg,#4820e8,#6a2bd4);border-radius:14px;padding:17px 21px;font-size:17px;font-weight:750;display:flex;align-items:center;justify-content:center;width:100%;box-shadow:0 10px 20px rgba(82,38,220,.18)}.outline-cta{border:1.5px solid var(--purple);color:var(--purple);background:#fff;border-radius:14px;padding:15px 20px;font-size:16px;font-weight:700;width:100%}.artists-list{margin-top:14px}.artist-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0}.artist-card.horizontal .artist-card-content{padding:14px 13px}.artist-card.horizontal .media-actions{margin-top:8px}.artist-card.horizontal .status{padding:5px 8px}.profile-hero{margin:-12px -22px 0;height:335px;position:relative}.profile-hero .artist-photo{width:100%;height:100%}.floating-actions{position:absolute;top:20px;left:18px;right:18px;display:flex;justify-content:space-between}.floating-actions div{display:flex;gap:10px}.floating-actions button{width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:26px}.artist-profile{background:#fff;margin:-24px -22px 0;padding:27px 22px 115px;border-radius:25px 25px 0 0;position:relative}.profile-title-row{display:grid;grid-template-columns:1fr auto;gap:18px}.price-panel{padding:14px;border-radius:18px;background:var(--purple-soft);min-width:130px}.price-panel strong{display:block;color:var(--purple);font-size:28px;margin-top:7px}.availability{color:var(--green);font-weight:750;margin:15px 0}.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.media-box{background:#faf9fb;border-radius:17px;padding:15px;min-height:133px}.audio-wave{height:46px;margin-top:12px;background:repeating-linear-gradient(90deg,var(--purple) 0 3px,transparent 3px 7px);clip-path:polygon(0 45%,10% 25%,20% 67%,30% 12%,40% 80%,50% 30%,60% 68%,70% 8%,80% 77%,90% 40%,100% 55%,100% 100%,0 100%)}.video-thumb{height:70px;border-radius:11px;margin-top:10px;background-image:url('../images/artists-sprite.png');background-size:200% 200%;background-position:0 0;display:grid;place-items:center;color:#fff;font-size:34px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin:24px 0;padding:17px 0;border-block:1px solid var(--line);font-size:12px}.stats-row div+div{border-left:1px solid var(--line)}.review-card,.soft-card{border:1px solid var(--line);border-radius:19px;padding:17px;background:#fff}.review-stars{color:var(--purple);letter-spacing:2px}.sticky-actions{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:50;width:min(100%,760px);background:rgba(255,255,255,.96);padding:13px 18px calc(13px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1.15fr 1fr;gap:10px;border-top:1px solid var(--line);backdrop-filter:blur(16px)}.steps{display:flex;align-items:flex-start;justify-content:space-between;margin:14px 2px 28px;position:relative}.steps:before{content:'';position:absolute;height:2px;background:var(--line);top:20px;left:15%;right:15%}.step{position:relative;z-index:1;text-align:center;color:#8b8791;font-size:11px;width:31%}.step b{width:42px;height:42px;background:#fff;border:2px solid var(--line);border-radius:50%;display:grid;place-items:center;margin:0 auto 7px;font-size:17px}.step.active{color:var(--purple);font-weight:750}.step.active b,.step.done b{background:var(--purple);border-color:var(--purple);color:#fff}.booking-artist{display:grid;grid-template-columns:112px 1fr;gap:15px;align-items:center;border:1px solid var(--line);border-radius:19px;background:linear-gradient(135deg,#fff,#faf8ff);padding:12px}.booking-artist .artist-photo{height:112px;border-radius:13px}.booking-artist .artist-name{font-size:24px}.date-strip,.time-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.choice{border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px 6px;text-align:center;min-height:68px}.choice.active{border:2px solid var(--purple);color:var(--purple);background:var(--purple-soft)}.time-strip .choice.active{background:var(--purple);color:#fff}.estimate{display:flex;gap:16px;align-items:center;padding:18px;border-radius:19px;background:var(--purple-soft);margin:20px 0}.estimate .big{font-size:31px;color:var(--purple);font-weight:800}.form-section{display:grid;gap:14px}.field label{display:block;font-weight:650;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #cbc7cf;background:#fff;border-radius:11px;padding:14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(84,38,220,.1)}.counter{border:1px solid #cbc7cf;border-radius:11px;display:grid;grid-template-columns:60px 1fr 60px;text-align:center;align-items:center;height:54px}.counter button{border:0;background:#fff;color:var(--purple);font-size:28px}.form-sticky{position:sticky;bottom:0;margin:25px -22px -116px;padding:14px 22px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:20}.summary-list{margin:18px 0}.summary-row{display:grid;grid-template-columns:32px 145px 1fr;gap:10px;padding:14px 4px;border-bottom:1px solid var(--line);align-items:start}.summary-row i{font-style:normal;color:var(--purple);font-size:21px}.summary-row strong{font-size:14px}.payment-card,.price-breakdown{border:1px solid var(--line);border-radius:15px;padding:15px}.payment-card{display:flex;justify-content:space-between;align-items:center}.payment-card .visa{background:#12398d;color:#fff;padding:5px 8px;border-radius:5px;font-weight:900;font-style:italic}.price-line{display:flex;justify-content:space-between;padding:6px 0}.price-line.total{font-size:19px;font-weight:800;border-top:1px solid var(--line);margin-top:5px;padding-top:13px}.success-hero{text-align:center;padding:27px 10px 18px}.success-mark{width:90px;height:90px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:52px;display:grid;place-items:center;margin:0 auto 15px}.action-list{border:1px solid var(--line);border-radius:17px;overflow:hidden}.action-row{display:flex;align-items:center;gap:14px;padding:15px;border-bottom:1px solid var(--line)}.action-row:last-child{border-bottom:0}.action-row .icon{font-size:25px;color:var(--purple)}.action-row .grow{flex:1}.tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:16px 0}.tab{padding:13px;border:0;background:#fff}.tab.active{background:var(--purple);color:#fff}.booking-card{display:grid;grid-template-columns:125px 1fr;border:1px solid var(--line);border-radius:17px;padding:10px;gap:13px;margin-bottom:12px}.booking-card .artist-photo{height:145px;border-radius:12px}.booking-card .meta-line{font-size:13px;color:var(--muted);margin:6px 0}.booking-card .actions{display:flex;gap:8px;margin-top:12px}.booking-card .actions a,.booking-card .actions button{border:1px solid var(--purple);color:var(--purple);background:#fff;border-radius:9px;padding:8px 10px;font-size:12px}.status.pending{background:#f3f2f5;color:#696671}.status.cancelled{background:#fdebec;color:var(--red)}.detail-card{border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:15px}.detail-artist{display:grid;grid-template-columns:130px 1fr;gap:16px}.detail-artist .artist-photo{height:130px;border-radius:14px}.map-tracking{height:440px;margin:0 -22px;position:relative;overflow:hidden;background-color:#f3f0e9;background-image:linear-gradient(28deg,transparent 47%,#fff 48%,#fff 51%,transparent 52%),linear-gradient(112deg,transparent 44%,#fff 45%,#fff 49%,transparent 50%);background-size:86px 83px,125px 113px}.route{position:absolute;width:330px;height:190px;border:9px solid var(--purple);border-color:transparent transparent var(--purple) var(--purple);transform:rotate(-12deg);left:17%;top:85px;border-radius:0 0 0 45px}.route-point{position:absolute;width:58px;height:58px;border-radius:50%;background:var(--purple);color:#fff;display:grid;place-items:center;font-size:27px;box-shadow:0 0 0 10px rgba(84,38,220,.12)}.route-point.artist{left:17%;top:78px;background-image:url('../images/artists-sprite.png');background-size:200% 200%;background-position:0 0}.route-point.home{right:13%;bottom:74px}.eta-card{display:flex;justify-content:space-between;gap:15px;align-items:center}.eta{background:var(--purple-soft);color:var(--purple);padding:10px 15px;border-radius:15px;text-align:center}.eta strong{font-size:28px;display:block}.tracking-sheet{margin:-17px -8px 0;border-radius:23px 23px 0 0;background:#fff;position:relative;padding:22px 8px}.profile-card{display:grid;grid-template-columns:115px 1fr;gap:20px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:25px}.profile-card .profile-photo{width:115px;height:115px;font-size:35px}.profile-menu{border:1px solid var(--line);border-radius:21px;padding:4px 17px;margin:20px 0}.profile-menu .action-row{padding-inline:3px}.message-row{display:grid;grid-template-columns:54px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.message-row .artist-photo{width:54px;height:54px;border-radius:50%}.badge{background:var(--purple);color:#fff;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;font-size:11px}.chat{display:flex;flex-direction:column;gap:10px}.bubble{max-width:78%;padding:12px 14px;border-radius:17px;background:#f1eff4}.bubble.me{align-self:flex-end;background:var(--purple);color:#fff}.chat-composer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);padding:12px 17px calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 48px;gap:9px;background:#fff;border-top:1px solid var(--line)}.chat-composer input{border:1px solid var(--line);border-radius:999px;padding:0 16px}.chat-composer button{border:0;border-radius:50%;background:var(--purple);color:#fff}.toast{position:fixed;left:50%;bottom:105px;transform:translate(-50%,20px);background:#211935;color:#fff;padding:11px 17px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:100;font-size:13px;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.empty-state{text-align:center;padding:50px 15px}.empty-state span{font-size:60px}.hide{display:none!important}@media(min-width:720px){.page-content{padding-inline:34px}.profile-hero{margin-inline:-34px}.artist-profile{margin-inline:-34px;padding-inline:34px}.artist-carousel{grid-auto-columns:45%}.artist-card.horizontal{grid-template-columns:190px 1fr}.artist-card.horizontal .artist-photo{min-height:210px}.map-tracking{margin-inline:-34px}.topbar{padding-inline:34px}}@media(max-width:460px){.topbar{grid-template-columns:1fr auto}.topbar .location{display:none}.page-content{padding-inline:16px}.profile-hero{margin-inline:-16px}.artist-profile{margin-inline:-16px;padding-inline:16px}.artist-carousel{grid-auto-columns:86%}.artist-card.horizontal{grid-template-columns:116px 1fr}.artist-card.horizontal .media-actions{display:none}.artist-card.horizontal .artist-name{font-size:18px}.date-strip,.time-strip{gap:5px}.choice{font-size:12px}.booking-artist{grid-template-columns:88px 1fr}.booking-artist .artist-photo{height:88px}.summary-row{grid-template-columns:27px 108px 1fr;font-size:13px}.booking-card{grid-template-columns:100px 1fr}.booking-card .artist-photo{height:130px}.bottom-nav small{font-size:9px}.detail-artist{grid-template-columns:105px 1fr}.detail-artist .artist-photo{height:110px}.media-grid{grid-template-columns:1fr}.profile-title-row{grid-template-columns:1fr}.profile-card{grid-template-columns:86px 1fr}.profile-card .profile-photo{width:86px;height:86px}.map-tracking{margin-inline:-16px}}

