/* 374: Hire experts — /experts and /experts/{slug} (scoped under .xp) and the booking page (.xb, inside /account). */
.xp{--xp-ink:#1E1830;--xp-body:#5F566E;--xp-faint:#8E839B;--xp-pu:#7624F4;--xp-pu-d:#5B14CF;--xp-pu-l:#F3EEFD;--xp-pu-m:#CDBDF2;
  --xp-line:#E8E2F0;--xp-lav:#F7F3FE;flex:1;color:var(--xp-ink);font-family:"Manrope",system-ui,sans-serif;overflow-x:clip}
.xp *,.xp *::before,.xp *::after{box-sizing:border-box}
:where(.xp) :where(h1,h2,h3,p,ul,ol,dl,dd){margin:0}
:where(.xp) :where(ul,ol){padding:0;list-style:none}
.xp-wrap{width:100%;max-width:1464px;margin:0 auto;padding:0 24px}
.xp-pu{color:var(--xp-pu)}
.xp-eb{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--xp-pu)}
.xp-eb::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--xp-pu)}
.xp-kick{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--xp-pu)}

/* hero */
.xp-hero{position:relative;overflow:hidden;padding:42px 0 54px;text-align:center;
  background:radial-gradient(ellipse 760px 220px at 50% 100%,rgba(235,224,255,.8),rgba(235,224,255,0) 100%),linear-gradient(180deg,#fff 0%,#FAF7FF 100%)}
.xp-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(120,90,170,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(120,90,170,.04) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 50% 40%,#000 30%,transparent 85%);mask-image:radial-gradient(ellipse 70% 90% at 50% 40%,#000 30%,transparent 85%)}
.xp-hero-in{position:relative}
.xp-hero h1{margin-top:14px;font-size:50px;line-height:54px;font-weight:800;letter-spacing:-.045em}
.xp-lead{margin-top:18px;font-size:16.5px;line-height:28px;color:var(--xp-body)}
.xp-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 32px;margin-top:22px;font-size:13px;color:var(--xp-faint)}
.xp-trust li{display:flex;align-items:center;gap:8px}
.xp-trust svg{color:var(--xp-pu)}
.xp-trust b{color:var(--xp-ink);font-weight:700;margin-right:2px}
.xp-tile{position:absolute;display:grid;place-items:center;color:#8F63F2;background:linear-gradient(145deg,#FFFFFF,#F1EBFD);border:1px solid #EAE2FA;border-radius:22px;
  box-shadow:0 22px 44px -26px rgba(90,40,180,.45);pointer-events:none}
.xp-t1{left:50px;top:70px;width:128px;height:108px;transform:rotate(-9deg)}
.xp-t2{left:158px;top:178px;width:62px;height:58px;border-radius:14px;transform:rotate(-9deg)}
.xp-t3{right:86px;top:66px;width:128px;height:108px;transform:rotate(10deg)}
.xp-t4{right:82px;top:196px;width:62px;height:58px;border-radius:14px;transform:rotate(10deg)}

/* experts grid */
.xp-sec{padding-top:44px}
.xp-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.xp-sec-head h2{margin-top:10px;font-size:28px;line-height:34px;font-weight:800;letter-spacing:-.03em}
.xp-sec-note{font-size:13.5px;line-height:24px;color:var(--xp-faint);text-align:right}
.xp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}
.xp-card{display:flex;flex-direction:column;padding:24px 26px 22px;background:#fff;border:1px solid var(--xp-line);border-radius:16px;transition:border-color .2s,box-shadow .2s}
.xp-card:hover{border-color:#D5C6F5;box-shadow:0 20px 40px -30px rgba(76,40,140,.45)}
.xp-card.is-on{border:1.5px solid #9E70F7;box-shadow:0 22px 44px -30px rgba(90,30,200,.55)}
.xp-card-top{display:flex;justify-content:space-between;align-items:center}
.xp-ic{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;background:var(--xp-pu-l);color:var(--xp-pu)}
.xp-badge{padding:5px 11px;border-radius:20px;background:var(--xp-pu-l);border:1px solid #E1D5FB;color:var(--xp-pu);font-size:11.5px;font-weight:700}
.xp-card h3{margin-top:18px;font-size:20px;line-height:26px;font-weight:700;letter-spacing:-.02em}
.xp-sum{margin-top:8px;min-height:44px;font-size:13.5px;line-height:22px;color:var(--xp-body)}
.xp-price{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:22px}
.xp-rate b{font-size:29px;line-height:32px;font-weight:800;letter-spacing:-.03em}
.xp-rate span{margin-left:4px;font-size:13px;color:var(--xp-faint)}
.xp-min{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:12px;color:var(--xp-faint);text-align:right}
.xp-min b{color:var(--xp-pu);font-weight:700}
.xp-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;height:40px;margin-top:18px;padding:0 16px;border:1px solid var(--xp-pu-m);border-radius:8px;
  background:#fff;color:var(--xp-pu);font:700 13.5px/1 "Manrope",system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.xp-btn:hover{border-color:var(--xp-pu);background:#FBF8FF}
.xp-btn:focus-visible{outline:2px solid var(--xp-pu);outline-offset:2px}
.xp-btn.is-solid{background:var(--xp-pu);border-color:var(--xp-pu);color:#fff}
.xp-btn.is-solid:hover{background:var(--xp-pu-d);border-color:var(--xp-pu-d)}
.xp-btn.is-big{width:100%;height:46px;font-size:14.5px}

/* how it works */
.xp-how{margin-top:40px;padding:26px 32px 30px;background:var(--xp-lav);border:1px solid #EAE1FB;border-radius:18px}
.xp-how-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px}
.xp-how-head h3{font-size:21px;line-height:28px;font-weight:700;letter-spacing:-.02em}
.xp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:22px}
.xp-steps li{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start}
.xp-steps li:not(:last-child)::after{content:"\2192";position:absolute;right:-30px;top:16px;color:#A98BEF;font-size:16px}
.xp-num{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--xp-pu);color:#fff;font-size:11px;font-weight:800}
.xp-steps b{display:block;font-size:15.5px;line-height:28px;font-weight:700}
.xp-steps p{margin-top:4px;font-size:13px;line-height:21px;color:var(--xp-body)}
.xp-step-ic{color:#A98BEF}

/* booking section */
.xp-book{display:grid;grid-template-columns:minmax(0,1fr) 528px;gap:64px;align-items:start;padding-top:52px;padding-bottom:64px;scroll-margin-top:24px}
.xp-book-copy h2{max-width:560px;margin-top:16px;font-size:38px;line-height:44px;font-weight:800;letter-spacing:-.035em}
.xp-intro{margin-top:16px;font-size:15px;line-height:24px;color:var(--xp-body)}
.xp-incl{margin-top:22px;display:grid;gap:14px}
.xp-incl li{display:flex;align-items:center;gap:12px;font-size:15px;color:#3E3550}
.xp-chk{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--xp-pu-l);color:var(--xp-pu)}
.xp-example{display:flex;gap:14px;align-items:flex-start;max-width:590px;margin-top:30px;padding:18px 22px;background:var(--xp-lav);border-radius:12px}
.xp-example-ic{color:var(--xp-pu);margin-top:4px}
.xp-example b{font-size:14.5px;font-weight:700}
.xp-example p{margin-top:5px;font-size:13px;color:var(--xp-body)}
.xp-box{background:#fff;border:1px solid var(--xp-line);border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(76,40,140,.5)}
.xp-box-head{display:flex;align-items:center;gap:14px;padding:20px 24px;background:#FBF9FF;border-bottom:1px solid var(--xp-line)}
.xp-box-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.xp-box-t b{font-size:16px;font-weight:700}
.xp-box-t small,.xp-box-rate small{font-size:12px;color:var(--xp-faint)}
.xp-box-rate b{font-size:19px;font-weight:800;letter-spacing:-.02em}
.xp-box-rate small{margin-left:3px}
.xp-box-body{padding:22px 24px 20px}
.xp-lbl{display:block;font-size:13px;font-weight:700;color:#3E3550}
.xp-step{display:flex;align-items:center;justify-content:space-between;height:48px;margin-top:10px;padding:0 6px;border:1px solid #DCD3EA;border-radius:10px}
.xp-step:focus-within{border-color:var(--xp-pu);box-shadow:0 0 0 3px rgba(118,36,244,.12)}
.xp-step button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:var(--xp-pu-l);color:var(--xp-pu);cursor:pointer}
.xp-step button:hover:not(:disabled){background:#E8DDFC}
.xp-step button:disabled{opacity:.45;cursor:default}
.xp-step button:focus-visible{outline:2px solid var(--xp-pu);outline-offset:1px}
.xp-step-v{display:flex;align-items:baseline;justify-content:center;gap:6px;font-size:19px;font-weight:700}
.xp-step-v input{width:3.2ch;border:0;padding:0;background:transparent;text-align:right;font:inherit;color:inherit;-moz-appearance:textfield;appearance:textfield}
.xp-step-v input::-webkit-outer-spin-button,.xp-step-v input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.xp-step-v input:focus{outline:none}
.xp-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:12px;color:var(--xp-faint)}
.xp-chips{display:flex;gap:6px}
.xp-chips button{height:26px;padding:0 12px;border:1px solid #E1DAEB;border-radius:14px;background:#fff;color:#7C6E89;font:600 12px/1 "Manrope",system-ui,sans-serif;cursor:pointer}
.xp-chips button:hover{border-color:var(--xp-pu-m);color:var(--xp-pu)}
.xp-chips button.is-on{background:var(--xp-pu);border-color:var(--xp-pu);color:#fff}
.xp-lines{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:22px;padding-bottom:18px;border-bottom:1px solid #EFEAF5;font-size:13.5px}
.xp-lines dt{color:var(--xp-faint)}
.xp-lines dd{font-weight:700;text-align:right}
.xp-total{display:flex;justify-content:space-between;align-items:center;margin:16px 0 20px}
.xp-total span{font-size:16px;color:#3E3550}
.xp-total small{margin-left:6px;font-size:11px;color:var(--xp-faint)}
.xp-total b{font-size:28px;font-weight:800;letter-spacing:-.03em}
.xp-note{margin-top:12px;font-size:12px;color:var(--xp-faint);text-align:center}

@media (max-width:1400px){.xp-tile{opacity:.55}.xp-t1{left:-30px}.xp-t2{left:70px}.xp-t3{right:-30px}.xp-t4{right:10px}}
@media (max-width:1100px){
  .xp-tile{display:none}
  .xp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xp-book{grid-template-columns:1fr;gap:34px}
  .xp-steps{grid-template-columns:1fr;gap:18px}.xp-steps li::after{display:none}
}
@media (max-width:720px){
  .xp-hero{padding:30px 0 38px}.xp-hero h1{font-size:34px;line-height:39px}.xp-lead br{display:none}
  .xp-trust{flex-direction:column;align-items:center;gap:8px}
  .xp-sec-head{flex-direction:column;align-items:flex-start}.xp-sec-note{text-align:left}.xp-sec-note br{display:none}
  .xp-grid{grid-template-columns:1fr}
  .xp-how{padding:22px 18px}
  .xp-book-copy h2{font-size:30px;line-height:36px}
  .xp-box-head,.xp-box-body{padding-left:18px;padding-right:18px}
  .xp-row{flex-direction:column;align-items:flex-start}
  .xp-btn.is-big{font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){.xp-card,.xp-btn{transition:none}}

/* booking page inside /account (.xb) */
.xb{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:20px;align-items:start}
.xb-sum{position:sticky;top:20px}
.xb-cat{display:flex;align-items:center;gap:12px}
.xb-cat .xp-ic{width:40px;height:40px;border-radius:10px;background:#F3EEFD;color:#7624F4;display:grid;place-items:center}
.xb-cat b{display:block;font-size:16px}
.xb-cat small{font-size:12.5px;color:var(--faint,#8E839B)}
.xb-lines{display:grid;grid-template-columns:1fr auto;gap:10px;margin:18px 0 0;padding:16px 0;border-top:1px solid #EFEAF5;border-bottom:1px solid #EFEAF5;font-size:14px}
.xb-lines dt{color:var(--faint,#8E839B)}
.xb-lines dd{margin:0;font-weight:700;text-align:right}
.xb-total{display:flex;justify-content:space-between;align-items:center;margin:14px 0 4px;font-size:15px}
.xb-total b{font-size:24px;letter-spacing:-.02em}
.xb-change{display:inline-block;margin-top:6px;font-size:13px;font-weight:600;color:#7624F4}
.xb-bal{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#F7F3FE;font-size:13px;color:#5F566E}
.xb-steps{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none;font-size:13px;color:#5F566E}
.xb-steps li{display:flex;gap:8px;align-items:flex-start}
.xb-steps li span{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:#F3EEFD;color:#7624F4;font-size:11px;font-weight:800}
.xb-pay{margin-top:18px}
.xb-pay .xb-err{margin:10px 0 0;color:#B3261E;font-size:13.5px}
.xb-test{margin:0 0 10px;padding:12px 14px;border-radius:10px;background:#FFF7E6;border:1px solid #F3D9A4;font-size:13px;color:#6B4E12}
.xb-paybtn{width:100%;margin-top:16px}
.xb-secure{margin:10px 0 0;font-size:12px;color:var(--faint,#8E839B);text-align:center}
@media (max-width:1100px){.xb{grid-template-columns:1fr}.xb-sum{position:static}}
