.gen{min-height:100vh;padding:calc(var(--nav-h) + 8vh) 6vw 12vh}.gen-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:6vw;gap:6vw;align-items:center;max-width:1400px;margin:0 auto}.gen-cover{position:relative;animation:fadeUp .8s var(--expo) both}.gen-cover img{width:100%;height:auto;box-shadow:0 24px 60px rgba(0,0,0,.14),0 4px 12px rgba(0,0,0,.06)}.gen-cover[role=button]{cursor:inherit}.gen-cover-hint{position:absolute;bottom:14px;right:14px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--bg);background:hsla(0,0%,4%,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 10px;opacity:0;transition:opacity .35s var(--expo)}.gen-cover:hover .gen-cover-hint{opacity:1}.gen-meta{animation:fadeUp .8s var(--expo) .1s both;container-type:inline-size;min-width:0}.gen-label{display:block;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:20px}.gen-label--center{text-align:center;margin-bottom:40px}.gen-title{font-family:var(--display);font-size:clamp(40px,13.5cqw,116px);font-weight:700;line-height:.92;letter-spacing:.01em;text-transform:uppercase;margin-bottom:28px;overflow-wrap:anywhere}.gen-desc{font-family:var(--mono);font-size:14px;font-weight:300;line-height:1.7;color:var(--fg);max-width:none;margin-bottom:34px}.gen-specs{display:flex;flex-wrap:wrap;gap:28px 40px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:34px}.gen-spec dt{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim2);margin-bottom:6px}.gen-spec dd{font-family:var(--mono);font-size:13px;font-weight:400;color:var(--fg)}.gen-purchase{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:14px}.gen-price{font-size:20px;letter-spacing:.02em;color:var(--fg)}.gen-buy,.gen-price{font-family:var(--mono);font-weight:500}.gen-buy{display:inline-flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bg);background:var(--accent);padding:16px 34px;border:1px solid var(--accent);transition:background .3s var(--expo),color .3s var(--expo)}.gen-buy:hover{background:transparent;color:var(--accent)}.gen-buy--off{border-color:var(--line);cursor:not-allowed}.gen-buy--off,.gen-buy--off:hover{background:transparent;color:var(--dim2)}.gen-secure{display:block;font-size:10px;letter-spacing:.06em;margin-bottom:28px}.gen-preview-link,.gen-secure{font-family:var(--mono);color:var(--dim)}.gen-preview-link{background:none;border:none;padding:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:inherit;transition:color .25s ease}.gen-preview-link:hover{color:var(--accent)}.gen-preview{max-width:1400px;margin:16vh auto 0}.gen-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:40px;gap:40px}.gen-grid-item img{width:100%;height:auto;box-shadow:0 12px 36px rgba(0,0,0,.08);transition:transform .5s var(--expo)}.gen-grid-item:hover img{transform:scale(1.012)}.gen-preview-cta{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:64px}.gen-reader{position:fixed;inset:0;z-index:300;background:var(--bg);display:flex;flex-direction:column}.gen-reader-bar{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);flex-shrink:0}.gen-reader-title{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg)}.gen-reader-page{color:var(--dim)}.gen-reader-close,.gen-reader-page{font-family:var(--mono);font-size:10px;letter-spacing:.1em}.gen-reader-close{background:none;border:none;padding:0;text-transform:uppercase;color:var(--fg);cursor:inherit;transition:color .2s ease}.gen-reader-close:hover{color:var(--accent)}.gen-reader-scroll{flex:1 1;overflow-y:auto;padding:5vh 6vw;display:flex;flex-direction:column;align-items:center;gap:4vh}.gen-reader-frame{width:100%;max-width:980px}.gen-reader-frame img{width:100%;height:auto;box-shadow:0 16px 44px rgba(0,0,0,.12)}.gen-reader-progress{height:2px;background:var(--line);flex-shrink:0}.gen-reader-progress-fill{height:100%;background:var(--accent);transform-origin:left;transition:transform .1s linear}@media (max-width:768px){.gen{padding:calc(var(--nav-h) + 5vh) 24px 14vh}.gen-hero{grid-template-columns:1fr;gap:40px}.gen-cover-hint{opacity:1}.gen-title{margin-bottom:22px}.gen-desc{max-width:none}.gen-grid{grid-template-columns:1fr;gap:24px}.gen-preview{margin-top:12vh}.gen-purchase{gap:18px}.gen-buy{flex:1 1;min-width:180px}.gen-reader-scroll{padding:4vh 16px}}.gen-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;outline:none}.gen-slides::-webkit-scrollbar{display:none}.gen-slide{flex:0 0 100%;scroll-snap-align:center;min-width:0;display:flex;align-items:center;justify-content:center}.gen-slide img{width:100%;height:auto;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;box-shadow:0 24px 60px rgba(0,0,0,.14),0 4px 12px rgba(0,0,0,.06)}.gen-cover--single .gen-slides{overflow:visible}.gen-slide-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:15px;color:var(--fg);background:hsla(48,20%,95%,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);cursor:inherit;opacity:0;transition:opacity .3s var(--expo),background .2s ease}.gen-cover:hover .gen-slide-arrow{opacity:1}.gen-slide-arrow:hover{background:var(--bg)}.gen-slide-arrow:disabled{opacity:0!important;pointer-events:none}.gen-slide-arrow--prev{left:14px}.gen-slide-arrow--next{right:14px}.gen-slide-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:9px}.gen-dot{width:7px;height:7px;border-radius:50%;background:hsla(0,0%,4%,.22);border:none;padding:0;cursor:inherit;transition:background .25s ease,transform .25s var(--expo)}.gen-dot.is-active{background:var(--accent);transform:scale(1.25)}.gen-slide-count{position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--bg);background:hsla(0,0%,4%,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 9px}@media (max-width:768px){.gen-slide-arrow{display:none}.gen-slide-dots{bottom:12px}}