/* Two independent viewport-sized chapters keep the original hero composition. */
.landing-page{height:auto;min-height:100svh;display:block}
.landing-first-screen{height:100svh;min-height:580px;display:grid;grid-template-rows:82px minmax(0,1fr) 48px}
.gallery-scroll-link{display:inline-flex;align-items:center;gap:12px;color:#7150b1;font-size:11px;font-weight:600;text-decoration:none;white-space:nowrap}
.gallery-scroll-link span{display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid #d9c9e4;border-radius:50%}
.landing-gallery{--gallery-step:clamp(110px,19vw,270px);position:relative;z-index:1;isolation:isolate;overflow:hidden;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 5% 28px;background:#211a32;color:#f8efe4;scroll-margin-top:0}
.gallery-ambient{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.gallery-ambient i{position:absolute;left:50%;top:40%;width:80%;height:60%;transform:translate(-50%,-20%);border-radius:50%;background:radial-gradient(ellipse,#71548d66,transparent 67%)}
.gallery-ambient i:nth-child(2){left:8%;top:70%;width:40%;height:35%;background:radial-gradient(ellipse,#bf6a5940,transparent 68%)}
.gallery-ambient>span{position:absolute;right:12%;top:10%;font:45px Georgia,serif;color:#daab76;transform:rotate(12deg)}
.gallery-ambient>span:last-child{right:auto;left:10%;top:36%;font-size:29px;color:#a58bbf}
.gallery-intro{text-align:center;position:relative;z-index:2;max-width:680px}
.gallery-eyebrow{font:600 9px/1.6 Arial,sans-serif;letter-spacing:2.5px;color:#c7accf;margin:0 0 15px}
.gallery-intro h2{font:400 clamp(34px,4vw,57px)/1.06 Georgia,serif;letter-spacing:-1.8px;margin:0}
.gallery-intro h2 em{font-weight:400;color:#dfbbef}
.gallery-intro>p:last-child{font:12px/1.7 Arial,sans-serif;color:#c9bbd0;margin:16px 0 0}
.gallery-carousel{position:relative;width:100%;height:clamp(230px,28vw,380px);margin:6px 0 0;perspective:1500px;outline-offset:-8px;touch-action:pan-y}
.gallery-orbit{position:absolute;width:80%;height:78%;border:1px solid #a184b32b;border-radius:50%;left:10%;top:18%;transform:rotate(-8deg);pointer-events:none}
.gallery-poster{--paper:#fff8e8;--ink:#80648e;--wash:#e9dff0;--accent:#e5b65d;--frame:url('../assets/themes/default-frame.svg');--offset:0;--depth:0;position:absolute;width:clamp(260px,36vw,470px);aspect-ratio:1180/835;left:50%;top:50%;margin:0;opacity:0;visibility:hidden;pointer-events:none;transform:translate(calc(-50% + var(--offset) * var(--gallery-step)),calc(-50% + var(--depth) * 24px)) rotate(calc(var(--offset) * 7deg)) rotateY(calc(var(--offset) * -9deg)) scale(calc(1 - var(--depth) * .13));z-index:calc(10 - var(--depth));transition:transform .85s cubic-bezier(.22,.7,.2,1),opacity .6s,visibility .6s;contain:layout style}
.gallery-poster[data-visible=true]{opacity:.68;visibility:visible}
.gallery-poster[data-selected=true]{opacity:1}
.gallery-poster-float{width:100%;height:100%;animation:gallery-float 7s ease-in-out infinite}
.gallery-poster-paper{position:relative;width:100%;height:100%;overflow:hidden;border-radius:4px;padding:5% 5% 4%;background:var(--paper);color:var(--ink);box-shadow:0 25px 45px #0a061d65,0 0 0 1px #fff2 inset;display:flex;flex-direction:column;align-items:center}
.gallery-poster-paper::after{content:'';position:absolute;inset:0;background:var(--frame) center/100% 100% no-repeat;pointer-events:none;z-index:2}
.gallery-poster-sheen{position:absolute;inset:0;transform:translateX(-130%);background:linear-gradient(110deg,transparent 25%,#fff4 48%,transparent 70%);pointer-events:none}
.gallery-poster[data-selected=true] .gallery-poster-sheen{animation:gallery-sheen 7s ease-in-out infinite}
.gallery-poster[data-gallery-poster=rock]{--paper:#24212a;--ink:#eee6df;--wash:#3c3244;--accent:#efed81;--frame:url('../assets/themes/rock-frame.svg')}
.gallery-poster[data-gallery-poster=girly]{--paper:#fff3f8;--ink:#ab5e88;--wash:#f2dce8;--accent:#de98b6;--frame:url('../assets/themes/girly-frame.svg')}
.gallery-poster[data-gallery-poster=nature]{--paper:#fffaf0;--ink:#667b58;--wash:#e5eadb;--accent:#c4ab73;--frame:url('../assets/themes/nature-frame.svg')}
.gallery-poster[data-gallery-poster=business]{--paper:#f5f8fd;--ink:#3e5d83;--wash:#e1e8f4;--accent:#b1c9e9;--frame:url('../assets/themes/business-frame.svg')}
.gallery-poster[data-gallery-poster=fiesta]{--paper:#fff7ef;--ink:#9d5c9c;--wash:#efdff4;--accent:#efb86f;--frame:url('../assets/themes/fiesta-frame.svg')}
.gallery-poster[data-gallery-poster=sport]{--paper:#fffaf0;--ink:#416f6f;--wash:#deebe5;--accent:#dfab71;--frame:url('../assets/themes/sport-frame.svg')}
.gallery-poster[data-gallery-poster=geek]{--paper:#fffaf2;--ink:#83579e;--wash:#e7def3;--accent:#6ed7ba;--frame:url('../assets/themes/geek-frame.svg')}
.gallery-poster[data-gallery-poster=book]{--paper:#fff8e9;--ink:#80535f;--wash:#e9e4d2;--accent:#bda16d;--frame:url('../assets/themes/book-frame.svg')}
.gallery-poster[data-gallery-poster=artist]{--paper:#fff8ee;--ink:#88698b;--wash:#e0eade;--accent:#d48c7d;--frame:url('../assets/themes/artist-frame.svg')}
.gallery-poster[data-gallery-poster=cinema]{--paper:#70283f;--ink:#f4d5a0;--wash:#ead5d8;--accent:#e8c784;--frame:url('../assets/themes/cinema-frame.svg?v=2')}
.gallery-poster[data-gallery-poster=hell]{--paper:#171116;--ink:#e1b3a3;--wash:#39232d;--accent:#e47c57;--frame:url('../assets/themes/hell-frame.svg')}
.gallery-selection{display:flex;gap:26px;align-items:center;justify-content:center;position:relative;z-index:12}
.landing-gallery .gallery-selection>button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #8e789d77;border-radius:50%;padding:0;margin:0;background:#ffffff08;color:#f5e9f8;font:20px Arial,sans-serif}
.landing-gallery .gallery-selection>button:hover{background:#ffffff15}
.gallery-selection>div{display:flex;gap:10px;align-items:center;justify-content:center;min-width:240px}
.gallery-active-icon{font-size:19px}.gallery-selection strong{font:500 14px Arial,sans-serif;color:#f6eaf9}
.gallery-theme-choices{display:flex;gap:7px;max-width:min(1120px,100%);margin:24px 0 0;padding:3px 3px 10px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#6e527f transparent}
.landing-gallery .gallery-theme-choices button{white-space:nowrap;background:transparent;border:1px solid #80698f55;border-radius:20px;color:#c5b3cf;width:auto;margin:0;padding:8px 12px;font:10px/1.3 Arial,sans-serif;display:flex;gap:6px;align-items:center}
.landing-gallery .gallery-theme-choices button[aria-pressed=true]{background:#f6eaf9;color:#54396b;border-color:#f6eaf9}
.gallery-bottom{text-align:center;margin-top:10px;position:relative;z-index:12}

.landing-gallery .gallery-create{display:flex;align-items:center;gap:34px;width:auto;margin:0 auto;border-radius:28px;background:#f3d797;color:#34243d;padding:14px 25px;font:600 12px Arial,sans-serif}
.landing-gallery #gallery-motion-toggle{display:block;width:auto;background:none;padding:9px;margin:7px auto 0;color:#c4afcf;font:10px Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
.gallery-back-top{display:inline-block;color:#ac94bb;font:10px Arial,sans-serif;margin-top:6px;text-decoration:none}
.landing-gallery :is(button,a,.gallery-carousel):focus-visible{outline:2px solid #f3d797;outline-offset:4px}
.landing-gallery[data-motion=false] .gallery-poster-float,.landing-gallery[data-motion=false] .gallery-poster-sheen{animation-play-state:paused}
@keyframes gallery-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes gallery-sheen{0%,60%{transform:translateX(-130%)}90%,100%{transform:translateX(130%)}}
@media(min-width:1000px) and (max-height:750px){.landing-first-screen{grid-template-rows:65px minmax(0,1fr) 35px}.landing-gallery{padding-top:30px;padding-bottom:18px}.gallery-intro h2{font-size:40px}.gallery-intro>p:last-child{margin-top:10px}.gallery-carousel{height:260px}.gallery-theme-choices{margin-top:12px}.gallery-bottom{margin-top:0}.gallery-bottom>p{margin-bottom:12px}}
@media(max-width:650px){.landing-first-screen{min-height:0;grid-template-rows:60px minmax(0,1fr) 33px}.gallery-scroll-link{font-size:9px;gap:7px}.gallery-scroll-link span{width:20px;height:20px}.landing-gallery{padding:42px 6% 28px;--gallery-step:135px}.gallery-intro h2{font-size:42px}.gallery-eyebrow{font-size:8px;letter-spacing:1.6px}.gallery-intro>p:last-child{font-size:11px}.gallery-carousel{width:calc(100% + 13%);height:260px;margin:8px 0}.gallery-poster{width:290px}.gallery-selection{gap:12px}.gallery-selection>div{min-width:210px}.gallery-theme-choices{max-width:100%;width:100%;margin-top:20px}.gallery-ambient>span{right:5%;top:7%;font-size:25px}.gallery-ambient>span:last-child{left:3%;top:30%;font-size:19px}.gallery-bottom>p{font-size:10px}.gallery-bottom{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.landing-gallery *, .landing-gallery *::before,.landing-gallery *::after{animation:none!important;transition:none!important}}
.animations-paused .landing-gallery *{animation-play-state:paused!important;transition:none!important}

.gallery-poster:not([data-visible=true]) .gallery-poster-float{animation:none}

.gallery-poster[data-gallery-poster=default]:not([data-visible]){opacity:1;visibility:visible}
/* A clean transition from the cream hero to the midnight gallery. */
html{scroll-behavior:smooth}
.landing-gallery{padding-top:52px;background:#211a32}
.gallery-features{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:930px;padding:0;margin:22px 0 3px;list-style:none;position:relative;z-index:2}
.gallery-features li{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #b798cb26;border-radius:20px;background:#ffffff06;color:#dfd0e5;font:10px/1.4 Arial,sans-serif}
.gallery-features li>span{color:#efcb91;font-size:14px}
.gallery-poster-float{position:relative;perspective:1200px}
.gallery-poster-paper,.gallery-open-sheet{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:center;transition:transform .55s cubic-bezier(.2,.75,.2,1),opacity .4s}
.gallery-poster-paper{z-index:2;transform:translateX(0) rotateY(0) scale(1)}
.gallery-open-sheet{position:absolute;inset:0;padding:7% 7% 6%;background:var(--paper);border-radius:4px;box-shadow:0 16px 35px #08051b55;opacity:0;transform:translateX(0) rotateY(0) scale(.95);color:var(--ink);overflow:hidden}
.gallery-open-sheet::after{content:'';position:absolute;inset:0;background:var(--frame) center/100% 100% no-repeat;pointer-events:none}
.landing-gallery .gallery-open{position:absolute;z-index:20;left:50%;top:50%;width:clamp(260px,36vw,470px);aspect-ratio:1180/835;transform:translate(-50%,-50%);margin:0;padding:0;border:0;border-radius:5px;background:transparent;color:#f6e9fc;cursor:pointer;display:block;-webkit-tap-highlight-color:transparent;touch-action:pan-y}
.landing-gallery .gallery-open:hover{background:transparent}
.gallery-open-label{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);padding:7px 12px;border:1px solid #e5d3ee44;border-radius:20px;background:#35263fe8;white-space:nowrap;font:10px Arial,sans-serif;box-shadow:0 4px 12px #120b2026}
.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-poster-float{animation-play-state:paused}
.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-poster-paper{transform:translateX(-24%) rotateY(-16deg) scale(.86)}
.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-open-sheet{opacity:1;transform:translateX(24%) rotateY(9deg) scale(.86)}
.landing-gallery[data-open=true] .gallery-poster[data-selected=false][data-visible=true]{opacity:.28}
@media(max-width:650px){.landing-gallery{padding-top:42px;background:#211a32}.gallery-features{gap:6px;margin-top:18px}.gallery-features li{font-size:9px;padding:6px 8px;gap:5px}.gallery-features li>span{font-size:12px}.landing-gallery .gallery-open{width:290px}.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-poster-paper{transform:translateX(-18%) rotateY(-10deg) scale(.72)}.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-open-sheet{transform:translateX(18%) rotateY(7deg) scale(.72)}.gallery-open-label{bottom:-10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-poster-paper,.gallery-open-sheet{transition:none!important}}

.landing-nav .nav-universes{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border:1px solid #d8c8e5;border-radius:24px;color:#7150b1;background:#f4edf9;font:500 12px/1.4 Arial,sans-serif;white-space:nowrap;text-decoration:none}
.landing-nav .nav-universes:hover{background:#ece0f5;border-color:#b599cd}
.landing-nav .nav-universes>span{font-size:17px;line-height:1}
@media(min-width:651px) and (max-width:1100px){.landing-nav{gap:12px}.landing-nav .nav-universes{padding:8px 10px;font-size:10px}.landing-nav .concept-link{font-size:10px}.landing-nav .nav-create{padding:10px 12px;font-size:10px}}
@media(max-width:650px){.landing-first-screen{grid-template-rows:88px minmax(0,1fr) 33px}.landing-header{height:88px}.landing-nav{max-width:72%;justify-content:flex-end}.landing-nav .nav-universes{order:3;flex-basis:100%;justify-content:flex-end;padding:2px 0;border:0;border-radius:0;background:transparent;font-size:10px}.landing-nav .nav-universes:hover{background:transparent}}

/* The same report components and theme sheets as the finished gift. */
.gallery-poster-paper,.gallery-open-sheet{padding:0;display:block}
.gallery-poster-paper::after,.gallery-open-sheet::after{display:none}
.gallery-example-frame{position:absolute;left:0;top:0;width:1180px;height:835px;border:0;max-width:none;transform-origin:top left;pointer-events:none;background:var(--paper)}
.gallery-example-summary{position:relative;z-index:12;margin:9px 0 0;color:#d5c1df;font:11px/1.5 Arial,sans-serif;text-align:center}
.gallery-example-note{margin:10px 0 0;color:#b7a4c3;font:9px/1.5 Arial,sans-serif}
.gallery-example-note a{color:inherit;text-underline-offset:3px}

/* A half-turn reveals music and films on the reverse, at the same scale. */
.gallery-poster-paper,.gallery-open-sheet{transition:transform .65s cubic-bezier(.22,.7,.2,1),opacity .18s .14s}
.gallery-open-sheet{opacity:0;transform:rotateY(-180deg);z-index:1}
.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-poster-paper{transform:rotateY(180deg);opacity:0}
.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-open-sheet{transform:rotateY(0deg);opacity:1;z-index:3}
@media(prefers-reduced-motion:reduce){.gallery-poster-paper,.gallery-open-sheet{transition:none!important}}

/* A second leaf slides out from behind the music/cinema face. */
.gallery-words-sheet{position:absolute;inset:0;padding:0;overflow:hidden;background:#fff;border-radius:4px;box-shadow:0 20px 40px #08051b55;opacity:0;z-index:1;transform:translateX(0) rotate(0deg) scale(.97);transform-origin:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .65s cubic-bezier(.22,.7,.2,1),opacity .3s .15s}
.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-open-sheet{transform:translateX(-42%) rotateY(0deg);opacity:1;z-index:3}
.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-words-sheet{transform:translateX(42%) rotate(3deg);opacity:1}
@media(max-width:650px){.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-open-sheet{transform:translateX(-24%) rotateY(0deg) scale(.7)}.landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-words-sheet{transform:translateX(24%) rotate(3deg) scale(.7)}}
@media(prefers-reduced-motion:reduce){.gallery-words-sheet{transition:none!important}}

/* Touch devices reveal the same two pages in 2D: no rotating iframe surfaces. */
@media(max-width:650px),(hover:none),(pointer:coarse){
 .gallery-carousel,.gallery-poster-float{perspective:none}
 .gallery-poster{transform:translate(calc(-50% + var(--offset) * var(--gallery-step)),calc(-50% + var(--depth) * 24px)) rotate(calc(var(--offset) * 7deg)) scale(calc(1 - var(--depth) * .13))}
 .gallery-poster-float{animation:none;translate:none}
 .gallery-poster-sheen{display:none;animation:none}
 .gallery-poster-paper,.gallery-open-sheet,.gallery-words-sheet{-webkit-backface-visibility:visible;backface-visibility:visible;transition:transform .32s ease,opacity .2s ease}
 .gallery-poster-paper{transform:none}
 .gallery-open-sheet,.gallery-words-sheet{transform:scale(.98);opacity:0;visibility:hidden}
 .landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-poster-paper{transform:scale(.98);opacity:0;visibility:hidden}
 .landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-open-sheet{transform:translateX(-42%);opacity:1;visibility:visible}
 .landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-words-sheet{transform:translateX(42%) rotate(3deg);opacity:1;visibility:visible}
 .landing-gallery[data-open=true] .gallery-poster[data-selected=false]{visibility:hidden;transition:none}
}
@media(max-width:650px){
 .landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-open-sheet{transform:translateX(-24%) scale(.7)}
 .landing-gallery[data-open=true] .gallery-poster[data-selected=true] .gallery-words-sheet{transform:translateX(24%) rotate(3deg) scale(.7)}
}
