.visitor-section{padding:150px 0 130px;background:radial-gradient(circle at 88% 12%,#173b68 0,transparent 34%),#071f3d;color:#fff;overflow:hidden}
.visitor-section .eyebrow{color:#8fb6e3}
.visitor-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:80px;align-items:end;margin-bottom:58px}
.visitor-heading h2{max-width:850px;margin:0;font-size:clamp(48px,5.2vw,82px)}
.visitor-heading .lead{margin:0 0 7px;color:#d2e0f1;font-size:clamp(17px,1.45vw,21px)}
.visitor-experience{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(390px,.84fr);gap:22px;align-items:stretch}
.visitor-product-photo{position:relative;min-height:640px;margin:0;border-radius:26px;overflow:hidden;background:#dfe8ed}
.visitor-product-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.visitor-product-photo::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#061d39ae)}
.visitor-product-photo figcaption{position:absolute;z-index:1;bottom:28px;left:32px;right:32px;display:flex;align-items:end;justify-content:space-between;gap:18px;font-size:20px;line-height:1.2}
.visitor-product-photo figcaption small{max-width:160px;text-align:right;color:#d8e7f5;font-size:10px;line-height:1.35}
.visitor-live{--visitor-accent:#2d70ca;display:flex;flex-direction:column;min-width:0;padding:26px 28px 22px;border-radius:26px;background:#f6f8fb;color:#092449;box-shadow:0 26px 70px #02122450}
.visitor-live-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#5e7189}
.visitor-live-label{display:inline-flex;align-items:center;gap:9px;letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:700;color:#12395d}
.visitor-live-label i{width:8px;height:8px;border-radius:50%;background:#48a883;box-shadow:0 0 0 5px #48a88320}
.visitor-live-devices{display:flex;align-items:center;justify-content:center;gap:22px;min-height:380px;padding:34px 4px 18px}
.visitor-large-card{width:208px;height:296px;flex:0 0 auto;padding:12px;border-radius:22px 22px 20px 20px;background:#fff;border:1px solid #d6dce3;box-shadow:10px 18px 28px #11243b2a;transform:rotate(-4deg);transition:transform .45s ease,box-shadow .45s ease}
.visitor-large-card::before{content:"";display:block;width:55px;height:7px;margin:-3px auto 10px;border:1px solid #c4ccd5;border-radius:8px;background:#edf1f4}
.visitor-large-screen{position:relative;display:flex;flex-direction:column;height:245px;padding:10px;background:#eeede7;border:1px solid #cbd0d2;border-radius:12px;overflow:hidden}
.visitor-preview-photo{display:block;width:100%;height:53%;flex:0 0 auto;background:url('/prototype/assets/guest-badges/salma-portrait.png') center center / contain no-repeat;opacity:0;transition:opacity .35s}
.visitor-card-details{display:flex;flex:1;flex-direction:column;min-height:0;padding:7px 1px 0;color:#292d32}
.visitor-name{display:block;font-size:13px;line-height:1.1;font-weight:750;letter-spacing:-.025em;overflow-wrap:anywhere}
.visitor-company{display:block;margin-top:3px;font-size:9px;line-height:1.2}
.visitor-card-meta{display:flex;flex-direction:column;gap:4px;margin-top:12px;border-top:1px solid #a9aba8;padding-top:6px;font-size:8px;line-height:1.15}
.visitor-card-meta b{font-weight:750}
.visitor-round-card{position:relative;width:162px;height:162px;flex:0 0 auto;border-radius:50%;background:var(--visitor-accent);border:2px solid #ffffff4d;box-shadow:inset 0 3px 5px #ffffff55,inset 0 -6px 12px #001a3b33,8px 14px 25px #11243b3a;transform:rotate(7deg);transition:background .3s,transform .45s ease,box-shadow .45s ease}
.visitor-round-slot{position:absolute;top:7%;left:42%;width:16%;height:7%;border:2px solid #153c69;border-radius:10px;background:#cdd7df;box-shadow:inset 0 2px 3px #3043598c}
.visitor-round-screen{position:absolute;top:50%;left:50%;box-sizing:border-box;transform:translate(-50%,-50%);display:flex;align-items:center;gap:2px;width:74%;height:36%;padding:3% 4%;border:2px solid #bfc8cf;border-radius:7px;background:#e8e9e3;color:#343b43;overflow:hidden;box-shadow:inset 0 2px 5px #7d87935c,0 1px 2px #ffffffa8}
.visitor-round-text{display:flex;flex:1;flex-direction:column;justify-content:center;gap:2px;min-width:0;line-height:1.05}
.visitor-round-name{display:block;font-size:7px;font-weight:750;white-space:nowrap}
.visitor-round-host{display:block;font-size:5.7px;line-height:1.1;overflow-wrap:normal}
.visitor-round-qr{flex:0 0 30%;position:relative;align-self:center;aspect-ratio:1;background:repeating-conic-gradient(#30353a 0% 25%,transparent 0% 50%) 0 0/6px 6px;border:2px solid #e8e9e3}
.visitor-round-qr::before,.visitor-round-qr::after{content:"";position:absolute;width:26%;aspect-ratio:1;border:2px solid #30353a;background:#e8e9e3;box-shadow:inset 0 0 0 2px #e8e9e3,inset 0 0 0 5px #30353a}
.visitor-round-qr::before{top:0;left:0}.visitor-round-qr::after{bottom:0;right:0}
.visitor-round-logo{position:absolute;bottom:9%;left:0;box-sizing:border-box;width:100%;padding:0 12px;color:#fff;text-align:center;font-size:11px;line-height:1.1;font-weight:750;letter-spacing:.01em;white-space:nowrap;text-shadow:0 1px 2px #001e4780}
.visitor-ink-sweep{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;background:#1b1d20}
.visitor-live:not([data-phase="ready"]) .visitor-card-details,.visitor-live:not([data-phase="ready"]) .visitor-round-text,.visitor-live:not([data-phase="ready"]) .visitor-round-qr{visibility:hidden}
.visitor-live[data-ink="dark"] .visitor-ink-sweep{opacity:1}
.visitor-live[data-phase="ready"] .visitor-large-card{transform:rotate(-2deg) translateY(-5px);box-shadow:13px 23px 34px #11243b3b}
.visitor-live[data-phase="ready"] .visitor-round-card{transform:rotate(4deg) translateY(-4px);box-shadow:11px 20px 30px #11243b48}
.visitor-live[data-phase="ready"] .visitor-preview-photo{opacity:1}
.visitor-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;list-style:none;margin:0;padding:0}
.visitor-steps li{border-top:2px solid #d9e0e8;padding-top:12px;color:#73839a;font-size:10px;line-height:1.35;transition:color .3s,border-color .3s}
.visitor-steps li span{display:block;margin-bottom:6px;font-size:12px;font-weight:700}
.visitor-live[data-phase="waiting"] [data-visitor-step="waiting"],.visitor-live[data-phase="updating"] [data-visitor-step="updating"],.visitor-live[data-phase="ready"] [data-visitor-step="ready"]{border-color:var(--visitor-accent);color:#092449}
.visitor-live-controls{display:flex;gap:18px;align-items:center;margin-top:21px}
.visitor-live-controls button{padding:0;background:transparent;color:#113b6a;font-size:11px;font-weight:700;border-bottom:1px solid #8fa5be;min-height:30px}
.visitor-live-controls button:hover{color:#0c63bb}
.visitor-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.visitor-option{min-height:248px;padding:30px 30px 26px;border:1px solid #ffffff24;border-radius:20px;background:#ffffff0a}
.visitor-option-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:22px;border-radius:50%;background:#ffffff14;color:#b5d9ff;font-size:24px}
.visitor-option h3{margin:0 0 11px;font-size:24px;line-height:1.2}
.visitor-option p{max-width:370px;margin:0 0 18px;color:#becfe2;font-size:13px;line-height:1.6}
.visitor-palette{display:flex;gap:12px;align-items:center;margin-top:10px}
.visitor-palette button{width:26px;height:26px;padding:0;border-radius:50%;background:var(--swatch);border:2px solid #fff5;box-shadow:0 0 0 0 #fff;transition:box-shadow .2s,transform .2s}
.visitor-palette button[aria-pressed="true"]{box-shadow:0 0 0 3px #dceaff;transform:scale(.9)}
.visitor-option .line-link{font-size:12px;padding:7px 0;color:#eaf5ff;border-color:#7fa5ce}
.visitor-footer{display:flex;align-items:center;justify-content:flex-end;gap:25px;margin-top:30px;color:#b9cde4;font-size:13px}
.visitor-footer .line-link{font-size:13px;color:#fff}
@media(max-width:1100px){.visitor-heading{gap:36px}.visitor-experience{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}.visitor-product-photo{min-height:590px}.visitor-live{padding:23px}.visitor-large-card{width:184px;height:270px}.visitor-large-screen{height:219px}.visitor-round-card{width:139px;height:139px}.visitor-live-devices{gap:12px}.visitor-option{padding:24px}}
@media(max-width:850px){.visitor-section{padding:100px 0}.visitor-heading{grid-template-columns:1fr;gap:25px}.visitor-experience{grid-template-columns:1fr}.visitor-live{order:0}.visitor-product-photo{order:1;min-height:480px}.visitor-options{grid-template-columns:1fr 1fr}.visitor-option:last-child{grid-column:1/-1;min-height:0}.visitor-option{min-height:250px}.visitor-product-photo img{object-position:center 48%}}
@media(max-width:600px){.visitor-section{padding:86px 0 80px}.visitor-heading h2{font-size:clamp(44px,11vw,59px)}.visitor-heading .lead{font-size:17px}.visitor-product-photo{min-height:340px;border-radius:20px}.visitor-product-photo figcaption{left:20px;right:20px;bottom:18px;display:block;font-size:15px}.visitor-product-photo figcaption small{display:block;text-align:left;max-width:none;margin-top:5px}.visitor-live{padding:20px 15px;border-radius:20px}.visitor-live-devices{min-height:310px;padding:25px 0 18px;gap:8px}.visitor-large-card{width:168px;height:246px;padding:9px}.visitor-large-screen{height:201px;padding:8px}.visitor-preview-photo{height:53%}.visitor-name{font-size:12px}.visitor-card-meta{font-size:7px}.visitor-round-card{width:122px;height:122px}.visitor-round-name{font-size:6.2px}.visitor-round-host{font-size:5px}.visitor-round-logo{font-size:9px}.visitor-options{grid-template-columns:1fr}.visitor-option,.visitor-option:last-child{grid-column:auto;min-height:0;padding:24px}.visitor-option h3{font-size:21px}.visitor-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:400px){.visitor-large-card{width:150px;height:230px}.visitor-large-screen{height:184px}.visitor-round-card{width:108px;height:108px}.visitor-round-name{font-size:5.5px}.visitor-round-host{font-size:4.5px}.visitor-round-logo{font-size:8px}}
@media(prefers-reduced-motion:reduce){.visitor-large-card,.visitor-round-card,.visitor-preview-photo,.visitor-steps li{transition:none}}
