body{margin:0;background:#F6F1FF}
*{box-sizing:border-box}
a{color:#5B3DF5;text-decoration:none}a:hover{color:#3F24D6}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes pop{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}
@keyframes blob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,20px) scale(1.1)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(18,184,134,.55)}70%{box-shadow:0 0 0 10px rgba(18,184,134,0)}100%{box-shadow:0 0 0 0 rgba(18,184,134,0)}}
@keyframes draw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.in{animation:fadeUp .7s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}
.blob{animation:blob 14s ease-in-out infinite}
.live{animation:pulse 2s infinite}
.pop{animation:pop .45s cubic-bezier(.2,.7,.2,1) both}
.draw{stroke-dasharray:30;animation:draw .6s .2s ease-out both}
.lift{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s,background .3s}
.lift:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(30,20,70,.1)}
.lift .bgi{transition:transform .5s,opacity .3s}
.lift:hover .bgi{transform:rotate(-10deg) scale(1.1);opacity:.2}
.svc{background:#FFFFFF;border:1.5px solid #ECE8F3}
.svc.on{border:2px solid #5B3DF5;background:#F6F3FF;box-shadow:0 0 0 4px rgba(91,61,245,.1)}
.tick{opacity:0;transform:scale(.5);transition:all .25s}
.on .tick{opacity:1;transform:scale(1)}
.staff{background:#FFFFFF;border:1.5px solid #ECE8F3}
.staff.on{border:2px solid #5B3DF5;background:#F6F3FF;box-shadow:0 0 0 4px rgba(91,61,245,.1)}
.day{background:#FFFFFF;border:1.5px solid #ECE8F3;color:#1A1530;transition:all .2s}
.day:hover{border-color:#5B3DF5}
.day.on{background:#5B3DF5;border-color:#5B3DF5;color:#FFFFFF;transform:translateY(-3px);box-shadow:0 10px 22px rgba(91,61,245,.3)}
.day.full{background:#F3F1F6;border-color:#F3F1F6;color:#8A8499;cursor:not-allowed}
.slot{background:#FFFFFF;border:1.5px solid #ECE8F3;color:#1A1530;transition:all .18s}
.slot:hover{border-color:#5B3DF5;color:#3F24D6;transform:translateY(-2px)}
.slot.on{background:#5B3DF5;border-color:#5B3DF5;color:#FFFFFF;box-shadow:0 8px 18px rgba(91,61,245,.3)}
.slot.deal{border-color:#FFC9C1;background:#FFF6F4}
.cta{background:#FF6B5A;color:#1E1446;transition:transform .2s,box-shadow .2s}
.cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,107,90,.4)}
.cta.off{background:#F3F1F6;color:#8A8499;cursor:not-allowed;box-shadow:none;transform:none}
.tab{border:0;background:transparent;color:#5E5873;position:relative}
.tab:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px;background:#FF6B5A;transform:scaleX(0);transition:transform .3s}
.tab.on{color:#1E1446}.tab.on:after{transform:scaleX(1)}
.fld{width:100%;min-height:50px;border:1.5px solid #ECE8F3;border-radius:14px;padding:0 14px;font:500 16px 'Plus Jakarta Sans',sans-serif;color:#1A1530;background:#FFFFFF;transition:border-color .2s,box-shadow .2s}
.fld:focus{outline:none;border-color:#5B3DF5;box-shadow:0 0 0 4px rgba(91,61,245,.12)}
.mbar{display:none}
@supports (animation-timeline: view()){.reveal{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 0% entry 55%}}
@media (max-width: 960px){
  .mbar{display:flex !important;animation:slideUp .4s both}
  .hero-name{font-size:30px !important}
  .cover{height:150px !important;border-radius:22px !important}
  .prof{padding:0 16px !important}
  .aside-sum{order:-1}
  .pad-m{padding-bottom:120px !important}
  .hide-m{display:none !important}
}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
.ferr{display:block;color:#C92A2A;font-size:12.5px;font-weight:700;margin-top:5px}.ferr:empty{display:none}
.fld.bad{border-color:#FF8787}
.loading{color:#8A8499;font-weight:700;padding:18px 4px}
.skel{height:50px;border-radius:14px;background:linear-gradient(90deg,#F3F1F6 0%,#FAF8FD 50%,#F3F1F6 100%);background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{from{background-position:200% 0}to{background-position:-200% 0}}
.tab:hover{color:#1E1446}
@media (max-width: 960px){ .aside-sum{order:0 !important;position:relative !important;top:0 !important} }
