/* Original CSS 3D gallery. Content comes only from #albumGrid. */
body .hero{padding:40px 0 0;max-width:none;width:100%;margin:0}
.hero .hero-grid{display:block;margin-bottom:40px}
.hero .hero-copy{display:grid;grid-template-columns:1.1fr 1fr;column-gap:64px;align-items:start}
.hero .hero-h1{grid-column:1;grid-row:1}
.hero .sub{grid-column:2;grid-row:1;margin:0;max-width:48ch;font-size:17px}
.hero .cta{grid-column:1;grid-row:2;margin-top:24px}
.hero .trust{grid-column:2;grid-row:2;margin-top:20px;gap:7px}
.hero .trust span{font-size:12.5px}
body .hero .deck{position:relative;display:block;border:0;border-radius:0;background:#1D1D1F;color:#fff;box-shadow:0 var(--box-step) 0 var(--box-edge);padding:24px 0 30px;overflow:hidden;isolation:isolate}
.deck::before{content:"";position:absolute;inset:45% 0 0;z-index:-1;background:radial-gradient(ellipse at 50% 0,rgba(156,75,38,.26),transparent 64%),linear-gradient(#19191b,#111113)}
.deck-stage{--card-w:224px;--card-h:318px;position:relative;width:100%;height:452px;margin:0;perspective:1200px;perspective-origin:50% 34%;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.deck-stage.is-dragging{cursor:grabbing}
body .hero .pg{position:absolute;display:block;left:50%;top:38px;width:var(--card-w);height:var(--card-h);margin-left:calc(var(--card-w) / -2);inset-inline-end:auto;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;opacity:1;pointer-events:auto;transform-style:preserve-3d;transition:none;transform-origin:50% 50%;text-decoration:none;color:#fff;will-change:transform}
.mh-label{position:absolute;left:-15%;right:-15%;top:-27px;text-align:center;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.14em;color:#d6c4b9;white-space:nowrap}
.mh-face{position:absolute;inset:0;border:1.5px solid #a57760;border-radius:9px;background:#f5e3d6;box-shadow:0 var(--box-step) 0 var(--box-edge);overflow:hidden;backface-visibility:hidden}
.mh-face img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:top;pointer-events:none}
.mh-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#713B25;padding:16px;font-size:20px;font-weight:700}
.mh-reflection{position:absolute;left:0;right:0;top:calc(100% + var(--box-step) + 4px);height:100%;transform:scaleY(-1);background-size:100% 100%;opacity:.25;pointer-events:none;mask-image:linear-gradient(to top,rgba(0,0,0,.8),transparent 42%);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.8),transparent 42%)}
.pg[aria-current="true"] .mh-face{border-color:#ce9068}
.pg:focus-visible{outline:3px solid #f5e3d6;outline-offset:7px}
.mh-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;margin:-8px auto 14px;z-index:5}
.mh-controls[hidden]{display:none}
.mh-controls button{width:48px;height:48px;border:1px solid #a57760;border-radius:50%;background:#252020;color:#fff;font-size:28px;cursor:pointer;box-shadow:var(--box-shadow);transition:transform .2s,box-shadow .2s}
.mh-controls button:active{transform:translateY(calc(var(--box-step) - 1px));box-shadow:0 1px 0 var(--box-edge)}
.mh-controls button:focus-visible{outline:3px solid #f5e3d6;outline-offset:4px}
.mh-current{text-align:center;width:min(52vw,410px)}
.mh-count{display:block;font-size:13px;font-weight:600;color:#dca480;letter-spacing:.13em;font-variant-numeric:tabular-nums}
.mh-name{display:block;margin-top:6px;font-family:var(--font-d);font-size:clamp(18px,2.5vw,30px);font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.mh-kind{display:block;margin-top:5px;font-size:12px;color:#c5b9b2}
.hero .deck .evid-note{padding:0 24px;color:#c5b9b2;margin:22px auto 0;max-width:900px;gap:5px 12px}
.hero .deck .evid-note b{color:#f1e7df}
.hero .deck .proof{margin:16px auto 0;text-align:center;max-width:78ch;padding:0 24px;font-size:12px;color:#b2aaa7;line-height:1.6}
.hero + .mq{margin-top:8px}
.net-grid{align-items:start}
@media(hover:hover){.mh-controls button:hover{transform:translateY(-2px);box-shadow:0 calc(var(--box-step) + 2px) 0 var(--box-edge)}.mh-controls button:active{transform:translateY(calc(var(--box-step) - 1px));box-shadow:0 1px 0 var(--box-edge)}}
@media(max-width:939px){.hero .hero-copy{column-gap:28px}.hero .sub{font-size:15px}.hero .hero-h1{font-size:clamp(29px,4.1vw,40px)!important}.hero .trust{grid-column:1 / -1;grid-row:3;flex-direction:row;flex-wrap:wrap;gap:8px 20px}.deck-stage{--card-w:200px;--card-h:284px;height:410px}}
@media(max-width:620px){body .hero{padding-top:30px}.hero .hero-grid{margin-bottom:30px}.hero .hero-copy{display:block}.hero .hero-h1{font-size:clamp(25px,7.7vw,40px)!important}.hero .sub{font-size:16px;margin-top:18px;line-height:1.55}.hero .cta{flex-wrap:nowrap;gap:10px;margin-top:22px}.hero .cta .btn{font-size:13px;padding:14px 18px;min-width:0;flex:1;white-space:nowrap}.hero .trust{flex-direction:column;gap:8px;margin-top:24px}.hero .trust span{font-size:12px}.hero .trust .icn{width:15px;height:15px}.deck-stage{--card-w:162px;--card-h:230px;height:344px;perspective:850px;perspective-origin:50% 35%}.mh-label{font-size:9px;letter-spacing:.09em}.mh-current{width:56vw}.mh-controls{gap:10px}.mh-controls button{width:44px;height:44px}.hero .deck .evid-note{font-size:11px}.hero .deck .proof{font-size:11px}}
@media(prefers-reduced-motion:reduce){.mh-controls button{transition:none}}

/* 0926: one scene from hook to reflected cards. The light raster is only 48x32. */
body .hero{padding:0;background:#fff}
.hero-scene{position:relative;isolation:isolate;overflow:hidden;background:#151517;color:#f7f1e7;min-height:calc(100vh - 57px);min-height:calc(100svh - 57px)}
.stage-light{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.8;overflow:hidden}
.stage-light canvas{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .95s ease;image-rendering:auto}
.stage-light canvas.is-lit{opacity:1}
.hero-scene::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(15,15,17,.82) 0%,rgba(15,15,17,.77) 40%,rgba(15,15,17,.46) 63%,rgba(15,15,17,.78) 85%,#131315 100%),radial-gradient(ellipse at 50% 45%,transparent 10%,rgba(10,10,12,.42) 95%)}
.hero .hero-grid{position:relative;padding-top:32px;margin:0 auto 22px;max-width:1440px}
.hero .hero-copy{display:block;text-align:center}
.hero h1.hero-h1{font-size:clamp(48px,6.12vw,112px)!important;line-height:1.03;letter-spacing:-.04em;max-width:none;margin:0;color:#f7f1e7}
.hero-h1 .ln{padding-bottom:.08em}
.hero .kara{color:#eeb28a}
.hero .kara::after{left:0;right:0;bottom:-.04em;height:2px;background:#eeb28a;opacity:.12;filter:none}
.hero .rot-line{font-size:clamp(21px,2.05vw,32px);margin-top:12px;color:#eeb28a;letter-spacing:-.015em;line-height:1.3}
.hero .rot-i{left:0;text-align:center}
.hero .cta{justify-content:center;margin-top:24px;gap:16px}
.hero .cta .btn{min-height:54px;padding:15px 28px;font-size:15px}
.hero .cta .btn-ink{color:#251b16;background:#f0c5a5;border-color:#f0c5a5}
.hero .cta .btn-line{color:#f7f1e7;background:#222123;border-color:#a77960}
body .hero .deck{background:transparent;isolation:auto;overflow:visible;border:0;box-shadow:none;padding-top:0;padding-bottom:24px}
.deck::before{display:none}
.mh-label{color:#f3e8df;left:50%;right:auto;width:max-content;max-width:140%;transform:translateX(-50%);background:rgba(15,15,17,.86);padding:3px 6px;border-radius:3px;top:-30px}
.mh-reflection{opacity:.18}
.mh-count{color:#eebc99}.mh-kind{color:#e4d8d0}
.hero .deck .evid-note{color:#ddd2cb}.hero .deck .proof{color:#d0c8c2}
.hero-after{position:relative;background:#fff;border-top:1px solid #a77960}
.hero-details{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;padding-top:32px;padding-bottom:34px}
.hero .hero-details .sub{grid-column:auto;grid-row:auto;margin:0;max-width:58ch;font-size:16px;color:#545457}
.hero .hero-details .trust{margin:0;gap:9px;display:flex;flex-direction:column;grid-column:auto;grid-row:auto}
.hero .hero-details .trust span{font-size:13px;color:#545457}
.hero + .mq{margin-top:0}
@media(min-width:1700px){.hero .hero-grid{padding-top:42px;margin-bottom:26px}.deck-stage{--card-w:252px;--card-h:358px;height:492px}}
@media(max-width:939px){.hero .hero-copy{display:block}.hero .hero-grid{padding-top:32px}.hero .hero-details{gap:28px}.hero .hero-details .sub{font-size:15px}}
@media(max-width:620px){
 .hero .hero-grid{padding:30px 16px 0;margin-bottom:22px}
 .hero h1.hero-h1{font-size:clamp(29px,9.23077vw,50px)!important;line-height:1.08;letter-spacing:-.04em}
 .hero .rot-line{font-size:clamp(15px,4.35vw,22px);margin-top:12px;line-height:1.3}
 .hero .cta{margin-top:22px;gap:12px}.hero .cta .btn{flex:0 1 auto;min-height:50px;padding:14px 22px;font-size:13px}
 .hero .hero-details{display:block;padding:26px 24px 28px}.hero .hero-details .sub{font-size:15px;line-height:1.65}.hero .hero-details .trust{margin-top:20px;gap:10px}.hero .hero-details .trust span{font-size:12px}
 .deck-stage{height:332px}.hero .deck .evid-note{margin-top:18px}.hero .deck .proof{margin-top:12px}
 .hero-scene::before{background:linear-gradient(180deg,rgba(15,15,17,.82),rgba(15,15,17,.75) 29%,rgba(15,15,17,.46) 49%,rgba(15,15,17,.80) 78%,#131315 100%)}
}
@media(prefers-reduced-motion:reduce){.stage-light canvas{transition:none}.hero .kara::after{background:#eeb28a}}
