main{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;
     padding:140px 24px 100px;gap:52px;}

.eyebrow{font-family:"Space Mono",monospace;font-size:9px;letter-spacing:.42em;
         text-transform:uppercase;color:rgba(139,127,255,.7);
         display:flex;align-items:center;gap:10px;
         opacity:0;animation:fadeUp .6s ease .3s forwards;}
.eyebrow::before,.eyebrow::after{content:'';width:28px;height:1px;background:rgba(139,127,255,.4);}

.hero-title{font-family:"Cormorant",serif;font-weight:300;
            font-size:clamp(56px,9vw,96px);letter-spacing:.07em;
            color:#e2e2f0;text-align:center;line-height:1.05;
            text-shadow:0 0 120px rgba(139,127,255,.3),0 0 40px rgba(139,127,255,.12);
            opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .45s forwards;}

.hero-sub{font-family:"DM Sans",sans-serif;font-size:15px;font-weight:300;
          color:rgba(226,226,240,.35);text-align:center;letter-spacing:.04em;
          opacity:0;animation:fadeUp .7s ease .6s forwards;}

.image-card{width:min(1000px,100%);opacity:0;animation:cardIn .9s cubic-bezier(.16,1,.3,1) .75s forwards;}
.image-wrap{position:relative;border-radius:20px;overflow:hidden;
            background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
            box-shadow:0 60px 120px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.07),0 0 80px rgba(139,127,255,.06);}
.image-wrap::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;
                    background:linear-gradient(90deg,transparent,rgba(139,127,255,.35),transparent);z-index:2;}
.image-wrap img{width:100%;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none;}
.download-shield{position:absolute;inset:0;z-index:3;cursor:default;}

.hotspot{position:absolute;z-index:4;transform:translate(-50%,-50%);cursor:pointer;}
.hs-dot{width:20px;height:20px;border-radius:50%;
        background:rgba(139,127,255,.9);border:2px solid rgba(255,255,255,.85);
        box-shadow:0 0 0 0 rgba(139,127,255,.6);
        animation:hsPulse 2.4s ease-out infinite;
        transition:transform .2s;display:flex;align-items:center;justify-content:center;}
.hotspot:hover .hs-dot{transform:scale(1.25);}
.hs-num{font-family:"Space Mono",monospace;font-size:8px;color:#fff;font-weight:700;line-height:1;}
.hs-tip{position:absolute;bottom:calc(100% + 10px);left:50%;
        transform:translateX(-50%) translateY(4px);
        background:rgba(7,7,15,.92);border:1px solid rgba(139,127,255,.3);
        border-radius:8px;padding:7px 12px;white-space:nowrap;
        font-family:"Space Mono",monospace;font-size:9px;letter-spacing:.1em;
        color:rgba(226,226,240,.85);pointer-events:none;
        opacity:0;transition:opacity .18s,transform .18s;}
.hotspot:hover .hs-tip{opacity:1;transform:translateX(-50%) translateY(0);}
@keyframes hsPulse{0%{box-shadow:0 0 0 0 rgba(139,127,255,.7);}70%{box-shadow:0 0 0 12px rgba(139,127,255,0);}100%{box-shadow:0 0 0 0 rgba(139,127,255,0);}}

.callouts{width:min(1000px,100%);
          background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
          border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3);
          opacity:0;animation:fadeUp .7s ease 1.1s forwards;}
.callouts-header{padding:20px 28px 16px;border-bottom:1px solid rgba(255,255,255,.05);}
.callouts-title{font-family:"Space Mono",monospace;font-size:9px;letter-spacing:.3em;
                text-transform:uppercase;color:rgba(226,226,240,.25);}
.callout{display:flex;align-items:flex-start;gap:20px;padding:20px 28px;
         border-bottom:1px solid rgba(255,255,255,.04);transition:background .2s;cursor:pointer;}
.callout:last-child{border-bottom:none;}
.callout:hover{background:rgba(139,127,255,.04);}
.callout-num{font-family:"Space Mono",monospace;font-size:11px;font-weight:700;
             color:#8b7fff;min-width:24px;margin-top:2px;}
.callout-body{display:flex;flex-direction:column;gap:4px;}
.callout-label{font-family:"Cormorant",serif;font-weight:300;font-size:20px;letter-spacing:.05em;color:#e2e2f0;}
.callout-desc{font-size:13px;font-weight:300;color:rgba(226,226,240,.42);line-height:1.6;}

.meta{display:flex;align-items:center;gap:32px;flex-wrap:wrap;justify-content:center;
      opacity:0;animation:fadeUp .6s ease 1.3s forwards;}
.meta-item{display:flex;flex-direction:column;gap:4px;align-items:center;}
.meta-label{font-family:"Space Mono",monospace;font-size:8px;letter-spacing:.22em;
            text-transform:uppercase;color:rgba(226,226,240,.22);}
.meta-value{font-family:"Cormorant",serif;font-weight:300;font-size:20px;
            letter-spacing:.06em;color:rgba(226,226,240,.7);}
.meta-div{width:1px;height:36px;background:rgba(255,255,255,.07);}

.lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
    background:rgba(4,4,12,.92);backdrop-filter:blur(12px);
    opacity:0;pointer-events:none;transition:opacity .3s;}
.lb.open{opacity:1;pointer-events:all;}
.lb-inner{display:flex;flex-direction:column;align-items:center;gap:16px;
          width:min(1100px,96vw);max-height:92vh;overflow-y:auto;padding:4px 8px;}
.lb-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;}
.lb-panel{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.09);
          aspect-ratio:16/10;position:relative;}
.lb-panel-label{position:absolute;bottom:10px;left:12px;
                font-family:"Space Mono",monospace;font-size:8px;letter-spacing:.18em;
                text-transform:uppercase;color:rgba(226,226,240,.4);
                background:rgba(7,7,15,.6);border-radius:4px;padding:3px 8px;z-index:2;}
#lb-full{background:#000;}
#lb-full img{width:100%;height:100%;object-fit:contain;display:block;
             user-select:none;-webkit-user-drag:none;pointer-events:none;}
.lb-ring{position:absolute;border:2px solid #8b7fff;border-radius:50%;
         box-shadow:0 0 20px rgba(139,127,255,.6);pointer-events:none;
         transform:translate(-50%,-50%);}
#lb-zoom{background-size:300%;background-repeat:no-repeat;}
.lb-info{text-align:center;}
.lb-info-label{font-family:"Cormorant",serif;font-weight:300;font-size:28px;
               letter-spacing:.06em;color:#e2e2f0;}
.lb-info-desc{font-size:13px;font-weight:300;color:rgba(226,226,240,.42);
              margin-top:6px;line-height:1.6;max-width:560px;}
.lb-chooser{position:relative;display:flex;align-items:center;width:100%;
            background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
            border-radius:16px;padding:6px;
            box-shadow:0 8px 32px rgba(0,0,0,.4);}
.lb-chooser-pill{position:absolute;top:4px;height:calc(100% - 8px);
                 background:rgba(139,127,255,.25);border:1px solid rgba(139,127,255,.5);
                 border-radius:8px;box-shadow:0 0 16px rgba(139,127,255,.2);
                 transition:left .35s cubic-bezier(.16,1,.3,1),width .35s cubic-bezier(.16,1,.3,1);
                 pointer-events:none;}
.lb-ch-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
            gap:2px;padding:6px 10px;cursor:pointer;border:none;background:none;border-radius:8px;
            flex:1;transition:color .2s;min-width:0;}
.lb-ch-num{font-family:"Space Mono",monospace;font-size:9px;font-weight:700;
           color:rgba(226,226,240,.3);transition:color .2s;line-height:1;}
.lb-ch-name{font-family:"DM Sans",sans-serif;font-size:10px;font-weight:300;
            color:rgba(226,226,240,.25);transition:color .2s;white-space:nowrap;
            overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.lb-ch-item:hover .lb-ch-num{color:rgba(139,127,255,.9);}
.lb-ch-item:hover .lb-ch-name{color:rgba(226,226,240,.6);}
.lb-ch-item.active .lb-ch-num{color:#a89fff;}
.lb-ch-item.active .lb-ch-name{color:#e2e2f0;}

.lb-close{font-family:"Space Mono",monospace;font-size:9px;letter-spacing:.18em;
          text-transform:uppercase;color:rgba(226,226,240,.4);
          background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
          border-radius:10px;padding:10px 28px;cursor:pointer;
          transition:color .2s,background .2s,border-color .2s;align-self:center;}
.lb-close:hover{color:#e2e2f0;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);}

#lbContent{width:100%;display:flex;flex-direction:column;gap:16px;}

@media(max-width:700px){.lb-panels{grid-template-columns:1fr;}.lb-ch-name{display:none;}}
