/* A colourful, translucent studio treatment. The approved navigation remains. */
html:has(.premium-studio){background:#eef2ff}
body.public-ui.premium-studio{background:radial-gradient(ellipse 800px 670px at 5% 0%,#c8d5ff7d,transparent 72%),radial-gradient(ellipse 700px 650px at 100% 9%,#c9edfa82,transparent 72%),radial-gradient(ellipse 850px 600px at 10% 43%,#dcd1ff66,transparent 72%),linear-gradient(145deg,#f5f6ff,#f1f7fc 48%,#f6f4ff);color:#18223c}
.premium-studio .site-header{background:#f3f6ffad;border-bottom-color:#ffffffb0;backdrop-filter:blur(25px);box-shadow:0 5px 35px #3e559908}
.premium-studio .desktop-nav{background:#dfe6f582;border-color:#ffffffbd;box-shadow:inset 0 1px 1px #fff9}
.premium-studio .button.primary.nav-book{background:#edf1ffbc;border-color:#fff;box-shadow:0 6px 18px #45609b14,inset 0 1px 0 #fff;backdrop-filter:blur(15px)}
.premium-studio .section-heading h2,.premium-studio .process-intro h2,.premium-studio .learning-approach h2,.premium-studio .store-principles h2{color:#192748;font-weight:550;letter-spacing:-2px;line-height:1.12;font-size:clamp(35px,3.8vw,51px)}
.premium-studio .micro-label{color:#6c76a0;letter-spacing:1.5px}
.premium-studio .hero.booking-first{padding-top:81px;padding-bottom:73px}
.premium-studio .hero-eyebrow{color:#6373ad!important}
.premium-studio .booking-first .hero-main h1>span{color:#4261ed;background:linear-gradient(100deg,#3658ef 2%,#7860df 65%,#4988d7);background-clip:text;-webkit-text-fill-color:transparent}
.premium-studio .hero-main>p:not(.reasons-label):not(.hero-eyebrow){font-size:16px;line-height:1.85;max-width:480px;color:#5b6b8b}
.premium-studio .identity:before{background:#536fea;box-shadow:0 0 0 5px #627af213}
.premium-studio .booking-reasons .icon{color:#677dd0}
.premium-studio .booking-first .conversation-card{background:linear-gradient(145deg,#4664eeeb,#5863dced 62%,#7970dfe8);border:1px solid #fff9;border-radius:20px;box-shadow:0 25px 70px -30px #4a5ab775,inset 0 1px 0 #ffffff60;backdrop-filter:blur(20px)}
.premium-studio .call-visual{background:linear-gradient(130deg,#5578f894,#64c4ec50);border-bottom-color:#ffffff40;height:148px}
.premium-studio .video-object>span:first-child{background:#7dd6ed55;border-color:#d0f6ff7d}
.premium-studio .video-object>span:nth-child(2){background:#b8c7ff66;border-color:#ffffff8f}
.premium-studio .video-object>div{background:linear-gradient(140deg,#ffffffee,#e4e8ffd4);box-shadow:8px 14px 25px #203fab25;backdrop-filter:blur(12px)}
.premium-studio .visual-caption{color:#edf3ff;font-size:13px}
.premium-studio .booking-summary-top .micro-label,.premium-studio .booking-first .call-intro{color:#e1e8ff}
.premium-studio .booking-first .conversation-card>.button{background:#fffdf5;box-shadow:0 5px 20px #223e9b16;border-color:#fff}
.premium-studio .booking-first .hero-rate{color:#e7ebff}
.engineering-overview{padding:24px 0 73px}
.engineering-overview .section-heading{margin-bottom:31px;align-items:flex-end}
.engineering-overview .section-heading h2{margin-top:15px}
.overview-intro{font-size:14px;line-height:1.9;max-width:330px;color:#667697;padding-bottom:4px}
.engineering-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.engineering-card{padding:26px 27px 29px;border:1px solid #ffffffdd;border-radius:17px;box-shadow:0 15px 35px #4c62a00b,inset 0 1px 1px #fff;overflow:hidden;backdrop-filter:blur(16px);background:linear-gradient(145deg,#e4eaffbf,#f8faffd9)}
.engineering-card.engineering-ai{background:linear-gradient(145deg,#d4f0edb0,#f4fbfed9)}
.engineering-card.engineering-pay{background:linear-gradient(145deg,#e6ddfabd,#f9f5ffd9)}
.engineering-card-top{display:flex;align-items:center;justify-content:space-between;font-size:8px;font-weight:600;letter-spacing:1.25px;color:#6a7ba9}
.engineering-card-top .icon{width:21px;height:21px;color:#6d80c2}
.engineering-ai .engineering-card-top,.engineering-ai .engineering-card-top .icon{color:#588d88}
.engineering-pay .engineering-card-top,.engineering-pay .engineering-card-top .icon{color:#9178b6}
.engineering-visual{position:relative;height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:6px -4px 16px}
.mini-app{width:100%;max-width:270px;transform:rotate(-5deg);background:#ffffffba;border:1px solid #fff;border-radius:10px;box-shadow:0 15px 25px #6d84b51a;overflow:hidden}
.mini-app-bar{display:flex;align-items:center;gap:4px;border-bottom:1px solid #dce3f180;padding:10px 12px;font-size:6px;color:#8f9bb7;background:#fff9}
.mini-app-bar i{width:4px;height:4px;border-radius:50%;background:#bbc7df}
.mini-app-bar span{margin-left:auto;margin-right:auto}
.mini-app-main{display:flex;align-items:center;gap:20px;padding:18px}
.mini-app-main>div:first-child{flex:1}
.mini-app-main b{display:block;font-weight:550;font-size:16px;letter-spacing:-.7px;line-height:1.15;color:#334974}
.mini-app-main>div>span{display:block;width:90%;height:3px;background:#ccd7f3;margin-top:9px;border-radius:2px}
.mini-app-main>div>span+span{width:65%;margin-top:4px}
.mini-app-main>div>i{display:block;width:38px;height:12px;background:#617be9;border-radius:3px;margin-top:12px}
.mini-app-object{width:66px;height:72px;background:linear-gradient(135deg,#cfdaff,#a7baf1);border:1px solid #fff;border-radius:13px;display:grid;place-items:center;box-shadow:5px 7px 0 #9ab0e445;transform:rotate(6deg)}
.mini-app-object .icon{color:#fff;width:33px;height:33px}
.signal-flow{display:flex;align-items:center;justify-content:center;width:100%}
.signal-flow>span{display:grid;place-items:center;width:50px;height:50px;border:1px solid #fff;border-radius:12px;background:#ffffffb5;box-shadow:0 8px 14px #72a6a211;color:#5c9c91}
.signal-flow>span .icon{width:22px;height:22px}
.signal-flow>span.signal-core{width:72px;height:72px;border:7px solid #d7efea;background:linear-gradient(145deg,#55baa7,#428f93);color:#fff;box-shadow:0 0 0 1px #aed6d0}
.signal-flow>span.signal-core .icon{width:29px;height:29px}
.signal-flow>i{height:1px;width:20px;background:#9fc8bd}
.signal-label{font-size:6px;letter-spacing:1px;color:#79a59b;margin-top:20px}
.signal-label span{margin:0 5px}
.receipt-visual{width:100%;max-width:260px;padding:20px;background:#fffc;border:1px solid #fff;border-radius:11px;transform:rotate(5deg);box-shadow:0 12px 24px #9b7db51b}
.receipt-visual>div:first-child{display:flex;gap:8px;align-items:center;font-size:7px;letter-spacing:-.1px;color:#9179ad}
.receipt-visual .icon{width:17px;height:17px}
.receipt-line{display:block;height:4px;width:75%;border-radius:3px;background:#e7def0;margin-top:18px}
.receipt-line.short{width:47%;margin-top:7px}
.receipt-verified{display:flex;align-items:center;gap:7px;font-size:8px;color:#7b60a5;border-top:1px solid #e8def3;margin-top:19px;padding-top:12px}
.engineering-card h3{font-size:23px;font-weight:550;line-height:1.25;letter-spacing:-.8px;color:#283e68}
.engineering-ai h3{color:#2c645f}.engineering-pay h3{color:#655082}
.engineering-card>p{font-size:13px;line-height:1.9;color:#71809f;margin-top:14px;min-height:100px}
.engineering-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.engineering-tags span{font-size:8px;padding:5px 8px;border:1px solid #ffffffd9;border-radius:5px;color:#7080aa;background:#ffffff65}
.premium-studio .booking-how{background:#ffffff80;border-color:#fff;box-shadow:0 12px 30px #5472b306;backdrop-filter:blur(16px)}
.premium-studio .service-offers{padding-top:78px}
.premium-studio .service-offers .service-card,.premium-studio .service-offers .service-card+.service-card{background:linear-gradient(140deg,#ffffffb8,#eef1ffb5);border-color:#fff;border-radius:17px;box-shadow:0 15px 45px #5674b00a;backdrop-filter:blur(18px);padding:30px}
.premium-studio .service-offers .service-card+.service-card{background:linear-gradient(140deg,#ffffffb8,#e9f5f5b5)}
.premium-studio .service-icon-tile{background:#e5eaffbd;border-color:#fff;color:#7385ca;box-shadow:0 4px 10px #6679bb08}
.premium-studio .service-card+.service-card .service-icon-tile{background:#dcefebbd;color:#639b91}
.offer-details{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:9px}
.offer-details li{position:relative;padding-left:17px;color:#6e7e9a;font-size:12px;line-height:1.7}
.offer-details li:before{content:'✓';position:absolute;left:0;color:#7991ca;font-size:11px}
.premium-studio .service-bottom{margin-top:25px;border-top-color:#cad6ee80;padding-top:23px}
.premium-studio .service-bottom .button.secondary{background:#ffffffa3;border-color:#fff}
.premium-studio .work-explorer{background:linear-gradient(140deg,#1d2f53f2,#25315bf5);border-color:#fff8;box-shadow:0 22px 60px #42599b18;backdrop-filter:blur(20px)}
.premium-studio .work-stage{background:radial-gradient(ellipse at 60% 55%,#5879b040,#708fca00 67%),#20365f50}
.premium-studio .work-copy{padding-top:43px}
.premium-studio .work-copy>.micro-label{color:#a7b8e4}
.premium-studio .work-tabs button[aria-selected=true]{border-bottom-color:#94c8fb}
.premium-studio .brand-path{background:linear-gradient(145deg,#d9e2ffd4,#e7deff99);border-color:#fff;box-shadow:0 12px 25px #6f83b109;backdrop-filter:blur(15px);border-radius:17px}
.premium-studio .brand-path+.brand-path{background:linear-gradient(145deg,#daf0edce,#e1ecfb9c);border-color:#fff}
.premium-studio .brand-path h2{color:#425181}
.premium-studio .brand-path+.brand-path h2{color:#386968}
.premium-studio .path-icon{background:#ffffffa6;border-color:#fff}
.build-process{display:grid;grid-template-columns:1fr 1.15fr;gap:95px;margin-bottom:76px;padding:40px 0 15px}
.process-intro h2{margin-top:17px}
.process-intro>p:not(.micro-label){font-size:14px;line-height:1.9;color:#6e7e9d;margin-top:23px;max-width:380px}
.process-intro .text-button{margin-top:21px;color:#5269aa}
.process-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.process-list li{display:flex;gap:25px;padding:22px 0;border-bottom:1px solid #cbd6eb80}
.process-list li:first-child{padding-top:0}
.process-list li>span{font:11px/1.8 Consolas,monospace;color:#9ba9c8;flex-shrink:0}
.process-list h3{font-size:20px;font-weight:550;letter-spacing:-.6px;color:#374a73;line-height:1.4}
.process-list p{font-size:13px;line-height:1.8;color:#7382a0;margin-top:8px;max-width:405px}
.premium-studio .identity-sculpture{background:linear-gradient(145deg,#cedbffb5,#e6ddfbae);border-color:#fff;box-shadow:0 15px 35px #6d82b512}
.premium-studio .creator-detail{max-width:460px!important;color:#7b88a3!important;font-size:13px!important}
.premium-studio .about{border-color:#ced8ec8f}
.premium-studio .footer{border-top-color:#cdd6eb9c}
.premium-studio .academy-visual{background:linear-gradient(135deg,#cbd9ffaf,#e2d2f9a3 65%,#c7edf49c);border:1px solid #fff;box-shadow:0 20px 55px #7c89bb12;backdrop-filter:blur(12px)}
.premium-studio .lesson-window{background:#ffffffe0;border-color:#fff;box-shadow:0 25px 40px #5d75aa24}
.premium-studio .lesson-output{background:#f1f6ffb3;border-color:#e4ebfa}
.premium-studio .course-section,.premium-studio .store-plan{border-top-color:#cdd7eb8f}
.premium-studio .course-card{background:#ffffffa6;border-color:#fff;border-radius:16px;box-shadow:0 15px 35px #6585b70b;backdrop-filter:blur(15px)}
.premium-studio .art-software{background:linear-gradient(135deg,#d9e3ff,#c9d9fd)}
.premium-studio .art-ai{background:linear-gradient(135deg,#d7f1e9,#c4e9e7)}
.premium-studio .art-payments{background:linear-gradient(135deg,#e8daf8,#d7d0f8)}
.premium-studio .course-body{padding-bottom:29px}
.premium-studio .page-bridge{background:#ffffff94;border-color:#fff;border-radius:16px;box-shadow:0 10px 35px #627bb70a;backdrop-filter:blur(15px)}
.premium-studio .bridge-symbol{background:linear-gradient(145deg,#d5e3ff,#e5dafa);border:1px solid #fff}
.learning-approach,.store-principles{display:grid;grid-template-columns:.9fr 1.2fr;gap:95px;padding:38px 0 78px}
.learning-approach h2,.store-principles h2{margin-top:17px}
.learning-approach>div>p:not(.micro-label),.store-principles>div>p:not(.micro-label){font-size:14px;line-height:1.9;color:#73809c;margin-top:22px;max-width:375px}
.learning-points{display:grid;grid-template-columns:1fr;gap:0}
.learning-points article{position:relative;padding:0 0 22px 40px;border-bottom:1px solid #c9d5e780;margin-bottom:22px}
.learning-points article:last-child{margin-bottom:0}
.learning-points article>span{position:absolute;left:0;top:3px;color:#9dabc6;font:10px/1.6 Consolas,monospace}
.learning-points h3,.principle-list h3{font-size:19px;line-height:1.4;font-weight:550;letter-spacing:-.5px;color:#3b4d77}
.learning-points p,.principle-list p{font-size:13px;line-height:1.9;color:#73819f;margin-top:9px}
.premium-studio .store-art{background:linear-gradient(135deg,#d4e3ffb3,#e1d5f2ab 60%,#cfeee999);border-color:#fff;box-shadow:0 20px 45px #7e84bc12;backdrop-filter:blur(15px)}
.premium-studio .subscription-pass{background:linear-gradient(140deg,#5277ed,#6f65ce 85%);border-color:#c8d4ff;box-shadow:14px 16px 0 #afc7ef67,0 25px 40px #5264a526}
.premium-studio .floating-tile{background:#ffffffbd;border-color:#fff;box-shadow:0 10px 22px #6e82b41c;backdrop-filter:blur(10px)}
.premium-studio .plan-grid{background:#ffffff82;border-color:#fff;border-radius:15px;box-shadow:0 12px 35px #7286b00c;backdrop-filter:blur(15px)}
.premium-studio .plan-grid article+article{border-color:#d4dff080}
.premium-studio .plan-icon{background:#dfeaff8f;border:1px solid #fff;color:#7088c7}
.principle-list{display:grid;gap:22px}
.principle-list article{display:flex;align-items:flex-start;gap:20px;padding:22px 25px;border:1px solid #fff;border-radius:13px;background:#ffffff8f;backdrop-filter:blur(12px)}
.principle-list article>.icon{width:24px;height:24px;margin-top:2px;color:#8293c4}
.principle-list article:nth-child(2)>.icon{color:#679c95}
.principle-list article:nth-child(3)>.icon{color:#ad86c3}
@media(max-width:1050px){.engineering-grid{gap:17px}.engineering-card{padding:23px}.engineering-card h3{font-size:21px}.engineering-visual{height:160px}.engineering-card>p{font-size:12px;min-height:115px}.signal-flow>span{width:40px;height:40px}.signal-flow>span.signal-core{width:60px;height:60px}.signal-flow>i{width:13px}.mini-app-main{padding:15px}.mini-app-main b{font-size:14px}.mini-app-object{width:51px;height:59px}.build-process,.learning-approach,.store-principles{gap:55px}.premium-studio .about{grid-template-columns:140px 1fr}.premium-studio .creator-detail{max-width:460px!important}}
@media(max-width:800px){.engineering-grid{gap:13px}.engineering-card{padding:20px 18px}.engineering-card h3{font-size:20px}.engineering-visual{height:145px}.engineering-card>p{min-height:140px;font-size:12px}.engineering-card-top{font-size:7px}.mini-app-main b{font-size:12px}.mini-app-main{gap:10px;padding:12px}.mini-app-object{width:42px;height:53px}.mini-app-object .icon{width:25px;height:25px}.signal-flow>span{width:34px;height:34px}.signal-flow>span.signal-core{width:52px;height:52px;border-width:5px}.signal-flow>i{width:9px}.signal-label{font-size:5px;letter-spacing:.5px}.receipt-visual{padding:15px}.receipt-visual>div:first-child{font-size:6px;gap:5px}.receipt-verified{font-size:7px}.overview-intro{max-width:280px;font-size:13px}.build-process,.learning-approach,.store-principles{gap:35px}.process-list h3{font-size:18px}}
@media(max-width:650px){.premium-studio .hero.booking-first{padding-top:45px;padding-bottom:42px}.premium-studio .hero-main>p:not(.reasons-label):not(.hero-eyebrow){font-size:14px}.premium-studio .call-visual{height:125px}.engineering-overview{padding:18px 0 46px}.engineering-overview .section-heading{align-items:flex-start;gap:22px}.engineering-overview .section-heading h2,.premium-studio .process-intro h2,.premium-studio .learning-approach h2,.premium-studio .store-principles h2{font-size:36px;letter-spacing:-1.8px}.overview-intro{max-width:340px;font-size:14px}.engineering-grid{grid-template-columns:1fr;gap:20px}.engineering-card{padding:26px 27px 28px;border-radius:15px}.engineering-card-top{font-size:8px}.engineering-visual{height:183px;margin-bottom:12px}.engineering-card h3{font-size:26px;letter-spacing:-1px}.engineering-card>p{font-size:14px;min-height:0;line-height:1.85;margin-top:15px}.engineering-tags{margin-top:22px;gap:7px}.engineering-tags span{font-size:9px}.mini-app-main{padding:18px;gap:20px}.mini-app-main b{font-size:17px}.mini-app-object{width:65px;height:74px}.mini-app-object .icon{width:33px;height:33px}.signal-flow>span{width:52px;height:52px}.signal-flow>span.signal-core{width:74px;height:74px;border-width:7px}.signal-flow>i{width:20px}.signal-label{font-size:6px;letter-spacing:.8px}.receipt-visual{padding:22px}.receipt-visual>div:first-child{font-size:8px;gap:8px}.receipt-verified{font-size:9px}.premium-studio .service-offers{padding-top:51px}.premium-studio .service-offers .service-card,.premium-studio .service-offers .service-card+.service-card{padding:27px}.offer-details{gap:11px}.offer-details li{font-size:12px;line-height:1.8}.premium-studio .work-copy{padding-top:33px}.premium-studio .brand-path{border-radius:15px}.build-process,.learning-approach,.store-principles{grid-template-columns:1fr;gap:33px;padding:15px 0 39px;margin-bottom:10px}.process-intro>p:not(.micro-label),.learning-approach>div>p:not(.micro-label),.store-principles>div>p:not(.micro-label){font-size:14px;margin-top:21px}.process-intro .text-button{margin-top:17px;font-size:12px}.process-list li{gap:20px;padding:21px 0}.process-list h3{font-size:21px}.process-list p{font-size:13px}.premium-studio .about{grid-template-columns:1fr}.premium-studio .creator-detail{font-size:13px!important}.learning-approach,.store-principles{padding-top:3px;padding-bottom:44px}.learning-points h3,.principle-list h3{font-size:21px}.learning-points p,.principle-list p{font-size:14px}.principle-list article{padding:23px;gap:16px}.premium-studio .page-bridge{margin-bottom:45px}.premium-studio .plan-grid article+article{border-color:#d4dff080}}
@media(prefers-reduced-transparency:reduce){body.public-ui.premium-studio{background:#f1f4fc}.premium-studio .site-header,.premium-studio .engineering-card,.premium-studio .service-card,.premium-studio .course-card,.premium-studio .page-bridge{background:#f7f9ff;backdrop-filter:none}}
.premium-studio .engineering-card>p,.premium-studio .overview-intro,.premium-studio .process-intro>p:not(.micro-label),.premium-studio .process-list p,.premium-studio .learning-approach>div>p:not(.micro-label),.premium-studio .learning-points p,.premium-studio .store-principles>div>p:not(.micro-label),.premium-studio .principle-list p{color:#62728e}
/* Payment UI is scoped to the consultation dialog so page styles cannot change it. */
#booking-dialog[data-step=payment]{--payment-ink:var(--ink);--payment-muted:var(--muted);--payment-accent:var(--blue);--payment-line:var(--line);width:530px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--payment-line);border-radius:16px;background:#fff;color:var(--payment-ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 80px #171c2826}
#booking-dialog[data-step=payment][open]{display:block}
#booking-dialog[data-step=payment]::backdrop{background:#171c2873;backdrop-filter:blur(4px)}
#booking-dialog[data-step=payment] .booking-aside,#booking-dialog[data-step=payment] .steps,#booking-dialog[data-step=payment] #booking-saved-note{display:none}
#booking-dialog[data-step=payment] .booking-main{padding:24px;min-height:0;overflow:visible}
#booking-dialog[data-step=payment]>.dialog-close{position:absolute;inset:20px 20px auto auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--payment-line);border-radius:8px;background:#fff;color:var(--payment-muted);z-index:2}
#booking-dialog[data-step=payment]>.dialog-close:hover{background:var(--soft);color:var(--payment-ink)}
#booking-dialog[data-step=payment]>.dialog-close .icon{width:18px;height:18px}
#booking-payment{margin:0;padding:0;width:100%;font:14px/1.6 var(--font);color:var(--payment-ink)}
#booking-payment .checkout-accessible{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#booking-payment .checkout-card-header{display:flex;align-items:center;padding-right:52px;min-height:22px}
#booking-payment .checkout-brand{display:flex;align-items:center;gap:7px;color:var(--payment-accent);font-size:12px;font-weight:650;letter-spacing:.1px}
#booking-payment .brand-mark{width:17px;height:17px;fill:currentColor}
#booking-payment #checkout-heading{margin:6px 44px 0 0;padding:0;color:var(--payment-ink);font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.5px;outline:none}
#booking-payment .payment-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:20px 0 18px;padding:0}
#booking-payment .payment-flow-steps li{min-width:0;border-top:3px solid var(--payment-line);padding:4px 0 0}
#booking-payment .payment-flow-steps li:has([aria-current=step]),#booking-payment .payment-flow-steps li[data-complete=true]{border-color:var(--payment-accent)}
#booking-payment .payment-flow-steps button{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;min-height:44px;margin:0;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--payment-muted);font:500 12px/1.5 var(--font);white-space:nowrap}
#booking-payment .payment-flow-steps button>span{display:grid;place-items:center;width:18px;height:18px;flex-shrink:0;background:none;border:0;border-radius:0;color:inherit;font-size:12px}
#booking-payment .payment-flow-steps button[aria-current=step],#booking-payment .payment-flow-steps li[data-complete=true] button{color:var(--payment-accent)}
#booking-payment .payment-flow-steps button[aria-current=step]{font-weight:600}
#booking-payment .payment-flow-steps li[data-complete=true] button>span{font-size:0}
#booking-payment .payment-flow-steps li[data-complete=true] button>span:after{content:'✓';font-size:13px}
#booking-payment .payment-flow-steps button:disabled{opacity:1;cursor:default}
#booking-payment .payment-flow-steps button:not(:disabled):hover{background:var(--blue-soft)}
#booking-payment .payment-order-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;padding:14px;border:1px solid var(--payment-line);border-radius:10px;background:var(--blue-soft)}
#booking-payment .payment-order-summary>div{display:grid;gap:3px;min-width:0}
#booking-payment .payment-order-summary>div>strong{display:block;font-size:14px;line-height:1.5;font-weight:600;color:var(--payment-ink)}
#booking-payment .payment-order-summary>div>span{display:block;font-size:12px;line-height:1.5;color:var(--payment-muted)}
#booking-payment #checkout-amount{font-size:20px;line-height:1.4;font-weight:600;letter-spacing:-.5px;white-space:nowrap;color:var(--payment-ink)}
#booking-payment .payment-method-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--payment-line);border-radius:10px;overflow:hidden}
#booking-payment .payment-method-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 16px;border:0;border-bottom:1px solid var(--payment-line);border-radius:0;background:#fff;text-align:left;box-shadow:none;transform:none}
#booking-payment .payment-method-choice:last-child{border-bottom:0}
#booking-payment .payment-method-choice:hover,#booking-payment .payment-method-choice[aria-pressed=true]{background:var(--soft)}
#booking-payment .payment-logo-frame{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0}
#booking-payment .payment-logo-frame img{display:block;width:34px;height:34px;object-fit:contain;border-radius:6px}
#booking-payment .payment-method-choice>strong{font-size:14px;line-height:1.5;font-weight:500;color:var(--payment-ink)}
#booking-payment .payment-method-choice>.icon{width:17px;height:17px;margin-left:auto;color:var(--payment-muted)}
#booking-payment .payment-selected-method{display:flex;align-items:center;gap:12px;margin:0 0 18px}
#booking-payment .payment-selected-method img{width:40px;height:40px;object-fit:contain;border:0;border-radius:8px;padding:0;background:#fff;flex-shrink:0}
#booking-payment .payment-selected-method>div{display:grid;gap:3px;min-width:0}
#booking-payment .payment-recipient-label{font-size:12px;line-height:1.5;color:var(--payment-muted)}
#booking-payment #checkout-recipient{font-size:16px;line-height:1.5;font-weight:650;color:var(--payment-ink);overflow-wrap:anywhere}
#booking-payment .payment-instructions{padding:16px 12px;border:1px solid var(--payment-line);border-radius:10px;background:var(--soft);text-align:center}
#booking-payment .payment-dial-label{font-size:12px;line-height:1.5;color:var(--payment-muted)}
#booking-payment .payment-dial{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:8px}
#booking-payment .payment-dial code{min-width:0;font:500 clamp(17px,4.2vw,22px)/1.5 Consolas,monospace;letter-spacing:-.5px;color:var(--payment-ink);overflow-wrap:anywhere;user-select:all}
#booking-payment .payment-dial .icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--payment-line);border-radius:8px;padding:0;background:#fff;color:var(--payment-accent);flex-shrink:0}
#booking-payment .payment-dial .icon{width:18px;height:18px}
#booking-payment .payment-sent-confirmation{margin:16px 0 0;border:1px solid var(--payment-line);border-radius:10px;background:var(--studio-surface);transition:border-color .15s,background .15s}
#booking-payment .payment-sent-confirmation>label{display:flex;align-items:flex-start;gap:10px;min-height:48px;margin:0;padding:12px;border:0;background:none;color:var(--payment-ink);font-size:14px;line-height:1.6;cursor:pointer}
#booking-payment .payment-sent-confirmation label>span{color:inherit}
#booking-payment .payment-sent-confirmation input{display:block;width:18px;height:18px;min-height:18px;margin:3px 0 0;padding:0;accent-color:var(--payment-accent);flex-shrink:0}
#booking-payment .payment-sent-copy{display:grid;gap:8px;min-width:0}
#booking-payment .payment-sent-copy strong{white-space:nowrap}
#booking-payment .payment-sent-confirmation[data-invalid=true]{border-color:#c62828;background:#fff5f5;box-shadow:0 0 0 1px #c62828}
#booking-payment .payment-confirmation-error{color:#c62828;font-size:13px;line-height:1.5}
#booking-payment .payment-transfer-actions,#booking-payment .payment-form-actions{border-top:1px solid var(--payment-line);margin:20px -24px -8px;padding:16px 24px 0}
#booking-payment .next,#booking-payment .payment-status-actions>.button,#booking-payment .checkout-finish.payment-done{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0;padding:12px 16px;border:1px solid var(--payment-accent);border-radius:8px;background:var(--payment-accent);color:#fff;font:600 14px/1.5 var(--font);box-shadow:none;transform:none;cursor:pointer}
#booking-payment .next:hover,#booking-payment .payment-status-actions>.button:hover,#booking-payment .checkout-finish.payment-done:hover{background:var(--blue-hover);border-color:var(--blue-hover)}
#booking-payment .next .icon{width:18px;height:18px}
#booking-payment .payment-text-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:6px 0 0;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--payment-muted);font:400 12px/1.5 var(--font)}
#booking-payment .payment-text-action>.icon{width:16px;height:16px}
#booking-payment .payment-text-action:hover{background:var(--soft);color:var(--payment-ink)}
#booking-payment .checkout-inputs{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0}
#booking-payment #checkout-form label{display:block;margin:0 0 7px;color:var(--payment-ink);font-size:13px;font-weight:500;line-height:1.5}
#booking-payment #checkout-form input{width:100%;min-width:0;min-height:48px;height:48px;margin:0;padding:11px 12px;border:1px solid var(--payment-line);border-radius:8px;background:#fff;color:var(--payment-ink);font:400 16px/1.5 var(--font);box-shadow:none}
#booking-payment #checkout-form input:focus{outline:2px solid var(--payment-accent);outline-offset:2px;border-color:var(--payment-accent)}
#booking-payment .payment-phone-field{display:flex;align-items:center;border:1px solid var(--payment-line);border-radius:8px;background:#fff}
#booking-payment .payment-phone-field>span{padding:0 12px;border-right:1px solid var(--payment-line);font-size:14px;line-height:1.5;color:var(--payment-ink);flex-shrink:0}
#booking-payment .payment-phone-field:focus-within{outline:2px solid var(--payment-accent);outline-offset:2px;border-color:var(--payment-accent)}
#booking-payment #checkout-phone{flex:1;border:0;background:transparent;border-radius:0 8px 8px 0}
#booking-payment #checkout-form #checkout-phone:focus{outline:none;border:0;box-shadow:none}
#booking-payment .payment-field-help{margin:7px 0 0;font-size:12px;line-height:1.5;color:var(--payment-muted)}
#booking-payment .checkout-status{display:flex;align-items:flex-start;gap:12px;margin:0;padding:16px;border:1px solid var(--payment-line);border-radius:10px;background:var(--soft)}
#booking-payment .checkout-status>.icon{width:22px;height:22px;margin-top:1px;color:var(--payment-accent);flex-shrink:0}
#booking-payment .checkout-status strong{font-size:14px;line-height:1.5;font-weight:600;color:var(--payment-ink)}
#booking-payment .checkout-status p{margin:6px 0 0;color:var(--payment-muted);font-size:13px;line-height:1.6}
#booking-payment .checkout-status[data-checking=true]{border-color:transparent;background:transparent;padding:16px 0}
#booking-payment .checkout-status[data-checking=true]>.icon{display:none}
#booking-payment .checkout-status[data-checking=true]:before,#booking-payment .payment-spinner{content:'';display:block;width:20px;height:20px;margin-top:2px;border:2px solid var(--payment-line);border-top-color:var(--payment-accent);border-radius:50%;animation:payment-spin .8s linear infinite;flex-shrink:0}
#booking-payment .payment-checking-progress{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%)}
#booking-payment .payment-preparing{display:flex;align-items:center;justify-content:center;gap:10px;min-height:170px;color:var(--payment-muted);font-size:14px}
#booking-payment .payment-status-actions{display:grid;gap:4px;margin-top:20px}
#booking-payment .form-error{margin:12px 0 0;font-size:12px;line-height:1.6}
#booking-payment .checkout-retry{width:100%;min-height:44px;margin-top:16px;border:1px solid var(--payment-line);border-radius:8px;background:#fff;color:var(--payment-ink);font-size:13px}
#booking-dialog[data-step=payment][data-payment-state=complete]{width:420px}
#booking-dialog[data-step=payment][data-payment-state=complete]>.dialog-close,#booking-dialog[data-step=payment][data-payment-state=complete] .checkout-card-header{display:none}
#booking-payment .payment-confirmed{padding:12px 0 0;text-align:center}
#booking-payment .payment-confirmed-symbol{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border:1px solid var(--payment-line);border-radius:50%;background:var(--blue-soft);color:var(--payment-accent)}
#booking-payment .payment-confirmed-symbol .icon{width:28px;height:28px}
#booking-payment #payment-confirmed-title{margin:0;color:var(--payment-ink);font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.4px}
#booking-payment .payment-confirmed>p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--payment-muted)}
#booking-payment #payment-confirmed-reference{display:block;margin-top:16px;font-size:12px;line-height:1.5;color:var(--payment-muted)}
#booking-payment .checkout-finish.payment-done{margin-top:24px}
#booking-payment button:focus-visible{outline:2px solid var(--payment-accent);outline-offset:3px}
@keyframes payment-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){#booking-dialog[data-step=payment]{width:100%;max-width:530px;max-height:calc(100dvh - 12px);margin:auto auto 0;border-radius:20px 20px 0 0;border-bottom:0}#booking-dialog[data-step=payment] .booking-main{padding:20px 20px max(16px,env(safe-area-inset-bottom))}#booking-dialog[data-step=payment]>.dialog-close{top:16px;right:16px}#booking-payment #checkout-heading{font-size:18px}#booking-payment .payment-flow-steps{margin-top:16px;margin-bottom:16px}#booking-payment .payment-transfer-actions,#booking-payment .payment-form-actions{margin-inline:-20px;padding-inline:20px}#booking-dialog[data-step=payment][data-payment-state=complete]{max-width:calc(100% - 32px);margin:auto;border:1px solid var(--payment-line);border-radius:16px}#booking-payment #checkout-amount{font-size:18px}}
@media(max-width:360px){#booking-dialog[data-step=payment] .booking-main{padding-inline:16px}#booking-payment .payment-transfer-actions,#booking-payment .payment-form-actions{margin-inline:-16px;padding-inline:16px}#booking-payment .payment-order-summary{gap:10px;padding:12px}#booking-payment .payment-order-summary>div>strong{font-size:13px}#booking-payment .payment-order-summary>div>span{font-size:11px}#booking-payment #checkout-amount{font-size:17px}#booking-payment .payment-flow-steps button{padding-inline:4px;gap:4px}}
@media(prefers-reduced-motion:reduce){#booking-payment .payment-spinner,#booking-payment .checkout-status[data-checking=true]:before{animation:none;border-color:var(--payment-accent)}}
