/* Isolated homepage hero: native UI, no libraries or image downloads. */
.hero4-art.apro3d-hero{height:650px;min-width:0;isolation:isolate;overflow:visible}
.apro3d-stage{position:absolute;width:560px;height:650px;left:50%;top:50%;transform:translate(-50%,-50%);font-family:inherit;color:#fff}
.apro3d-stage:before{content:"";position:absolute;inset:45px -30px 0;background:radial-gradient(ellipse at 55% 50%,#b797ff60,transparent 66%);z-index:-1}
.apro3d-orbit{position:absolute;left:18px;top:100px;width:530px;height:450px;border:1px solid #9777d626;border-radius:50%;transform:rotate(-30deg)}
.apro3d-orbit-two{transform:rotate(38deg);width:440px;left:60px;height:560px;top:34px}
.apro3d-caption{position:absolute;top:5px;left:100px;display:flex;align-items:center;gap:9px;color:#777087;font-size:10px;font-weight:650;letter-spacing:2.5px}
.apro3d-caption>span,.apro3d-live>span{width:6px;height:6px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 0 4px #8b5cf614}
.apro3d-app{position:absolute;left:110px;top:42px;width:340px;padding:23px 21px 12px;border-radius:32px;background:linear-gradient(150deg,#30263e,#15121e 65%);border:1px solid #5d4d72;box-shadow:0 36px 65px -24px #29133d75,0 0 0 5px #30203908,inset 0 1px 0 #ffffff24;transform:rotate(-5deg);animation:apro3d-hover 8s ease-in-out infinite}
.apro3d-top{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.apro3d-brand{font-size:30px;letter-spacing:-4px;line-height:1;font-weight:750;color:#d8c6ff}.apro3d-brand>span{font-size:21px}.apro3d-avatar{margin-left:auto;width:29px;height:29px;background:#d4bfee;border-radius:50%;display:grid;place-items:center;color:#382348;font-size:10px}
.apro3d-welcome{margin:25px 0 19px}.apro3d-welcome>span{font-size:9px;color:#a69bb6;letter-spacing:1.5px}.apro3d-welcome h3{font-size:20px;letter-spacing:-.6px;color:white;line-height:1.4;margin:6px 0 3px}.apro3d-welcome h3 span{color:#c0a5ed}.apro3d-welcome p{font-size:11px;color:#a99bb7;margin:0}
.apro3d-balance{padding:17px 17px 12px;border:1px solid #ffffff13;border-radius:18px;background:linear-gradient(130deg,#704db84d,#35274780)}.apro3d-balance>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:#dfd4ee}.apro3d-period{font-size:9px;color:#bfb0d1}.apro3d-balance>strong{display:block;font-size:36px;letter-spacing:-1.6px;font-weight:600;line-height:1.5}.apro3d-balance>strong>span{color:#a58cbf;font-size:24px}.apro3d-balance p{font-size:9px;color:#b7a7c9;margin:0}.apro3d-balance p b{color:#a7efc9;margin-right:5px;font-weight:500}.apro3d-graph{width:100%;height:91px;overflow:visible;display:block;margin-top:6px}.apro3d-trace{stroke-dasharray:380;stroke-dashoffset:380;animation:apro3d-draw 2.5s .5s ease forwards}.apro3d-axis{display:flex;justify-content:space-between;font-size:8px;color:#aa98bf;letter-spacing:1px}
.apro3d-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 20px}.apro3d-stats>div{padding:12px;background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px}.apro3d-stats>div>span{display:block;font-size:10px;color:#b5a9c1}.apro3d-stats strong{display:block;margin-top:3px;font-size:22px;font-weight:550}.apro3d-stats small{font-size:9px;color:#b9eccd;margin-left:5px}.apro3d-stats>div:last-child small{font-size:8px;color:#e4c19b}
.apro3d-activity-head{display:flex;justify-content:space-between;font-size:10px;align-items:center}.apro3d-activity-head>span{color:#b8a0d5;font-size:9px}.apro3d-appointment{display:flex;align-items:center;gap:8px;padding:14px 0 17px}.apro3d-initial{display:grid;place-items:center;width:31px;height:31px;background:#554965;border-radius:10px;font-size:10px;color:#e1d2f0}.apro3d-appointment b{font-size:10px;display:block}.apro3d-appointment small{font-size:9px;display:block;color:#aa9cb8;margin-top:3px}.apro3d-booked{margin-left:auto;background:#97e8ba10;color:#ace8c4;font-size:8px;padding:4px 7px;border-radius:5px}.apro3d-nav{border-top:1px solid #ffffff0d;padding:11px 0 0;display:flex;justify-content:space-around;color:#857591;text-align:center;font-size:17px}.apro3d-nav small{display:block;font-size:8px;margin-top:2px}.apro3d-nav .apro3d-selected{color:#d3b5ff}
.apro3d-float{position:absolute;color:#241835;background:#ffffffed;border:1px solid #fff;border-radius:18px;box-shadow:0 20px 50px -16px #3e205644,0 2px 6px #45285d08;backdrop-filter:blur(16px)}
.apro3d-payment{top:126px;left:280px;width:266px;display:flex;gap:10px;padding:16px 14px;align-items:center;animation:apro3d-enter 1s .5s both,apro3d-card-drift 7s 1.5s ease-in-out infinite}.apro3d-check{flex-shrink:0;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e5f7ee;color:#249969;font-size:19px}.apro3d-payment small{display:block;font-size:8px;letter-spacing:1.25px;color:#7a7385}.apro3d-payment strong{display:block;font-size:11px;margin:5px 0}.apro3d-payment p{font-size:12px;font-weight:650;margin:0}.apro3d-payment p span{color:#91889b;font-size:9px;font-weight:400}.apro3d-now{position:absolute;right:12px;top:12px;font-size:8px;color:#99919f}
.apro3d-booking{left:6px;top:413px;width:223px;padding:17px;animation:apro3d-enter 1s .9s both,apro3d-card-drift 9s 1.9s ease-in-out infinite}.apro3d-booking-top{display:flex;gap:10px;align-items:center}.apro3d-calendar{border:1px solid #e6dced;border-top:5px solid #9870d8;border-radius:8px;display:grid;place-items:center;width:34px;height:38px;font-size:18px;font-weight:650}.apro3d-booking-top>span:nth-child(2){font-size:9px;color:#8d8198}.apro3d-booking-top b{display:block;font-size:13px;color:#322242;margin-top:3px}.apro3d-booking-top i{margin-left:auto;color:#976bc6;font-style:normal}.apro3d-booking-bottom{margin-top:15px;padding-top:13px;border-top:1px solid #eee8f2;display:flex;gap:8px;align-items:center;font-size:10px}.apro3d-mini-avatar{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#ede3f9;color:#75558f;font-size:8px}.apro3d-booking-bottom small{display:block;font-size:9px;color:#95879f;margin-top:3px}.apro3d-booking-bottom>b{margin-left:auto;font-size:14px;color:#75509f}.apro3d-live{position:absolute;bottom:0;left:146px;color:#80748e;display:flex;align-items:center;gap:9px;font-size:10px}.apro3d-live>span{background:#43a77a;box-shadow:0 0 0 4px #43a77a12}
@keyframes apro3d-hover{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-10px) rotate(-3deg)}}@keyframes apro3d-card-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes apro3d-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes apro3d-draw{to{stroke-dashoffset:0}}
@media(min-width:901px) and (max-width:1150px){.apro3d-stage{transform:translate(-50%,-50%) scale(.83)}.hero4-art.apro3d-hero{height:580px}}
@media(max-width:900px){.hero4-art.apro3d-hero{width:100%;height:635px;margin:24px auto 0}.apro3d-stage{transform:translate(-50%,-50%) scale(.94)}}
@media(max-width:600px){.hero4-art.apro3d-hero{height:470px;margin-top:18px}.apro3d-stage{transform:translate(-50%,-50%) scale(.72)}}
@media(max-width:390px){.hero4-art.apro3d-hero{height:414px}.apro3d-stage{transform:translate(-50%,-50%) scale(.63)}}
@media(prefers-reduced-motion:reduce){.apro3d-app,.apro3d-float,.apro3d-trace{animation:none}.apro3d-trace{stroke-dashoffset:0}}
/* v2: uniquely namespaced iPhone enclosure and dimensional stage. */
.hero4-art.apro3d-hero{background:transparent;box-shadow:none;padding:0;display:block;border-radius:0;height:710px}
.apro3d-stage{height:710px;perspective:1100px}
.apro3d-stage:before{inset:80px -20px 40px;background:radial-gradient(ellipse at 58% 50%,#aa7ffb55,transparent 62%)}
.apro3d-caption{top:4px;left:142px;font-size:9px;letter-spacing:2.7px}
.apro3d-device{position:absolute;width:318px;height:628px;left:130px;top:40px;transform-style:preserve-3d;transform:rotateX(6deg) rotateY(-15deg) rotateZ(-7deg);border-radius:53px;background:linear-gradient(115deg,#e8e4ed 0%,#756d80 8%,#25212d 16%,#ada3b8 48%,#3e3646 80%,#e6dfea);padding:7px;box-shadow:1px 1px 0 #f5edff,3px 2px 0 #7c7286,6px 4px 0 #52495c,9px 6px 0 #302936,12px 8px 0 #8a8095,14px 10px 0 #494050,22px 33px 35px -12px #27163855,40px 55px 70px -35px #42245d88;animation:apro3d-phone-float 9s ease-in-out infinite}
.apro3d-device:after{content:"";position:absolute;inset:2px;border-radius:51px;box-shadow:inset 0 1px 2px #ffffffb0,inset 1px 0 1px #ffffff60;pointer-events:none}
.apro3d-app{position:relative;left:auto;top:auto;width:100%;height:100%;padding:0 18px 16px;border:5px solid #08070c;border-radius:47px;overflow:hidden;display:block;transform:none;animation:none;background:radial-gradient(ellipse at 90% 8%,#3e2c53,transparent 50%),linear-gradient(155deg,#221c2e,#100e17);box-shadow:inset 0 0 0 1px #574765}
.apro3d-app:after{content:"";position:absolute;bottom:7px;left:calc(50% - 45px);width:90px;height:4px;background:#f4eef9;border-radius:4px}
.apro3d-status{height:48px;display:flex;justify-content:space-between;align-items:center;padding:0 5px;font-size:10px;position:relative;margin-bottom:8px}.apro3d-status>b{font-size:11px;font-weight:600}.apro3d-status>span:last-child{font-size:10px;letter-spacing:1px}
.apro3d-island{position:absolute;width:84px;height:24px;top:8px;left:calc(50% - 42px);border-radius:20px;background:#030205;box-shadow:0 1px 0 #ffffff06}.apro3d-island:after{content:"";position:absolute;right:9px;top:8px;width:8px;height:8px;background:radial-gradient(circle at 35% 30%,#383154,#090715 65%);border:1px solid #191526;border-radius:50%}
.apro3d-button{position:absolute;width:3px;background:linear-gradient(#b3a6c1,#554b60);border-radius:3px;left:-2px}.apro3d-volume{top:142px;height:54px}.apro3d-power{left:auto;right:-9px;top:167px;height:68px;transform:translateZ(-5px)}
.apro3d-top{font-size:12px}.apro3d-brand{font-size:28px}.apro3d-welcome{margin:19px 0 16px}.apro3d-welcome h3{font-size:18px;white-space:nowrap}.apro3d-welcome p{font-size:10px}.apro3d-balance{padding:14px 13px 10px}.apro3d-balance>strong{font-size:33px}.apro3d-graph{height:86px}.apro3d-stats{margin:12px 0 17px}.apro3d-stats>div{padding:10px}.apro3d-stats strong{font-size:21px}.apro3d-stats small{font-size:8px;margin-left:3px}.apro3d-nav{padding-top:9px}.apro3d-appointment{padding:13px 0}
.apro3d-payment{top:164px;left:321px;width:222px;padding:14px 12px;gap:8px;transform:translateZ(50px);background:#fffffff5}.apro3d-payment strong{font-size:10px}.apro3d-payment small{font-size:7px}.apro3d-payment .apro3d-check{width:30px;height:30px}.apro3d-payment .apro3d-now{top:9px;right:9px;font-size:7px}
.apro3d-booking{left:5px;top:451px;width:216px;background:#fffffffa}.apro3d-live{bottom:0;left:144px;font-size:9px}.apro3d-orbit{top:143px;height:410px;border-color:#916bc924}.apro3d-orbit-two{top:70px;height:565px;border-color:#916bc916}
.apro3d-trace{animation:apro3d-live-chart 8s ease-in-out infinite;stroke-dasharray:380;stroke-dashoffset:0}
@keyframes apro3d-live-chart{0%,8%{stroke-dashoffset:380;opacity:.3}38%,90%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes apro3d-phone-float{0%,100%{transform:translateY(0) rotateX(6deg) rotateY(-15deg) rotateZ(-7deg)}50%{transform:translateY(-12px) rotateX(3deg) rotateY(-9deg) rotateZ(-5deg)}}
@media(min-width:901px) and (max-width:1150px){.hero4-art.apro3d-hero{height:620px}.apro3d-stage{transform:translate(-50%,-50%) scale(.83)}}
@media(max-width:900px){.hero4-art.apro3d-hero{height:690px}.apro3d-stage{transform:translate(-50%,-50%) scale(.94)}}
@media(max-width:600px){.hero4-art.apro3d-hero{height:515px}.apro3d-stage{transform:translate(-50%,-50%) scale(.72)}}
@media(max-width:390px){.hero4-art.apro3d-hero{height:451px}.apro3d-stage{transform:translate(-50%,-50%) scale(.63)}}
@media(prefers-reduced-motion:reduce){.apro3d-device,.apro3d-trace{animation:none}.apro3d-trace{stroke-dashoffset:0;opacity:1}}
/* Keep the full app interface within the device safe area. */
.apro3d-welcome{margin:13px 0 12px}.apro3d-welcome h3{margin:4px 0 2px;line-height:1.3}.apro3d-welcome>span{font-size:8px}.apro3d-balance>strong{line-height:1.35}.apro3d-graph{height:73px}.apro3d-stats{margin:10px 0 13px}.apro3d-stats>div{padding:9px}.apro3d-stats strong{line-height:1.3}.apro3d-appointment{padding:10px 0 12px}.apro3d-nav{line-height:1.2}.apro3d-nav small{line-height:1.3}
/* Appro identity and detailed dashboard, with an explicit screen safe area. */
.apro3d-logo{display:block;width:32px;height:32px;object-fit:contain;padding:6px;border-radius:10px;background:linear-gradient(145deg,#ad86f1,#7751b9);box-shadow:inset 0 1px 0 #ffffff55}
.apro3d-wordmark{font-size:23px;font-weight:650;letter-spacing:-1px;line-height:1}.apro3d-wordmark>span{display:block;font-size:6px;letter-spacing:1.7px;color:#b9a8cf;margin-top:5px;font-weight:500}
.apro3d-app{display:flex;flex-direction:column;gap:0;padding-bottom:21px}.apro3d-app>*{flex-shrink:0}.apro3d-status{height:42px;margin-bottom:7px}.apro3d-top{height:32px}.apro3d-welcome{margin:14px 0 12px}.apro3d-welcome>span{display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.1px}.apro3d-online{font-size:6px;font-style:normal;color:#a8efce;letter-spacing:1px}.apro3d-online:before{content:"";display:inline-block;background:#8ae1b6;width:4px;height:4px;border-radius:50%;margin-right:4px;box-shadow:0 0 6px #8ae1b680}.apro3d-welcome h3{font-size:17px;margin-top:7px}.apro3d-welcome p{font-size:9px}
.apro3d-balance{padding:12px 12px 9px}.apro3d-balance>strong{font-size:31px;line-height:1.35}.apro3d-graph{height:58px;margin-top:5px}.apro3d-chart-label{display:flex;justify-content:space-between;font-size:7px;color:#ad9bbd;margin:4px 0 9px}.apro3d-chart-label b{font-weight:500;color:#c5e6d0}.apro3d-axis{font-size:7px}
.apro3d-target{margin-top:12px;position:relative}.apro3d-target>span{display:flex;justify-content:space-between;font-size:8px;color:#b7a8c7}.apro3d-target b{color:#e5d9ef;font-size:8px;font-weight:500}.apro3d-target>i{display:block;height:4px;background:#ffffff10;border-radius:9px;margin:6px 0 3px;overflow:hidden}.apro3d-target em{display:block;width:86%;height:100%;background:linear-gradient(90deg,#875cc5,#dcc2ff);border-radius:9px;transform-origin:left;animation:apro3d-progress 2.3s ease-out both}.apro3d-target small{display:block;text-align:right;font-size:7px;color:#a998bb}
.apro3d-stats{margin:9px 0 12px;gap:8px}.apro3d-stats>div{padding:8px 9px}.apro3d-stats>div>span{font-size:8px}.apro3d-stats strong{font-size:19px;line-height:1.25}.apro3d-stats small{font-size:7px}.apro3d-activity-head{font-size:9px}.apro3d-activity-head>span{font-size:8px}.apro3d-appointment{padding:9px 0;gap:7px}.apro3d-initial{width:26px;height:26px;font-size:8px;border-radius:8px}.apro3d-appointment b{font-size:9px}.apro3d-appointment small{font-size:8px}.apro3d-booked{font-size:7px}.apro3d-second{border-top:1px solid #ffffff08}.apro3d-second .apro3d-initial{background:#34483f;color:#cce2d5}.apro3d-nav{margin-top:auto;padding-top:9px;font-size:16px}.apro3d-nav small{font-size:7px}
/* The reflection and cast shadow share the handset's nine-second light cycle. */
.apro3d-app:before{content:"";pointer-events:none;position:absolute;inset:0;z-index:5;border-radius:42px;background:linear-gradient(112deg,transparent 20%,#ffffff08 40%,#ffffff16 48%,#ffffff04 56%,transparent 73%);background-size:220% 100%;animation:apro3d-glass 9s ease-in-out infinite;mix-blend-mode:screen}
.apro3d-device{animation:apro3d-real-float 9s cubic-bezier(.45,0,.55,1) infinite;will-change:transform}
.apro3d-device:after{background:linear-gradient(110deg,#ffffff12,transparent 12%,transparent 86%,#e9ddff20);animation:apro3d-edge-light 9s ease-in-out infinite}
.apro3d-ground-shadow{position:absolute;left:140px;bottom:19px;width:290px;height:32px;background:radial-gradient(ellipse,#35204038,transparent 68%);filter:blur(9px);transform:rotate(-7deg);animation:apro3d-shadow 9s ease-in-out infinite}
.apro3d-payment{animation:apro3d-enter 1s .5s both,apro3d-front-card 9s ease-in-out infinite;transform-origin:center}.apro3d-booking{animation:apro3d-enter 1s .9s both,apro3d-rear-card 9s ease-in-out infinite}
/* Draw chart once, then keep the complete data visible. */
.apro3d-trace{animation:apro3d-draw 2.8s .2s ease-out both;stroke-dashoffset:380}.apro3d-graph>path:first-of-type{animation:apro3d-area-reveal 2.8s .2s ease-out both}
@keyframes apro3d-area-reveal{from{opacity:0}to{opacity:1}}@keyframes apro3d-progress{from{transform:scaleX(.05)}to{transform:scaleX(1)}}
@keyframes apro3d-real-float{0%,100%{transform:translate3d(0,0,0) rotateX(5deg) rotateY(-15deg) rotateZ(-7deg)}50%{transform:translate3d(3px,-11px,12px) rotateX(2deg) rotateY(-8deg) rotateZ(-5deg)}}
@keyframes apro3d-glass{0%,100%{background-position:100% 0;opacity:.4}50%{background-position:15% 0;opacity:.8}}
@keyframes apro3d-edge-light{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes apro3d-shadow{0%,100%{transform:translateX(0) rotate(-7deg) scale(1);opacity:.8}50%{transform:translateX(5px) rotate(-5deg) scale(.91);opacity:.5}}
@keyframes apro3d-front-card{0%,100%{transform:translate3d(0,0,30px) rotateY(-5deg) rotateX(2deg)}50%{transform:translate3d(3px,-7px,42px) rotateY(-1deg) rotateX(-1deg)}}
@keyframes apro3d-rear-card{0%,100%{transform:translate3d(0,0,14px) rotateY(6deg) rotateZ(-2deg)}50%{transform:translate3d(-2px,-5px,22px) rotateY(3deg) rotateZ(-1deg)}}
@media(prefers-reduced-motion:reduce){.apro3d-device,.apro3d-device:after,.apro3d-app:before,.apro3d-ground-shadow,.apro3d-payment,.apro3d-booking,.apro3d-target em,.apro3d-trace,.apro3d-graph>path:first-of-type{animation:none}.apro3d-trace{stroke-dashoffset:0}.apro3d-target em{transform:none}}
/* Compact vertical rhythm preserves both appointments and bottom navigation. */
.apro3d-welcome{margin:10px 0 9px}.apro3d-graph{height:48px}.apro3d-chart-label{margin:3px 0 6px}.apro3d-target{margin-top:9px}.apro3d-stats{margin:7px 0 9px}.apro3d-appointment{padding:7px 0}
/* v4: bounded app content, with a reserved navigation and home-indicator area. */
.apro3d-app{box-sizing:border-box;display:grid;grid-template-rows:42px 32px 62px 155px 36px 58px 16px 40px 40px;row-gap:4px;align-content:start;padding:0 18px 76px;min-height:0}
.apro3d-app>div{min-height:0;margin-top:0;margin-bottom:0;box-sizing:border-box}
.apro3d-welcome{display:flex;flex-direction:column;justify-content:center}
.apro3d-balance{padding:10px 12px 8px}.apro3d-balance>strong{line-height:1.25}.apro3d-graph{height:43px}.apro3d-chart-label{margin:2px 0 5px}
.apro3d-target{display:flex;flex-direction:column;justify-content:center}.apro3d-target>i{flex-shrink:0;margin:5px 0 2px}
.apro3d-stats{align-self:stretch}.apro3d-stats>div{padding:7px 9px}.apro3d-stats strong{margin-top:2px}
.apro3d-activity-head{align-self:end}.apro3d-appointment{padding:5px 0}
.apro3d-app>.apro3d-nav{position:absolute;left:18px;right:18px;bottom:25px;height:44px;margin:0;padding:8px 0 0;display:flex;align-items:flex-start;background:#100e17;z-index:3}
.apro3d-nav>span{flex:1;line-height:17px}.apro3d-nav small{margin-top:2px;line-height:11px}.apro3d-app:after{bottom:9px;z-index:6}
/* Smaller complete composition, including both cards and animation clearance. */
.hero4-art.apro3d-hero{height:540px;margin:0;width:100%}
.apro3d-stage{transform:translate(-50%,-50%) scale(.72)}
@media(min-width:901px){.hero4-panel{min-height:0;padding-top:24px;padding-bottom:24px}}
@media(min-width:901px) and (max-height:800px){.hero4-art.apro3d-hero{height:474px}.apro3d-stage{transform:translate(-50%,-50%) scale(.64)}}
@media(min-width:901px) and (max-width:1100px){.apro3d-stage{transform:translate(-50%,-50%) scale(.62)}.hero4-art.apro3d-hero{height:464px}}
@media(max-width:900px){.hero4-art.apro3d-hero{height:500px;margin:12px auto 0}.apro3d-stage{transform:translate(-50%,-50%) scale(.67)}}
@media(max-width:600px){.hero4-art.apro3d-hero{height:422px}.apro3d-stage{transform:translate(-50%,-50%) scale(.56)}}
@media(max-width:390px){.hero4-art.apro3d-hero{height:384px}.apro3d-stage{transform:translate(-50%,-50%) scale(.50)}}
/* v5: fill the opening viewport, with art sized to its actual column. */
@media(min-width:901px){
 .hero4-panel{min-height:calc(100svh - 128px);padding-top:24px;padding-bottom:24px;grid-template-columns:1fr 1.05fr;gap:1.2rem}
 .hero4-art.apro3d-hero{height:clamp(520px,calc(100svh - 180px),740px);container-type:size}
 .apro3d-stage{transform:translate(-50%,-50%) scale(.88)}
 .apro3d-stage{transform:translate(-50%,-50%) scale(var(--apro3d-fit,.88))}
}
@media(min-width:901px) and (max-height:740px){
 .hero4-panel{padding-top:18px;padding-bottom:18px}
 .hero4-art.apro3d-hero{height:clamp(450px,calc(100svh - 156px),584px)}
}
@media(max-width:900px){.hero4-art.apro3d-hero{height:590px}.apro3d-stage{transform:translate(-50%,-50%) scale(.80)}}
@media(max-width:600px){.hero4-art.apro3d-hero{height:474px}.apro3d-stage{transform:translate(-50%,-50%) scale(.64)}}
@media(max-width:390px){.hero4-art.apro3d-hero{height:414px}.apro3d-stage{transform:translate(-50%,-50%) scale(.56)}}
/* Mobile fix: explicit single-column flow, no intrinsic desktop grid track. */
@media(max-width:900px){
 .hero4-panel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:24px;min-height:0}
 .hero4-copy{grid-column:1;grid-row:1;min-width:0;width:100%;max-width:100%}
 .hero4-art.apro3d-hero{grid-column:1;grid-row:2;position:relative;inset:auto;min-width:0;width:100%;max-width:560px;height:auto;aspect-ratio:560 / 740;margin:0 auto;container-type:normal;transform:none;isolation:isolate}
 .apro3d-stage{left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--apro3d-fit,.7));transform-origin:50% 50%}
 .hero4-panel::before{display:none}
 .hero4 h1,.hero4-sub,.hero4-proof{max-width:100%;overflow-wrap:break-word}
 .hero4-pill{max-width:100%;white-space:normal}
 .hero4-proof{display:flex;flex-wrap:wrap}
}
@media(max-width:760px){
 .hero4-panel{padding:24px 18px 16px;gap:24px}
 .hero4 h1{font-size:clamp(2rem,8.7vw,2.7rem);line-height:1.08;letter-spacing:-.045em}
 .hero4-sub{font-size:1rem;line-height:1.65}
 .hero4-pill{font-size:.75rem;line-height:1.5;padding:8px 10px}
 .hero4 .hero-ctas{width:100%;min-width:0}
 .hero4 .hero-ctas>a{min-width:0;max-width:100%}
 .hero4-proof{gap:8px 14px}
 .hero4-proof li{font-size:.78rem}
 .apro3d-stage{transform:translate(-50%,-50%) scale(var(--apro3d-fit,.6))}
 .mobile-sticky{visibility:hidden;opacity:0;pointer-events:none;bottom:calc(12px + env(safe-area-inset-bottom,0px));transition:opacity .2s ease}
 .mobile-sticky.is-past-hero{visibility:visible;opacity:1;pointer-events:auto}
}
@media(max-width:390px){.apro3d-stage{transform:translate(-50%,-50%) scale(var(--apro3d-fit,.52))}}
@media(max-width:350px){.apro3d-stage{transform:translate(-50%,-50%) scale(var(--apro3d-fit,.44))}}
