/* Six distinct visual stories. Components are decorative, authored interface studies. */
.project-visual[class*="scene-"]{container-type:inline-size;font-family:Archivo,Arial,sans-serif;text-align:left}
.pv-scene-content{position:absolute;inset:0;overflow:hidden;color:#f8f7f2}
.pv-scene-content *{box-sizing:border-box}
.pv-scene-content svg{display:block}
.pv-brand-line{position:absolute;z-index:6;top:6.5%;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(8px,1.65cqw,13px);letter-spacing:1.7px}
.pv-brand-line>span:first-child{display:flex;gap:8px;align-items:center;white-space:nowrap}
.pv-brand-line svg{width:1.1em;height:1.1em}
.pv-brand-line>span:last-child,.pv-mini,.pv-caption{font-family:'JetBrains Mono',monospace;font-size:clamp(5px,1.02cqw,10px);letter-spacing:.06em;line-height:1.5}
.pv-caption{position:absolute;bottom:5.5%;left:5%;z-index:6;font-size:clamp(4.5px,.9cqw,9px);opacity:.8;letter-spacing:.025em}
.pv-corner-arrow{position:absolute;right:5%;bottom:4.5%;font-size:clamp(16px,3cqw,30px);line-height:1;z-index:6}
.pv-stage{position:absolute;inset:16% 5% 13%;font-size:clamp(8px,1.5cqw,17px)}
.pv-primary,.pv-secondary{transition:transform .8s cubic-bezier(.2,.65,.2,1),box-shadow .8s cubic-bezier(.2,.65,.2,1)}
.pv-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.55)}
.pv-photo-shade{position:absolute;inset:0}
.pv-floating-note{position:absolute;display:inline-flex;align-items:center;background:#fcfaf4;color:#313b32;box-shadow:0 12px 24px #0002;padding:1.3cqw 2cqw;border-radius:3px;font-size:clamp(6px,1.25cqw,14px);white-space:nowrap}
.pv-ui-title{font-size:clamp(12px,2.65cqw,30px);line-height:1.15;letter-spacing:-.05em}
.pv-ui-title small{display:block;font-size:.42em;letter-spacing:0;line-height:2.2;color:#777a71}
.pv-barcode{height:2.8cqw;min-height:10px;max-height:34px;background:repeating-linear-gradient(90deg,#171b18 0 2px,transparent 2px 4px,#171b18 4px 5px,transparent 5px 8px,#171b18 8px 12px,transparent 12px 14px,#171b18 14px 15px,transparent 15px 18px);width:100%}
/* A countertop terminal and tactile receipt, against the actual cafe environment. */
.scene-pos .pv-backdrop{object-position:50% 65%;filter:saturate(.5) blur(1px);transform:scale(1.02)}
.scene-pos .pv-photo-shade{background:linear-gradient(100deg,#291f16b8,#55412660 58%,#281b0b90)}
.pv-terminal{position:absolute;left:1%;top:13%;width:75%;height:76%;background:#f3f1e9;border:clamp(5px,1.2cqw,13px) solid #222725;border-radius:10px;color:#222b25;box-shadow:0 20px 30px #0005;transform:perspective(1100px) rotateY(8deg) rotateX(2deg) rotate(-3deg);overflow:hidden;z-index:2}
.pv-terminal-top{height:16%;display:flex;justify-content:space-between;align-items:center;padding:0 3%;background:#e7e7dc;border-bottom:1px solid #d2d5c7;font-size:.65em}
.pv-terminal-top>span{display:flex;align-items:center;gap:5px}
.pv-terminal-top svg{width:1em;height:1em}
.pv-terminal-top i{font-style:normal;color:#578766;font-size:.85em}
.pv-pos-content{height:84%;display:grid;grid-template-columns:1.3fr 1fr;gap:4%;padding:4%}
.pv-pos-menu{min-width:0}.pv-food-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:4%;height:67%}
.pv-food-grid>div{position:relative;background:#e5dacc;border-radius:3px;padding:5% 7%;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.pv-food-grid>div:nth-child(2){background:#ecdfc1}.pv-food-grid>div:nth-child(3){background:#d7ded5}.pv-food-grid>div:nth-child(4){background:#e4d7bf}
.pv-food{position:absolute;right:4%;top:1%;color:#85573c;font-size:clamp(13px,3.7cqw,40px);line-height:1;opacity:.9;transform:rotate(-15deg)}
.pv-food-grid b{font-size:.64em;position:relative}.pv-food-grid small{font-size:.54em;color:#797368}
.pv-pos-order{border-left:1px solid #d4d7cc;padding-left:10%;display:flex;flex-direction:column;min-width:0}
.pv-pos-order>.pv-mini{font-size:.5em;color:#8b8c82}.pv-pos-order>strong{font-size:1.08em;margin:4% 0 14%;font-weight:500}
.pv-pos-order p{font-size:.56em;display:flex;justify-content:space-between;gap:6px;margin-bottom:10%}
.pv-pos-total{margin-top:auto;border-top:1px solid #d4d7cc;padding-top:9%;display:flex;align-items:center;justify-content:space-between}.pv-pos-total small{font-size:.5em}.pv-pos-total>b{font-size:1.3em;font-weight:500}
.pv-action{background:#35664c;color:white;padding:9% 5%;text-align:center;margin-top:9%;font-size:.55em;border-radius:2px}
.pv-pos-stand{position:absolute;left:27%;top:80%;width:26%;height:20%;background:linear-gradient(100deg,#323935,#8b918a,#242c26);clip-path:polygon(35% 0,65% 0,73% 76%,100% 85%,100% 100%,0 100%,0 85%,27% 76%);filter:drop-shadow(0 6px 5px #0005)}
.pv-receipt{position:absolute;right:1%;top:6%;width:25%;min-height:79%;padding:5% 2.6% 4%;background:#fffcf1;color:#4b463c;z-index:3;transform:rotate(7deg);box-shadow:8px 18px 35px #0004;clip-path:polygon(0 0,100% 0,100% 100%,95% 98%,90% 100%,85% 98%,80% 100%,75% 98%,70% 100%,65% 98%,60% 100%,55% 98%,50% 100%,45% 98%,40% 100%,35% 98%,30% 100%,25% 98%,20% 100%,15% 98%,10% 100%,5% 98%,0 100%)}
.pv-receipt-brand{display:block;text-align:center;font-size:1.55em;letter-spacing:-.08em}.pv-receipt>.pv-mini{display:block;text-align:center;font-size:.35em;margin:6% -5% 0}.pv-receipt-rule{margin:13% 0;border-top:1px dashed #aaa393}
.pv-receipt p{font-family:monospace;font-size:.48em;margin:11% 0;display:flex;justify-content:space-between;white-space:nowrap}.pv-receipt>strong{display:flex;justify-content:space-between;font-family:monospace;font-size:.75em}.pv-receipt .pv-barcode{margin-top:16%;height:2.3cqw}.pv-receipt>small{display:block;text-align:center;font-size:.37em;margin-top:8%}
.pv-pos-note{left:5%;bottom:-1%;z-index:4;transform:rotate(-2deg)}
/* CRM: a human conversation on mobile, with follow-ups arranged around it. */
.scene-crm{background:#ced9c0}.scene-crm .pv-scene-content{color:#254333;background:radial-gradient(ellipse at 80% 30%,#e6ebdb,#b5c9a6)}
.pv-crm-orbit{position:absolute;width:80%;aspect-ratio:1;border:1px solid #72895b38;border-radius:50%;left:45%;top:13%;box-shadow:0 0 0 45px #98b08610,0 0 0 90px #98b08610}
.pv-crm-word{position:absolute;top:3%;left:43%;font-size:clamp(24px,7.3cqw,78px);font-weight:500;line-height:.95;letter-spacing:-.065em;color:#55714b45}
.pv-phone{position:absolute;left:11%;top:-3%;width:32%;height:109%;border:clamp(4px,.75cqw,8px) solid #242d24;border-radius:clamp(16px,3.5cqw,35px);background:#fafbf5;box-shadow:14px 20px 26px #3b4c3930;overflow:hidden;transform:rotate(-7deg);color:#293e2b;z-index:3}
.pv-phone-notch{position:absolute;width:31%;height:3%;border-radius:0 0 9px 9px;background:#242d24;left:34.5%;top:0}.pv-phone-top{display:flex;justify-content:space-between;padding:6% 8% 7%;font-size:.5em;font-weight:600}
.pv-conversation-person{display:flex;align-items:center;gap:5%;padding:5% 7% 8%;border-bottom:1px solid #e3e7db}.pv-avatar{width:2.7em;height:2.7em;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#d1ddc6;font-size:.65em;flex-shrink:0}.pv-conversation-person>div{flex:1}.pv-conversation-person b{display:block;font-size:.62em}.pv-conversation-person small{display:block;font-size:.4em;color:#819079;white-space:nowrap}.pv-conversation-person>span:last-child{font-size:.7em}
.pv-chat{padding:5% 6%;font-size:.66em;display:flex;flex-direction:column;gap:.8em}.pv-chat-day{font-size:.5em;text-align:center;color:#87907c;letter-spacing:.1em;margin:3% 0}.pv-chat p{max-width:90%;padding:7% 8%;line-height:1.5;border-radius:9px;background:#ebeee4}.pv-chat small{display:block;font-size:.58em;text-align:right;margin-top:5%;color:#85967c}.pv-chat .pv-chat-out{margin-left:auto;background:#d6e5c9}.pv-chat-file{margin-left:auto;width:90%;display:flex;align-items:center;gap:8%;padding:8%;border:1px solid #d0dec5;border-radius:7px;background:#e8efdf}.pv-chat-file>span{font-size:1.6em;color:#507242}.pv-chat-file>div{flex:1}.pv-chat-file b{font-size:.75em}.pv-chat-file small{text-align:left;font-size:.56em;margin-top:4%}.pv-chat-file i{font-style:normal}.pv-chat-input{position:absolute;bottom:5%;left:6%;right:6%;background:#ecefe4;border-radius:30px;padding:5% 8%;font-size:.58em;color:#8b9981;display:flex;align-items:center;justify-content:space-between}.pv-chat-input>span{background:#416840;color:white;border-radius:50%;width:1.7em;height:1.7em;display:grid;place-items:center}
.pv-crm-pipeline{position:absolute;left:49%;right:2%;top:38%;z-index:2;transform:rotate(3deg)}.pv-crm-pipeline>.pv-mini{font-size:.53em;display:block;margin:0 0 5% 3%;color:#5c7450}.pv-pipeline-card{display:flex;align-items:center;gap:7%;padding:7% 6%;background:#f8fbef;border:1px solid #ffffffb5;border-radius:6px;box-shadow:0 10px 24px #52734319;margin-bottom:5%}.pv-pipeline-card>div{flex:1}.pv-pipeline-card small{display:block;font-size:.42em;letter-spacing:.06em;color:#75816b}.pv-pipeline-card b{display:block;font-size:.8em;font-weight:500;margin-top:4%}.pv-pipeline-card>span:last-child{font-size:.9em;color:#789266}.pv-pipeline-dot{width:8px;height:8px;border-radius:50%;background:#709266;box-shadow:0 0 0 5px #e5ecd9;flex-shrink:0}.pv-dot-amber{background:#ae8f4f;box-shadow:0 0 0 5px #f1ebd8}.pv-crm-saved{display:flex;align-items:center;gap:5%;margin:7% 0 0 6%;font-size:.8em}.pv-crm-saved>span{background:#587750;color:#eef4e7;border-radius:50%;width:2em;height:2em;display:grid;place-items:center}.pv-crm-saved b{font-size:.9em;font-weight:500}.pv-crm-saved small{display:block;font-size:.66em;margin-top:3%;color:#728365}
/* Hotel: physical room key and architectural floor grid. */
.scene-hotel .pv-backdrop{filter:saturate(.4);object-position:50% 55%}.scene-hotel .pv-photo-shade{background:linear-gradient(100deg,#173039bb,#183e46a3)}
.pv-hotel-key{position:absolute;top:3%;left:6%;width:31%;height:90%;border-radius:10px;background:#d9bc87;color:#253e41;box-shadow:10px 15px 28px #06191d66;transform:rotate(-10deg);z-index:3;padding:9% 3.5% 4%;border:1px solid #f4ddac99;background-image:linear-gradient(130deg,#ead4a6 0%,#c4a773 80%)}
.pv-key-hole{position:absolute;top:7%;left:38%;width:24%;height:3%;border-radius:20px;background:#254348;box-shadow:inset 0 1px 3px #0009}.pv-hotel-key>.pv-mini{font-size:.5em;letter-spacing:.15em;display:block;text-align:center}.pv-hotel-key>strong{display:block;font-size:clamp(40px,10cqw,120px);line-height:1.1;font-weight:400;letter-spacing:-.09em;text-align:center;margin-top:8%}.pv-key-type{display:block;font-size:.43em;text-align:center;letter-spacing:.1em;border-top:1px solid #344b4526;padding-top:12%;margin-top:4%;white-space:nowrap}.pv-key-bottom{position:absolute;left:13%;bottom:9%;font-size:1.6em;letter-spacing:-.07em}.pv-key-bottom>span{display:block;font-size:.24em;letter-spacing:.12em;margin-top:5%}
.pv-hotel-board{position:absolute;right:0;top:11%;width:64%;height:83%;background:#f1f2e9;color:#253e41;padding:5%;border-radius:3px;box-shadow:0 20px 40px #001c2466;transform:rotate(3deg);z-index:2}
.pv-hotel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:7%}.pv-hotel-heading .pv-mini{font-size:.42em;display:block;color:#6c817c}.pv-hotel-heading strong{font-size:1.62em;letter-spacing:-.045em;font-weight:500;display:block;margin-top:3%}.pv-hotel-heading>span{font-size:1.4em}
.pv-floor-label{display:flex;justify-content:space-between;font-size:.45em;letter-spacing:.07em;border-bottom:1px solid #cfd9cc;padding-bottom:4%;margin-bottom:5%;color:#6b7a6e}.pv-floor-label>span{font-size:.8em;color:#7c9172}.pv-hotel-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:6% 3%;height:45%}.pv-room{position:relative;border:1px solid #c6d4c2;background:#e1e8db;padding:9% 12%;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.pv-room b{font-size:1.22em;font-weight:500}.pv-room small{font-size:.46em;color:#6d8764;margin-top:5%}.pv-room-door{position:absolute;right:8%;top:12%;width:19%;height:27%;border:1px solid #9db298;border-left:0;border-radius:0 80% 0 0}.pv-room-busy{background:#dce5e6;border-color:#bdced0}.pv-room-busy small{color:#6b8588}.pv-room-arriving{background:#2f575b;color:#eef5e8;border-color:#2f575b}.pv-room-arriving small{color:#bfd2c7}.pv-room-cleaning{background:#eae3cd;border-color:#d6cdb2}.pv-room-cleaning small{color:#a18b5a}.pv-hotel-arrival{margin-top:7%;display:flex;align-items:center;gap:4%;font-size:.7em;padding-top:5%;border-top:1px solid #d1dbcf}.pv-hotel-arrival .pv-avatar{background:#dbe4d5}.pv-hotel-arrival>div{flex:1}.pv-hotel-arrival b{display:block;font-size:.88em;font-weight:500}.pv-hotel-arrival small{display:block;font-size:.59em;margin-top:4%;color:#788675}.pv-room-badge{border:1px solid #cad6c3;border-radius:3px;padding:5% 6%;font-size:.8em}.pv-hotel-note{bottom:-2%;left:33%;font-size:.6em;background:#edf0e0;transform:rotate(-2deg)}.pv-hotel-note>span{color:#7f996e;font-size:.8em}
/* Retail: a real object, scan label, and inventory levels. */
.scene-stock .pv-scene-content{background:#d8814b;color:#522d1b;background-image:radial-gradient(ellipse at 60% 30%,#f1b478,#cb7440)}
.pv-stock-grid{position:absolute;inset:0;background-image:linear-gradient(#7433170a 1px,transparent 1px),linear-gradient(90deg,#7433170a 1px,transparent 1px);background-size:32px 32px}
.pv-stock-word{position:absolute;top:4%;left:1%;font-size:clamp(20px,5.4cqw,62px);line-height:.95;letter-spacing:-.06em;color:#713e2575}
.pv-package{position:absolute;left:3%;bottom:1%;width:42%;height:66%;filter:drop-shadow(12px 17px 14px #78341540);transform:rotate(-7deg)}
.pv-package-front{position:absolute;top:18%;bottom:0;left:0;right:12%;background:#bd8250;border:1px solid #ba7e49;box-shadow:inset -1px 0 #d5a16e;background-image:linear-gradient(90deg,transparent 43%,#d5a06b 43%,#d5a06b 55%,transparent 55%)}
.pv-package-top{position:absolute;top:0;height:19%;left:0;right:12%;background:#dfab75;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);border-bottom:1px solid #8b5b3455}.pv-package-side{position:absolute;right:0;top:0;bottom:0;width:12.5%;background:#a6673e;clip-path:polygon(0 18%,100% 0,100% 84%,0 100%)}.pv-parcel-logo{display:flex;align-items:center;gap:4px;position:absolute;left:10%;top:9%;font-size:.55em;letter-spacing:.1em}.pv-parcel-logo svg{width:1em;height:1em}.pv-parcel-sticker{position:absolute;left:14%;right:17%;top:31%;background:#f6eedf;padding:10% 10%;transform:rotate(5deg);box-shadow:0 2px 3px #5a301929}.pv-parcel-sticker>span{display:block;font-family:monospace;font-size:.38em;letter-spacing:.1em}.pv-parcel-sticker>b{display:block;font-size:.7em;font-weight:500;letter-spacing:-.025em;margin:9% 0 13%;white-space:nowrap}.pv-parcel-sticker>small{font-family:monospace;font-size:.38em;display:block;margin-top:7%;white-space:nowrap}.pv-package-arrow{position:absolute;left:10%;bottom:9%;font-size:1.6em;line-height:1;color:#78502d}
.pv-stock-panel{position:absolute;top:3%;right:4%;width:45%;height:94%;background:#fff4dd;color:#473b26;border:1px solid #fffbdf;border-radius:7px;padding:5% 4%;box-shadow:0 25px 40px #91451c35;transform:rotate(5deg)}.pv-stock-panel>.pv-mini{font-size:.48em;letter-spacing:.1em;color:#98805b}.pv-stock-heading{display:flex;align-items:center;justify-content:space-between;margin:4% 0 10%}.pv-stock-heading strong{font-size:1.7em;letter-spacing:-.05em;font-weight:500}.pv-stock-heading>span{font-size:1.4em}.pv-scan-box{position:relative;padding:9% 11% 6%;border:1px solid #e6d8b9;border-radius:5px;background:#f2e8d2;text-align:center}.pv-scan-box .pv-barcode{height:5.2cqw;max-height:70px;opacity:.8}.pv-scan-box>span{display:block;font-family:monospace;font-size:.54em;letter-spacing:.2em;margin-top:8%}.pv-scan-box>i{position:absolute;left:5%;right:5%;height:1px;top:38%;background:#ef684a;box-shadow:0 0 8px #ff7c49cc}.pv-stock-item{display:flex;justify-content:space-between;align-items:center;margin:9% 0}.pv-stock-item b{font-weight:500;font-size:1em}.pv-stock-item small{display:block;font-size:.43em;letter-spacing:.03em;margin-top:5%;color:#988565}.pv-stock-item>strong{font-size:2.1em;line-height:1;font-weight:500;text-align:right;letter-spacing:-.05em}.pv-stock-item>strong>span{display:block;font-size:.18em;letter-spacing:.1em;line-height:2;color:#927c57}.pv-stock-meter{height:5px;background:#e5dac0;border-radius:5px}.pv-stock-meter>i{display:block;width:74%;height:100%;border-radius:5px;background:#8b9b62}.pv-stock-footer{display:flex;justify-content:space-between;margin-top:5%;font-size:.43em;color:#8b8668}.pv-stock-footer>span:last-child{color:#758252}.pv-stock-update{margin-top:9%;padding-top:7%;border-top:1px solid #e6dac2;font-size:.54em;color:#897d61}
/* Membership: a bold physical pass, activity ring and a week of movement. */
.scene-gym .pv-scene-content{color:#32283e;background:#c5b5de;background-image:radial-gradient(ellipse at 35% 5%,#e0d5ec,#b19acc)}
.pv-gym-line{position:absolute;width:100%;height:100%;background:repeating-linear-gradient(120deg,transparent 0 64px,#79648c10 65px 66px)}.pv-gym-word{position:absolute;right:1%;top:1%;font-size:clamp(25px,7.4cqw,85px);font-weight:500;letter-spacing:-.07em;line-height:.93;color:#65547726}
.pv-member-pass{position:absolute;left:2%;top:16%;width:65%;height:68%;background:#262330;color:#e9e1f1;border:1px solid #5a5068;border-radius:10px;box-shadow:7px 22px 35px #47305940;transform:rotate(-9deg);padding:5%;overflow:hidden;z-index:2}.pv-pass-top{position:relative;display:flex;justify-content:space-between;align-items:center;font-size:.52em;letter-spacing:.1em;z-index:2}.pv-pass-top>span:first-child{display:flex;align-items:center;gap:5px}.pv-pass-top svg{width:1.2em;height:1.2em}.pv-pass-top>span:last-child{font-size:.7em;letter-spacing:.05em;opacity:.55}.pv-pass-title{position:absolute;top:30%;left:8%;font-size:clamp(24px,6.2cqw,70px);line-height:.9;letter-spacing:-.065em;z-index:2}.pv-pass-bottom{position:absolute;left:8%;right:8%;bottom:10%;display:flex;justify-content:space-between;align-items:flex-end;z-index:2}.pv-pass-bottom small{display:block;font-size:.35em;letter-spacing:.13em;color:#a194ad}.pv-pass-bottom b{display:block;font-size:.8em;letter-spacing:-.01em;font-weight:400;margin-top:4%}.pv-pass-bottom>span{font-size:.45em;color:#bdb596;background:#424036;border:1px solid #64644f;padding:4% 5%;border-radius:20px}.pv-pass-stripes{position:absolute;width:50%;height:140%;right:-14%;top:-12%;background:repeating-linear-gradient(95deg,#aa92bd55 0 3px,transparent 3px 11px);transform:rotate(20deg);mask-image:linear-gradient(transparent,#000 40%,transparent)}
.pv-activity{position:absolute;width:33%;right:0;top:20%;z-index:3;text-align:center}.pv-activity-ring{position:relative;width:100%;aspect-ratio:1}.pv-activity-ring svg{position:absolute;width:100%;height:100%;transform:rotate(-90deg);filter:drop-shadow(0 4px 4px #78628925)}.pv-activity-ring circle{fill:none;stroke-width:10}.pv-ring-track{stroke:#a38bb96b}.pv-ring-fill{stroke:#f6f0dc;stroke-linecap:round;stroke-dasharray:248 308}.pv-activity-ring>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#382f43}.pv-activity-ring b{font-size:clamp(26px,7.5cqw,86px);font-weight:400;letter-spacing:-.08em;line-height:1}.pv-activity-ring span{font-family:monospace;font-size:.36em;letter-spacing:.03em;margin-top:5%}.pv-activity-label{font-size:.52em;display:block;margin-top:7%;color:#63516f}
.pv-week{position:absolute;left:11%;right:2%;bottom:-2%;display:flex;align-items:center;justify-content:space-between;background:#e9e0f0dd;border:1px solid #f3ebf6;border-radius:5px;padding:2% 4%;box-shadow:0 10px 18px #6f548321;z-index:4;transform:rotate(2deg)}.pv-week>.pv-mini{font-size:.5em;color:#786582}.pv-week>span:not(.pv-mini){text-align:center}.pv-week small{display:block;font-size:.45em;color:#a292ab;margin-bottom:5px}.pv-week b{display:grid;place-items:center;font-size:.61em;font-weight:400;width:2.1em;height:2.1em}.pv-week .pv-day-done b{border-radius:50%;background:#5b476b;color:#f9f4eb}.pv-week>i{font-size:1em;font-style:normal;color:#9a88a6}
/* ERP: connected nodes and a compact operational view, without a device frame. */
.scene-erp .pv-scene-content{background:#e2dfd5;color:#424640;background-image:radial-gradient(ellipse at 20% 50%,#f0eee7,#cfcec4)}
.pv-erp-grid{position:absolute;inset:0;background-image:radial-gradient(#79807838 .8px,transparent .8px);background-size:16px 16px;mask-image:linear-gradient(100deg,transparent,#000)}
.pv-erp-heading{position:absolute;left:2%;top:0}.pv-erp-heading>.pv-mini{font-size:.45em;color:#96988c}.pv-erp-heading strong{display:block;font-size:clamp(22px,5.4cqw,62px);letter-spacing:-.06em;font-weight:500;line-height:1.02;margin-top:3%}
.pv-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.pv-connections path{fill:none;stroke:#82907d;stroke-width:1.1;stroke-dasharray:3 4}
.pv-erp-core{position:absolute;left:4%;top:44%;width:28%;height:49%;background:#454d40;border:1px solid #626d57;border-radius:5px;box-shadow:0 16px 25px #46503c22;color:#eeefdf;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-4deg)}.pv-erp-core>svg{width:24%;height:29%;color:#d4dfb8;margin-bottom:8%}.pv-erp-core>span{font-size:.53em;letter-spacing:.1em}.pv-erp-core>small{font-size:.48em;color:#a5b098;margin-top:6%}
.pv-erp-node{position:absolute;display:flex;align-items:center;gap:10%;padding:2.5%;background:#fafbf3;border:1px solid #cfd4c4;box-shadow:0 7px 15px #5e6d4912;width:29%;height:20%;border-radius:5px;z-index:2}.pv-node-orders{left:48%;top:24%;transform:rotate(3deg)}.pv-node-stock{left:48%;top:69%;transform:rotate(-2deg)}.pv-node-finance{right:-1%;top:46%;width:26%;background:#f4f1e1;transform:rotate(3deg)}.pv-node-icon{font-size:1.35em;color:#8f9b70}.pv-erp-node>div{flex:1}.pv-erp-node small{display:block;font-size:.35em;letter-spacing:.07em;color:#9ca38d}.pv-erp-node b{display:block;font-size:.8em;line-height:1.2;font-weight:500;margin-top:7%}.pv-erp-node i{font-style:normal;font-size:.45em;color:#a6b883}
.pv-erp-chart{position:absolute;right:1%;top:-2%;width:42%;height:25%;background:#eaece1bb;padding:2.5% 3%;border:1px solid #f5f5ed;border-radius:4px;box-shadow:0 7px 14px #7581630e;display:grid;grid-template-columns:1fr 42%;gap:8%;align-items:center}.pv-erp-chart .pv-mini{font-size:.3em;display:block;color:#929983}.pv-erp-chart b{display:block;font-size:.68em;font-weight:500;letter-spacing:-.01em;white-space:nowrap;margin-top:4%}.pv-erp-chart b span{margin-left:4px;color:#8e9a77}.pv-erp-chart svg{width:100%;height:100%;overflow:visible}.pv-chart-area{fill:#9cac6928}.pv-chart-line{fill:none;stroke:#8c9b64;stroke-width:2}.pv-chart-legend{grid-column:1/-1;display:flex;justify-content:space-between;font-size:.32em;color:#969f88}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  a:hover .scene-pos .pv-terminal{transform:perspective(1100px) rotateY(4deg) rotateX(0deg) rotate(-1deg) translateY(-3px)}
  a:hover .scene-pos .pv-receipt{transform:rotate(4deg) translateY(-5px)}
  a:hover .scene-crm .pv-phone{transform:rotate(-4deg) translateY(-4px)}
  a:hover .scene-crm .pv-crm-pipeline{transform:rotate(1deg) translateY(-3px)}
  a:hover .scene-hotel .pv-hotel-key{transform:rotate(-6deg) translateY(-4px)}
  a:hover .scene-hotel .pv-hotel-board{transform:rotate(1deg) translateY(-3px)}
  a:hover .scene-stock .pv-package{transform:rotate(-4deg) translateY(-4px)}
  a:hover .scene-stock .pv-stock-panel{transform:rotate(2deg) translateY(-3px)}
  a:hover .scene-gym .pv-member-pass{transform:rotate(-6deg) translateY(-4px)}
  a:hover .scene-gym .pv-activity{transform:translateY(-4px)}
  a:hover .scene-erp .pv-erp-core{transform:rotate(-1deg) translateY(-3px)}
  a:hover .scene-erp .pv-erp-chart{transform:translateY(-3px)}
}
@container(max-width:450px){
  .pv-brand-line{letter-spacing:1px}.pv-brand-line>span:last-child{font-size:5px;letter-spacing:0}.pv-stage{inset:18% 4% 14%}
  .pv-terminal{top:22%;height:62%;width:78%;left:-1%}.pv-pos-content{padding:5%;gap:3%}.pv-receipt{width:27%;right:0;top:12%;min-height:69%;padding-top:8%}.pv-pos-stand{top:77%;height:20%}.pv-pos-note{bottom:-1%}
  .pv-phone{width:40%;left:3%;height:107%;top:-2%}.pv-crm-pipeline{left:47%;right:0;top:40%}.pv-crm-word{top:4%;left:48%;font-size:8cqw}.pv-pipeline-card{padding:12% 7%;gap:10%;margin-bottom:9%}.pv-pipeline-card b{font-size:.77em}.pv-crm-saved{margin-top:13%;font-size:.75em}.pv-pipeline-dot{width:5px;height:5px;box-shadow:0 0 0 3px #e5ecd9}.pv-chat{gap:1em}.pv-chat p{padding:9% 8%}.pv-conversation-person{padding-top:8%;padding-bottom:11%}
  .pv-hotel-key{left:1%;width:34%;height:84%;top:5%;padding-top:18%}.pv-hotel-key>strong{margin-top:22%;font-size:12cqw}.pv-key-type{font-size:.35em;padding-top:18%;margin-top:14%}.pv-key-bottom{bottom:13%;font-size:1.4em}.pv-hotel-board{width:67%;right:-1%;top:17%;height:77%;padding:6% 4%}.pv-hotel-heading strong{font-size:1.45em}.pv-hotel-rooms{height:47%;margin-top:7%}.pv-room b{font-size:1.4em}.pv-floor-label{font-size:.39em}.pv-floor-label>span{font-size:.72em}.pv-hotel-note{bottom:-3%;left:23%}
  .pv-stock-word{top:2%;font-size:6cqw;line-height:1.06}.pv-package{left:0%;width:47%;height:59%;bottom:9%}.pv-stock-panel{right:0%;width:49%;top:10%;height:84%;padding:8% 4%}.pv-stock-heading strong{font-size:1.5em}.pv-scan-box{padding-top:15%;padding-bottom:10%}.pv-stock-item{margin:16% 0}.pv-stock-update{margin-top:15%;padding-top:10%;font-size:.5em}.pv-stock-heading{margin-bottom:16%}.pv-parcel-sticker{padding:12% 8%}.pv-parcel-sticker>b{font-size:.67em}
  .pv-member-pass{left:0;top:20%;width:69%;height:62%;padding:7% 5%}.pv-pass-title{font-size:7.8cqw;top:30%}.pv-pass-top>span:last-child{font-size:.5em}.pv-pass-bottom small{font-size:.3em}.pv-pass-bottom b{font-size:.7em}.pv-pass-bottom>span{font-size:.35em}.pv-activity{width:34%;top:30%;right:-1%}.pv-activity-ring b{font-size:9cqw}.pv-activity-ring span{font-size:.3em}.pv-activity-label{font-size:.44em}.pv-gym-word{top:6%;font-size:9cqw}.pv-week{left:5%;right:0;bottom:0%;padding:4%}.pv-week>.pv-mini{font-size:.38em}
  .pv-erp-heading{top:3%;left:0}.pv-erp-heading strong{font-size:7cqw}.pv-erp-chart{top:4%;right:0%;width:43%;height:25%;padding:5% 3%;grid-template-columns:1fr;gap:9%}.pv-erp-chart svg{height:18px}.pv-erp-chart b{font-size:.6em}.pv-chart-legend{display:none}.pv-erp-core{top:47%;left:1%;width:31%;height:45%}.pv-erp-node{height:21%;padding:4% 2%;width:32%;gap:7%}.pv-node-orders{top:33%;left:45%}.pv-node-stock{top:75%;left:44%}.pv-node-finance{top:54%;right:-1%;width:29%}.pv-erp-node b{font-size:.65em}.pv-erp-node small{font-size:.27em}.pv-node-icon{font-size:1.15em}.pv-connections{top:7%;height:94%}
}
/* Let the central previews share the available height. Percentage vertical
   margins resolve against width and otherwise overflow the shorter cards. */
.pv-hotel-board{display:flex;flex-direction:column;padding:3.5%;min-height:0}
.pv-hotel-heading{flex-shrink:0;margin-bottom:.7em}
.pv-hotel-heading strong{line-height:1.2}
.pv-floor-label{flex-shrink:0;padding-bottom:.7em;margin-bottom:0}
.pv-hotel-rooms{flex:1;min-height:0;height:auto;grid-template-rows:repeat(2,minmax(0,1fr));gap:.45em .4em;margin:.7em 0 0}
.pv-room{min-height:0;padding:.4em .65em}
.pv-room b{line-height:1.15}
.pv-room small{line-height:1.2;margin-top:.4em}
.pv-hotel-arrival{flex-shrink:0;margin-top:.8em;padding-top:.8em}
.pv-room-badge{padding:.5em 1em}
.pv-stock-panel{display:flex;flex-direction:column;padding:3.5% 4%;min-height:0}
.pv-stock-panel>.pv-mini{flex-shrink:0}
.pv-stock-heading{flex-shrink:0;margin:.4em 0 .75em}
.pv-stock-heading strong{line-height:1.15}
.pv-scan-box{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:.7em 1.1em .6em}
.pv-scan-box .pv-barcode{flex:1;min-height:10px;height:auto;max-height:70px}
.pv-scan-box>span{flex-shrink:0;line-height:1.15;margin-top:.6em}
.pv-stock-item{flex-shrink:0;margin:.75em 0 .65em}
.pv-stock-meter{flex-shrink:0}
.pv-stock-footer{flex-shrink:0;margin-top:.65em}
.pv-stock-update{flex-shrink:0;margin-top:1em;padding-top:.8em}
@container(max-width:450px){
  .pv-hotel-board{padding:5% 4%}
  .pv-hotel-heading{margin-bottom:.7em}
  .pv-hotel-rooms{margin-top:.7em;height:auto}
  .pv-stock-panel{padding:5% 4%}
  .pv-stock-heading{margin-bottom:.75em}
  .pv-stock-item{margin:.75em 0 .65em}
  .pv-stock-update{margin-top:1em;padding-top:.8em}
  .pv-scan-box{padding:.8em 1.1em .65em}
}
@media(prefers-reduced-motion:reduce){.pv-primary,.pv-secondary{transition:none}}
