.booking-form{--booking-accent:#c49aff;--booking-glow:#924ef3;--booking-shadow:#55307d;--booking-surface:#211133;--preview-x:0deg;--preview-y:0deg;position:relative;color:#f5edff}
.booking-form [hidden]{display:none!important}.booking-form .booking-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.booking-form .booking-honey{display:none}
.booking-preview{height:166px;position:relative;isolation:isolate;overflow:hidden;border:1px solid color-mix(in srgb,var(--booking-accent) 36%,transparent);border-radius:9px;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--booking-glow) 35%,transparent),transparent 67%),#09060e;perspective:800px;transition:background .6s,border-color .6s}.booking-preview-grid{position:absolute;inset:30% -30% -80%;transform:rotateX(66deg);background-image:linear-gradient(color-mix(in srgb,var(--booking-accent) 13%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--booking-accent) 13%,transparent) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(transparent,#000 35%,transparent)}.booking-preview-orbit{position:absolute;width:205px;height:205px;left:50%;top:49%;border:1px solid color-mix(in srgb,var(--booking-accent) 40%,transparent);border-radius:50%;box-shadow:0 0 20px color-mix(in srgb,var(--booking-glow) 14%,transparent);transform:translate(-50%,-50%) rotateX(65deg) rotateZ(-25deg);animation:booking-orbit 15s linear infinite;pointer-events:none}.booking-preview-orbit-two{width:145px;height:145px;animation-direction:reverse;animation-duration:19s;opacity:.6}.booking-preview-object{position:absolute;left:50%;top:49%;width:75px;height:75px;margin:-37px;transform-style:preserve-3d;transform:rotateX(calc(-10deg + var(--preview-x))) rotateY(calc(-22deg + var(--preview-y))) rotateZ(-4deg);transition:transform .3s ease;animation:booking-float 5s ease-in-out infinite}.booking-object-face,.booking-object-side,.booking-object-top{position:absolute;inset:0;border:1px solid var(--booking-accent);background:linear-gradient(130deg,color-mix(in srgb,var(--booking-accent) 12%,#160d25),var(--booking-surface));box-shadow:inset 0 0 18px color-mix(in srgb,var(--booking-glow) 20%,transparent);backface-visibility:hidden}.booking-object-face{display:flex;flex-direction:column;justify-content:center;align-items:center;transform:translateZ(12px)}.booking-object-face b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px;font-weight:600;color:var(--booking-accent);line-height:1;text-shadow:0 0 20px var(--booking-shadow)}.booking-object-face i{width:25px;height:1px;background:var(--booking-accent);margin:7px 0}.booking-object-face small{font-size:5px;letter-spacing:.17em}.booking-object-side{width:24px;left:auto;right:-12px;transform:rotateY(90deg);background:var(--booking-shadow)}.booking-object-top{height:24px;top:-12px;transform:rotateX(90deg);background:var(--booking-shadow)}.booking-preview[data-service="Gaming"] .booking-object-face{border-radius:12px}.booking-preview[data-service="Anime / AMV"] .booking-object-face{border-radius:50%}.booking-preview[data-service="Motion / VFX"] .booking-object-face{border-radius:3px 20px 3px 20px}.booking-preview-meta,.booking-preview-caption{position:absolute;left:15px;right:15px;display:flex;justify-content:space-between;gap:12px;font-size:8px;font-weight:500;letter-spacing:.12em;line-height:1.4}.booking-preview-meta{top:13px;color:#c0afce}.booking-preview-meta span:last-child{color:var(--booking-accent)}.booking-preview-caption{bottom:13px;color:var(--booking-accent)}.booking-preview-caption span:last-child{color:#a494b5;text-align:right;font-size:7px}
.booking-progress{list-style:none;padding:0;margin:25px 0 29px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.booking-progress li{border-top:1px solid #b38edb30;padding-top:12px;color:#8d7c9f;display:flex;gap:7px;align-items:center;line-height:1.4;font-size:10px;transition:color .3s,border-color .3s}.booking-progress li span{font-size:8px;letter-spacing:.05em;color:#776487}.booking-progress li[aria-current=step]{border-color:var(--booking-accent);color:#f1e4ff}.booking-progress li[aria-current=step] span,.booking-progress li.is-complete span{color:var(--booking-accent)}.booking-progress li.is-complete{border-color:color-mix(in srgb,var(--booking-accent) 45%,transparent);color:#c4afd5}.booking-form .booking-step{padding:0;margin:0;border:0;min-width:0;animation:booking-step-enter .32s ease both}.booking-step legend{padding:0;width:100%;font-family:'Barlow Condensed',Impact,sans-serif;font-size:31px;font-weight:600;line-height:1.05;letter-spacing:.005em;color:#f5edff;margin-bottom:11px}.booking-step legend:focus{outline:none}.booking-step legend>span{display:block;font-family:'DM Sans',sans-serif;font-size:8px;font-weight:500;letter-spacing:.15em;color:var(--booking-accent);margin-bottom:9px}.booking-intro{font-size:11px;color:#aa96bd;line-height:1.7;margin-bottom:20px!important}.booking-service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:19px}.booking-form .booking-choice{margin:0;position:relative;cursor:pointer;color:inherit;letter-spacing:0;min-width:0}.booking-form .booking-choice input{position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0;left:16px;top:16px}.booking-choice>span{position:relative;display:flex;flex-direction:column;gap:6px;min-height:122px;padding:17px 14px;border:1px solid #b790d538;border-radius:7px;background:#100a19ad;transition:transform .25s,border-color .25s,background .25s,box-shadow .25s}.booking-choice:hover>span{border-color:color-mix(in srgb,var(--booking-accent) 70%,transparent);transform:translateY(-2px)}.booking-choice input:checked+span{border-color:var(--booking-accent);background:linear-gradient(130deg,color-mix(in srgb,var(--booking-glow) 23%,transparent),#130b1e);box-shadow:inset 0 0 26px color-mix(in srgb,var(--booking-glow) 8%,transparent),0 0 22px color-mix(in srgb,var(--booking-glow) 6%,transparent)}.booking-choice input:focus-visible+span{outline:2px solid var(--booking-accent);outline-offset:4px}.booking-choice b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:23px;font-weight:500;color:var(--booking-accent);line-height:1.2}.booking-choice strong{font-size:12px;font-weight:500;line-height:1.5}.booking-choice small{font-size:9px;color:#ac9abb;line-height:1.5}.booking-choice>span>i:not(.booking-swatch){position:absolute;right:14px;top:17px;font-size:17px;font-style:normal;color:#a487be}.booking-choice input:checked+span>i:not(.booking-swatch){color:var(--booking-accent)}.booking-mood-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0 25px}.booking-form .booking-mood-choice>span{padding:12px 8px;min-height:85px;text-align:center;align-items:center;gap:9px}.booking-mood-choice strong{font-size:9px;line-height:1.5;max-width:75px}.booking-swatch{display:block;width:25px;height:25px;border-radius:50%;border:1px solid #ffffff70;box-shadow:0 0 18px #ffffff0d;background:radial-gradient(circle at 30% 22%,#dfc2ff,#8c43e5 65%,#2d1151)}.booking-swatch.warm{background:radial-gradient(circle at 30% 22%,#ffe2b9,#dc9a5c 65%,#542c28)}.booking-swatch.cool{background:radial-gradient(circle at 30% 22%,#dbf5ff,#77a9c8 65%,#183950)}.booking-form .booking-field{display:block;font-size:11px;line-height:1.6;letter-spacing:0;color:#cab4dd;margin-bottom:19px}.booking-form .booking-field input,.booking-form .booking-field textarea,.booking-form .booking-field select{font-size:12px;line-height:1.6;margin-top:7px;min-height:45px;border-color:#af83d33d;padding:12px;max-width:100%}.booking-form .booking-field input:focus,.booking-form .booking-field textarea:focus,.booking-form .booking-field select:focus{border-color:var(--booking-accent)}.booking-field>span{color:#8e7b9f;font-size:9px}.booking-field>small{display:block;font-size:9px;color:#9884aa;line-height:1.6;margin-top:8px;letter-spacing:0}.booking-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form textarea{min-height:90px}.booking-review{border:1px solid color-mix(in srgb,var(--booking-accent) 28%,transparent);border-radius:6px;background:color-mix(in srgb,var(--booking-glow) 7%,transparent);padding:12px 14px;margin:9px 0 24px}.booking-review>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:8px;letter-spacing:.12em;color:var(--booking-accent)}.booking-review button{font-size:8px;letter-spacing:.12em;padding:6px;min-height:30px;margin:-6px -6px -6px 0;color:#d9c6e9}.booking-review>p{font-size:10px;line-height:1.7;color:#beaecb;margin-top:7px}.booking-privacy{font-size:9px;line-height:1.7;color:#9e88b1;margin-top:3px!important}.booking-privacy a{text-decoration:underline;text-underline-offset:3px}
.booking-actions{display:flex;align-items:stretch;gap:13px;margin-top:23px}.booking-next,.booking-submit{flex:1;display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:6px;min-height:56px;padding:16px 19px;background:linear-gradient(115deg,color-mix(in srgb,var(--booking-accent) 80%,#fff),var(--booking-accent));color:#160b22;font-size:9px;font-weight:700;letter-spacing:.06em;box-shadow:0 5px 0 var(--booking-shadow),0 10px 30px color-mix(in srgb,var(--booking-glow) 12%,transparent);transition:transform .2s,box-shadow .2s}.booking-next>span,.booking-submit>span{font-size:21px;font-weight:400;line-height:1}.booking-next:hover,.booking-submit:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--booking-shadow),0 12px 34px color-mix(in srgb,var(--booking-glow) 19%,transparent)}.booking-back{font-size:9px;letter-spacing:.04em;color:#bba4cc;padding:10px 5px}.booking-form button:disabled{cursor:wait;opacity:.55;transform:none}.booking-form .booking-note{font-size:9px;line-height:1.7;margin-top:19px;color:#9782aa;text-align:center}.booking-form .booking-status{font-size:12px;line-height:1.7;color:#dbbee9;margin-top:19px;padding:14px;border:1px solid #bc96e333;border-radius:5px;background:#1e102a66}.booking-status:empty,.booking-error:empty{display:none}.booking-form .booking-status[data-state=success]{border-color:#9bcfbd55;color:#bfdfd1}.booking-form .booking-status[data-state=error]{border-color:#e4aa9955;color:#ffd1c1}.booking-form .booking-error{font-size:11px;line-height:1.6;color:#efbcbb;margin-top:14px}.booking-fallback{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.booking-fallback a,.booking-fallback button{font-size:10px;color:var(--booking-accent);padding:8px 0;border-bottom:1px solid #b18ad155}.booking-form.is-submitting .booking-preview-object{animation-duration:1.2s}.booking-form.is-submitted .booking-preview{border-color:#9bcfbd88}
@keyframes booking-float{0%,100%{translate:0 -3px}50%{translate:0 5px}}@keyframes booking-orbit{0%{transform:translate(-50%,-50%) rotateX(65deg) rotateZ(-25deg)}100%{transform:translate(-50%,-50%) rotateX(65deg) rotateZ(335deg)}}@keyframes booking-step-enter{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:420px){.booking-preview{height:151px}.booking-progress{gap:7px}.booking-progress li{font-size:8px;gap:5px}.booking-progress li span{font-size:7px}.booking-step legend{font-size:27px}.booking-service-options{gap:8px}.booking-choice>span{padding:14px 10px;min-height:118px}.booking-choice strong{font-size:11px}.booking-choice small{font-size:8px}.booking-choice>span>i:not(.booking-swatch){right:10px;top:14px}.booking-preview-meta,.booking-preview-caption{font-size:7px;left:12px;right:12px}.booking-preview-caption span:last-child{font-size:6px}.booking-fields-row{grid-template-columns:1fr;gap:0}.booking-actions{gap:8px}.booking-next,.booking-submit{font-size:8px;padding:16px 13px}.booking-form .booking-mood-choice>span{padding:12px 5px}.booking-mood-choice strong{font-size:8px}}
@media(prefers-reduced-motion:reduce){.booking-form *,.booking-form *::before,.booking-form *::after{animation:none!important;transition:none!important}.booking-preview-object{transform:rotateX(-10deg) rotateY(-22deg) rotateZ(-4deg)!important}.booking-choice:hover>span,.booking-next:hover,.booking-submit:hover{transform:none}}
.booking-full-review{margin:4px 0 19px;border-block:1px solid #b590db25}.booking-full-review summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:var(--booking-accent);cursor:pointer;padding:14px 0}.booking-full-review summary::-webkit-details-marker{display:none}.booking-full-review summary span{font-size:17px}.booking-full-review[open] summary span{rotate:45deg}.booking-full-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:10px;line-height:1.8;color:#beaecb;max-height:240px;overflow:auto;padding:12px;background:#08050c77;margin:0 0 14px;border-radius:5px}
.booking-form [aria-invalid=true]:not([type=radio]){border-color:#efbcbb}.booking-choice input[aria-invalid=true]+span{border-color:#efbcbb}.booking-review button,.booking-back,.booking-fallback a,.booking-fallback button{min-height:44px}.booking-fallback a{display:inline-flex;align-items:center}.reduced-motion .booking-preview-object{transform:rotateX(-10deg) rotateY(-22deg) rotateZ(-4deg)!important}.reduced-motion .booking-choice:hover>span,.reduced-motion .booking-next:hover,.reduced-motion .booking-submit:hover{transform:none}
@media(max-width:700px){.booking-form .booking-field input,.booking-form .booking-field textarea,.booking-form .booking-field select{font-size:16px}}
