
@font-face{font-family:Syne;src:url(/preview-assets/ce5ac77142a65cab2248a1a2.ttf) format('truetype');font-weight:400 800;font-display:swap}@font-face{font-family:Body;src:url(/preview-assets/3ae11c49db0455a3cc33e37d.ttf) format('truetype');font-weight:200 800;font-display:swap}
:root{--paper:#f0f0f0;--ink:#323232;--gold:#c8ae6c;--white:#fff;--ui:#171918;--muted:#a6aaa6;--line:#353936;--slide:1700ms;--ease:cubic-bezier(.1,1,.12,1)}*{box-sizing:border-box}body{margin:0;background:var(--ui);color:var(--paper);font:13px Body,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{color:inherit}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;gap:20px;border-bottom:1px solid var(--line)}.brand strong{font:600 18px Syne,sans-serif}.brand small{display:block;color:var(--muted);margin-top:5px}.tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tool{background:transparent;border:1px solid var(--line);padding:10px 14px;border-radius:6px;min-height:40px}.tool[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}.workspace{padding:26px 28px 16px;display:flex;justify-content:center}.preview-wrap{position:relative;overflow:hidden;background:var(--paper);flex:none}.stage{position:absolute;left:0;top:0;width:1440px;height:900px;transform-origin:top left;background:var(--paper);color:var(--ink);overflow:hidden;font-family:Body,sans-serif;--w:1440px;--h:900px}.scene-nav{position:absolute;z-index:8;top:34px;left:146px;right:146px;display:flex;justify-content:space-between;align-items:center}.logo{border:0;background:none;padding:0;width:61px;height:55px;display:grid;place-items:center}.logo img{width:61px;height:54px;object-fit:contain}.links{display:flex;gap:15px;align-items:center}.links button{font:600 20px Syne,sans-serif;letter-spacing:-.6px;background:none;border:0;padding:10px;border-radius:7px;min-height:44px}.links button.active{background:#b3b3b3;color:var(--white)}.links .contact{background:var(--ink);color:var(--gold);cursor:default}.name{position:absolute;z-index:4;left:146px;top:185px;margin:0;font:600 56px/1 Syne,sans-serif;letter-spacing:-1.68px;transition:transform var(--slide) var(--ease),opacity var(--slide) var(--ease);pointer-events:none}.stage[data-section="2"] .name{transform:translateX(-650px);opacity:0}.star-position{position:absolute;width:2402px;height:2402px;left:-152px;top:-488px;transition:transform var(--slide) var(--ease),opacity var(--slide) var(--ease);pointer-events:none}.star-turn{width:2402px;height:2402px;transform-origin:center;will-change:transform}.star-turn img{display:block}.stage[data-section="1"] .star-position{transform:translateX(-1080px)}.stage[data-section="2"] .star-position{transform:translateX(-1840px);opacity:0}.panel{position:absolute;inset:0;transition:transform var(--slide) var(--ease),opacity var(--slide) var(--ease);will-change:transform}.panel:not(.current){pointer-events:none}.subtitle{position:absolute;left:146px;top:243px;font:400 56px/1 Syne,sans-serif;letter-spacing:-1.68px;margin:0}.intro{position:absolute;left:659px;top:184px;width:635px;text-align:right;font:400 18px/1.25 Body,sans-serif;letter-spacing:-.54px}.intro p{margin:0 0 22px}.rail{position:absolute;top:365px;left:146px;right:0;height:535px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-y;cursor:grab;overscroll-behavior-x:contain}.rail::-webkit-scrollbar{display:none}.rail.dragging{cursor:grabbing}.track{display:flex;width:max-content;gap:38px;padding:38px 6px 0}.ticket{width:300px;height:497px;flex:none;background:var(--white);border-radius:35px 35px 0 0;overflow:hidden;transition:transform 450ms var(--ease);border:0;padding:0;color:var(--ink);text-align:left;user-select:none;cursor:inherit}.ticket h2{height:100px;margin:0;padding:28px 30px 20px;font:600 24px/1.02 Syne,sans-serif;letter-spacing:-.72px;display:flex;align-items:center}.ticket img{width:100%;height:397px;object-fit:cover;pointer-events:none;display:block}.rail:has(.ticket:hover) .ticket:not(:hover){transform:translateY(10px)}.rail .ticket:hover,.rail .ticket:focus-visible{transform:translateY(-24px) scale(1.025);z-index:2}.clients{position:absolute;left:62px;top:0;height:900px;width:24px;overflow:hidden;color:var(--gold);font-size:18px;letter-spacing:2.7px;pointer-events:none}.clients-run{display:flex;align-items:center;gap:53px;width:max-content;position:absolute;left:0;top:900px;transform-origin:0 0;white-space:nowrap}.clients-run span{font-weight:650}.clients-run span:first-child{font-weight:400}.about-scroll{position:absolute;inset:0;overflow-y:auto;scrollbar-width:thin}.bio{position:absolute;left:711px;top:185px;width:583px;font:400 18px/1.3 Body,sans-serif;letter-spacing:-.35px}.bio p{margin:0 0 22px}.bio-line{display:block}.xylograph{position:absolute;left:146px;top:525px;width:184px;height:308px;overflow:hidden}.xylograph img{position:absolute;width:140.22%;height:112.75%;max-width:none;left:-21.2%;top:-6.86%;object-fit:fill}.photo-scroll{position:absolute;top:147px;left:146px;right:146px;bottom:0;overflow-y:auto;scrollbar-width:thin;padding-bottom:48px;overscroll-behavior:contain}.photo-grid{columns:4;column-gap:34px}.photo-grid figure{margin:0 0 24px;break-inside:avoid;border-radius:10px;overflow:hidden}.photo-grid img{width:100%;display:block}.notice{position:absolute;z-index:20;bottom:25px;left:50%;transform:translate(-50%,10px);padding:12px 18px;background:var(--ink);color:var(--paper);border-radius:6px;opacity:0;transition:opacity 250ms var(--ease),transform 250ms var(--ease);pointer-events:none;max-width:85%;text-align:center}.notice.visible{opacity:1;transform:translate(-50%,0)}.inspector{max-width:1440px;margin:0 auto;padding:8px 28px 22px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.inspector label{display:grid;grid-template-columns:auto auto;gap:8px 20px;min-width:180px;flex:1}.inspector label span{color:var(--muted)}.inspector output{text-align:right;font-variant-numeric:tabular-nums}.inspector input{grid-column:1/-1;accent-color:var(--gold);width:100%;cursor:pointer}.status{color:var(--muted);padding:0 28px 20px;max-width:1440px;margin:auto;line-height:1.6}.status strong{color:var(--paper);font-weight:500}.scope{border-top:1px solid var(--line);padding:22px 28px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;max-width:1440px;margin:auto;color:var(--muted);font-size:12px;line-height:1.7}.scope p{margin:0 0 8px}.scope strong{color:var(--paper);font-weight:500}.scope a{color:var(--paper)}.export{display:none;width:calc(100% - 56px);margin:0 28px 24px;min-height:150px;background:var(--ui);color:var(--paper);border:1px solid var(--line);padding:15px}.export.visible{display:block}
.stage.mobile{width:390px;height:780px;--w:390px;--h:780px}.mobile .scene-nav{left:24px;right:24px;top:18px}.mobile .logo{width:42px;height:44px}.mobile .logo img{width:42px;height:38px}.mobile .scene-nav{left:18px;right:18px;gap:12px}.mobile .logo{flex:none}.mobile .links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;min-width:0;gap:8px}.mobile .links button{text-align:center;width:100%;padding-inline:4px}.mobile .links button{font-size:12px;letter-spacing:-.2px;padding:9px 4px;min-width:0}.mobile .name{left:24px;top:112px;font-size:36px;letter-spacing:-1px}.mobile .subtitle{left:24px;top:156px;font-size:30px;letter-spacing:-.8px}.mobile .intro{left:24px;top:213px;width:342px;text-align:left;font-size:14px;line-height:1.4;letter-spacing:-.2px}.mobile .intro p{margin-bottom:12px}.mobile .intro br{display:none}.mobile .rail{left:18px;top:378px;height:402px}.mobile .track{padding-top:26px;gap:22px}.mobile .ticket{width:254px;height:412px;border-radius:28px 28px 0 0}.mobile .ticket h2{height:88px;font-size:21px;padding:20px 24px}.mobile .ticket img{height:324px}.mobile .clients{left:0;top:350px;width:390px;height:25px;font-size:11px;letter-spacing:1.5px}.mobile .clients-run{left:0;top:0;gap:28px}.mobile .star-position{left:-785px;top:-340px;transform:scale(.62);transform-origin:center}.mobile[data-section="1"] .star-position{transform:translateX(-500px) scale(.62)}.mobile[data-section="2"] .star-position{transform:translateX(-1000px) scale(.62)}.mobile .about-scroll{top:207px;bottom:0}.mobile .bio{left:24px;top:0;width:342px;font-size:16px;line-height:1.5;letter-spacing:-.2px}.mobile .bio p{margin-bottom:22px}.mobile .xylograph{left:24px;top:535px;width:145px;height:243px}.mobile .about-scroll:after{content:'';display:block;position:absolute;top:800px;height:24px;width:1px}.mobile .photo-scroll{left:24px;right:24px;top:94px}.mobile .photo-grid{columns:2;column-gap:14px}.mobile .photo-grid figure{margin-bottom:14px;border-radius:7px}.mobile .notice{font-size:12px;width:320px}.reduced .panel,.reduced .name,.reduced .star-position,.reduced .ticket{transition-duration:1ms!important}@media(max-width:700px){.toolbar{padding:16px;align-items:flex-start;flex-direction:column;gap:14px}.workspace{padding:16px}.inspector{padding:8px 16px 20px;gap:20px}.inspector label{min-width:130px}.scope{padding:20px 16px;grid-template-columns:1fr;gap:12px}.status{padding:0 16px 16px}.brand small{font-size:11px}.tools{gap:6px}.tool{padding:8px 11px}}

/* Ticket material and continuous edge-to-edge stage. */
.rail{left:0;top:345px;height:760px}.track{padding:58px 152px 0;perspective:1800px}
.ticket{height:690px;position:relative;overflow:visible;background:none;border-radius:35px 35px 0 0;transition:transform 1000ms var(--ease);transform-style:preserve-3d}
.ticket-face{display:block;height:100%;background:#fbfaf6;border-radius:inherit;overflow:hidden;position:relative;transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform 1250ms var(--ease);box-shadow:inset 1px 0 0 #ffffffb3,2px 8px 20px #32323212;will-change:transform}
.ticket-title{height:100px;margin:0;padding:26px 30px 20px;font:600 24px/1.08 Syne,sans-serif;letter-spacing:-.72px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.ticket-title span{display:block;white-space:nowrap}
.ticket-face:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:4}
.ticket-gloss{position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:inherit;padding:1.5px;background:radial-gradient(ellipse at var(--light-x,30%) var(--light-y,12%),#fff 0%,#fff9 14%,#fff1 38%,transparent 65%);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;opacity:.65;transition:opacity 1100ms var(--ease)}
.ticket:hover .ticket-gloss{opacity:1}.ticket-title{color:#353330;text-shadow:var(--text-light-x,-.5px) var(--text-light-y,-.7px) .6px #fff, .4px .7px .6px #0003;transition:text-shadow 1250ms var(--ease)}.ticket-face{box-shadow:inset 1px 1px 0 #ffffffb3,inset -1px 0 0 #514b3d22,1px 3px 7px #32323208}
.ticket-media{display:block;position:relative;height:590px;overflow:hidden;isolation:isolate;background:var(--paper)}
.ticket .selected-frame,.ticket .selected-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.ticket .selected-frame{opacity:0;transform:translateX(100%);transition:transform 1100ms var(--ease),opacity 1100ms var(--ease)}.ticket .selected-frame.is-leaving{transform:translateX(-100%)}.ticket .selected-frame.is-current{opacity:1;transform:translateX(0)}.ticket .selected-video{opacity:0;transition:opacity 600ms var(--ease)}.ticket .selected-video.is-playing{opacity:1}.selected-embed{position:absolute;left:50%;top:50%;height:100%;width:1100px;transform:translate(-50%,-50%);border:0;opacity:0;pointer-events:none}.selected-embed.is-playing{opacity:1}
.clients{z-index:6;text-shadow:none}.star-turn{position:relative}.star-turn img{position:absolute;inset:0}#star{opacity:1;transition:opacity 1400ms var(--ease)}.stage[data-section="1"] #star{opacity:0}#star-about{opacity:0;transition:opacity 1400ms var(--ease)}.stage[data-section="1"] #star-about{opacity:1}
.photo-scroll,.about-scroll{scrollbar-width:none}.photo-scroll::-webkit-scrollbar,.about-scroll::-webkit-scrollbar{display:none}.photo-grid figure{overflow:visible}.photo-button{display:block;width:100%;padding:0;border:0;background:none;border-radius:inherit;cursor:zoom-in;transition:transform 1000ms var(--ease);position:relative}.photo-button img{border-radius:inherit}.photo-button:hover,.photo-button:focus-visible{transform:scale(1.035);z-index:3}
.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:64px 70px 50px;border:0;background:#171918f5;color:var(--paper);opacity:0;transition:opacity 550ms var(--ease);overflow:hidden}.lightbox::backdrop{background:#171918b3}.lightbox.is-open{opacity:1}.lightbox img{display:block;width:100%;height:calc(100% - 30px);object-fit:contain;transform:scale(.96);transition:transform 900ms var(--ease)}.lightbox.is-open img{transform:scale(1)}.lightbox button{position:absolute;background:none;border:1px solid #ffffff50;border-radius:50%;width:44px;height:44px;color:var(--paper);font-size:22px}.lightbox-close{right:20px;top:14px}.lightbox-prev{left:12px;top:48%}.lightbox-next{right:12px;top:48%}.lightbox-caption{text-align:center;margin:12px 0;font-size:13px}
.mobile .rail{left:0;top:378px;height:650px}.mobile .track{padding:26px 24px 0}.mobile .ticket{height:560px}.mobile .ticket-title{height:88px;padding:20px 24px;font-size:21px}.mobile .ticket-media{height:472px}.mobile .ticket .selected-frame,.mobile .ticket .selected-video{height:100%}
.reduced .ticket-face,.reduced .ticket-gloss,.reduced .selected-frame,.reduced .photo-button,.reduced #star-about{transition-duration:1ms!important}.reduced .ticket-face{transform:none}.reduced .photo-button:hover{transform:none}
@media(max-width:600px){.lightbox{padding:66px 12px 70px}.lightbox-prev,.lightbox-next{top:auto;bottom:10px}.lightbox-prev{left:calc(50% - 54px)}.lightbox-next{right:calc(50% - 54px)}}

.ticket:not(.material-visible) .media-depth{display:none}
/* Progressive optical blur: cumulative Gaussian layers, media remains opaque. */
.media-depth{position:absolute;inset:0;z-index:3;pointer-events:none}.media-depth i,.rail-edge-blur i{position:absolute;inset:0;display:block;pointer-events:none;backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}
.media-depth i{mask-image:linear-gradient(to bottom,transparent var(--start),black var(--end));-webkit-mask-image:linear-gradient(to bottom,transparent var(--start),black var(--end))}
.media-depth i:nth-child(1){--blur:1px;--start:0%;--end:15%}.media-depth i:nth-child(2){--blur:1.73px;--start:10%;--end:28%}.media-depth i:nth-child(3){--blur:2.24px;--start:20%;--end:40%}.media-depth i:nth-child(4){--blur:2.65px;--start:30%;--end:52%}.media-depth i:nth-child(5){--blur:3px;--start:40%;--end:65%}
.rail-edge-blur{position:absolute;z-index:5;left:0;top:0;bottom:0;width:220px;pointer-events:none;will-change:transform}
.rail-edge-blur i{mask-image:linear-gradient(to right,black var(--solid),transparent var(--clear));-webkit-mask-image:linear-gradient(to right,black var(--solid),transparent var(--clear))}
.rail-edge-blur i:nth-child(1){--blur:1px;--solid:65%;--clear:100%}.rail-edge-blur i:nth-child(2){--blur:2px;--solid:45%;--clear:85%}.rail-edge-blur i:nth-child(3){--blur:3px;--solid:30%;--clear:70%}.rail-edge-blur i:nth-child(4){--blur:4px;--solid:15%;--clear:55%}.rail-edge-blur i:nth-child(5){--blur:4px;--solid:0%;--clear:40%}
.rail{z-index:2;isolation:isolate;filter:opacity(1);mask-image:none;-webkit-mask-image:none}.mobile .rail{mask-image:none;-webkit-mask-image:none;filter:none}.mobile .rail-edge-blur{display:none}.panel{z-index:3;pointer-events:none}.panel.current .photo-scroll,.panel.current .about-scroll{pointer-events:auto}.clients{z-index:6}.clients-run .trusted-label{font-weight:200}.tickets-travelling .ticket{pointer-events:none}.mobile .rail-edge-blur{top:0;width:24px}

.ticket-wash{position:absolute;inset:0;pointer-events:none;z-index:6;background:linear-gradient(to right,rgba(240,240,240,.8) var(--wash-origin,-500px),rgba(240,240,240,0) calc(var(--wash-origin,-500px) + 220px))}.mobile .ticket-wash{display:none}

.media-depth i{--start:0%!important;--end:100%!important}.rail-edge-blur i{--solid:0%!important;--clear:100%!important}
.photo-scroll,.mobile .photo-scroll{inset:0;overflow:clip;touch-action:none;cursor:grab;padding:0;contain:layout style}.photo-scroll.is-dragging{cursor:grabbing}.photo-grid{position:absolute;inset:0;columns:auto;overflow:visible;transform-origin:0 0}.photo-grid figure{display:contents}.photo-grid .photo-button{position:absolute;left:0;top:0;padding:0;border:0;border-radius:3px;background:var(--paper);transition:none;user-select:none;touch-action:none;cursor:grab;transform-origin:center;box-shadow:0 1px 0 #fff9,1px 2px 0 #b5b3ae,2px calc(4px + var(--lift)*.3px) calc(8px + var(--lift)*.5px) #32323224;--lift:0}.photo-grid .photo-button img{height:100%;width:100%;object-fit:cover;pointer-events:none;border-radius:3px}.photo-grid .photo-button:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 #ffffff65,inset -1px -1px 0 #32323220;background:linear-gradient(125deg,#ffffff0d,transparent 42%,#32323205)}.photo-grid .photo-button.picked{cursor:grabbing;box-shadow:2px 3px 0 #b5b3ae,6px 18px 26px #32323235}.photo-brand{display:flex;align-items:center;gap:12px}.photo-reset{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:11px;border:1px solid #32323225;border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer}.stage[data-section="2"] .photo-reset{display:flex}.photo-reset svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.photo-reset:hover{background:#e5e4e0}.mobile .photo-brand{gap:4px}.mobile .photo-reset{width:32px;height:44px;min-width:32px;padding:7px;border:0;background:transparent}.mobile .photo-reset svg{background:var(--paper);border-radius:50%;outline:1px solid #32323225;outline-offset:5px}.photo-hint{position:absolute;z-index:100;transform:translate(-50%,-50%);pointer-events:none;display:grid;justify-items:center;gap:10px;color:var(--white);text-shadow:0 1px 5px #0008;transition:opacity 500ms var(--ease)}.photo-hint span{font-size:12px;padding:6px 10px;background:#323232b3;border-radius:20px;white-space:nowrap}.hint-hand{width:62px;height:72px;overflow:visible;fill:#f0f0f0eb;stroke:var(--ink);stroke-width:1.7;stroke-linejoin:round;filter:drop-shadow(0 3px 5px #0003);animation:hand-drag 3.6s infinite cubic-bezier(.16,1,.3,1);animation-play-state:paused}.hint-contact{fill:none;stroke:var(--white);stroke-width:2;stroke-linecap:round;animation:hand-contact 3.6s infinite;animation-play-state:paused}.stage[data-section="2"] .hint-hand,.stage[data-section="2"] .hint-contact{animation-play-state:running}.hint-fingers{transform-origin:30px 40px;animation:hand-pinch 3.6s infinite;animation-play-state:paused}.stage[data-section="2"] .hint-fingers{animation-play-state:running}.photo-hint.dismissed{opacity:0}.photo-hint.dismissed *{animation:none}.reduced .photo-hint *{animation:none!important}@keyframes hand-drag{0%,12%{transform:translate(-20px,12px) rotate(-8deg)}28%{transform:translate(-20px,12px) scale(.9)}65%,78%{transform:translate(30px,-12px) rotate(8deg) scale(.9)}100%{transform:translate(-20px,12px) rotate(-8deg)}}@keyframes hand-contact{0%,12%,40%,100%{opacity:0}20%,30%{opacity:1}}@keyframes hand-pinch{0%,12%,90%,100%{transform:scaleX(1)}28%,78%{transform:scaleX(.8)}}.lightbox{background:#171918d9;transition:background 700ms var(--ease);opacity:1}.lightbox:not(.is-open){background:#17191800}.lightbox::backdrop{background:transparent}.lightbox img{object-fit:contain;transition:none;box-shadow:0 20px 70px #0004}.lightbox button,.lightbox-caption{transition:opacity 300ms var(--ease)}.lightbox:not(.is-open) button,.lightbox:not(.is-open) .lightbox-caption{opacity:0;pointer-events:none}.lightbox-caption{position:absolute;bottom:18px;left:70px;right:70px}.lightbox button[hidden]{display:none}

/* One shared photograph layer spans section boundaries; only the outer viewport clips. */
.stage .photo-scroll{overflow:visible;z-index:7;pointer-events:none;transition:transform var(--slide) var(--ease)}
.stage[data-section="2"] .photo-scroll{pointer-events:auto}
.photo-grid{pointer-events:none}.photo-grid .photo-button{pointer-events:auto}
.stage:not([data-section="2"]) .photo-hint{opacity:0}
.card-reset{position:absolute;z-index:10000;transform:translate(-50%,-50%);min-width:64px;min-height:44px;padding:10px 16px;border:1px solid #ffffff80;border-radius:24px;color:var(--ink);background:var(--paper);box-shadow:0 3px 12px #0002;pointer-events:auto;font-size:12px}
.card-reset[hidden]{display:none}.reduced .photo-scroll{transition-duration:1ms!important}
.scene-nav{pointer-events:none}.scene-nav button{pointer-events:auto}

/* The production-sized preview is the default; ?studio=1 keeps the timing workbench. */
html.full-preview,html.full-preview body{width:100%;height:100%;overflow:hidden;background:var(--paper)}
.full-preview .toolbar,.full-preview .inspector,.full-preview .status,.full-preview .scope,.full-preview .export{display:none!important}
.full-preview main,.full-preview .workspace,.full-preview .preview-wrap{position:fixed;inset:0;width:100%;height:100%;padding:0;margin:0}
.full-preview .stage{width:100%;height:100%;--gutter:clamp(32px,10.14vw,260px);--hero-top:20.55vh;--hero-size:clamp(44px,3.89vw,96px);--rail-top:max(345px,38.3vh);--ticket-head:clamp(100px,6.94vw,160px);--ticket-font:clamp(24px,1.667vw,38px)}
.full-preview .stage:not(.mobile) .scene-nav{left:var(--gutter);right:var(--gutter);top:clamp(28px,3.78vh,70px)}
.full-preview .stage:not(.mobile) .name,.full-preview .stage:not(.mobile) .subtitle{left:var(--gutter);font-size:var(--hero-size);letter-spacing:-.03em;top:var(--hero-top)}
.full-preview .stage:not(.mobile) .subtitle{top:calc(var(--hero-top) + var(--hero-size)*1.04)}
.full-preview .stage:not(.mobile) .intro{left:auto;right:var(--gutter);width:min(43vw,820px);top:var(--hero-top);font-size:clamp(18px,1.25vw,26px);line-height:1.35}
.full-preview .stage:not(.mobile) .bio{left:auto;right:var(--gutter);width:min(40.5vw,820px);top:var(--hero-top);font-size:clamp(18px,1.25vw,26px);line-height:1.4}
.full-preview .stage:not(.mobile) .xylograph{--portrait-height:clamp(308px,34vh,552px);left:var(--gutter);top:min(54vh,calc(100% - var(--portrait-height) - 48px));width:calc(var(--portrait-height)*.5974);height:var(--portrait-height)}
.full-preview .stage:not(.mobile) .clients{left:calc(var(--gutter)*.425);height:100%;width:2em;line-height:1.4;font-size:clamp(18px,1.25vw,25px)}
.full-preview .stage:not(.mobile) .clients-run{top:100%}
.full-preview .stage:not(.mobile) .rail{top:var(--rail-top);height:calc(100% - var(--rail-top) + 180px)}
.full-preview .stage:not(.mobile) .ticket{width:clamp(300px,20.84vw,520px);height:calc(100dvh - var(--rail-top) + 160px)}
.full-preview .stage:not(.mobile) .ticket-title{height:var(--ticket-head);padding:clamp(26px,1.8vw,42px) clamp(30px,2.1vw,52px);font-size:var(--ticket-font)}
.full-preview .stage:not(.mobile) .ticket-media{height:calc(100% - var(--ticket-head))}
.full-preview .stage:not(.mobile) .track{padding-inline:var(--gutter);gap:clamp(38px,2.64vw,66px)}
.full-preview .stage:not(.mobile) .star-position{left:-10.55vw;top:-54.22vh;width:max(2402px,166.8vw);height:max(2402px,166.8vw)}
.full-preview .stage:not(.mobile) .star-turn{width:100%;height:100%}.full-preview .stage:not(.mobile) .star-turn img{width:100%;height:100%}
.full-preview .stage.mobile .intro,.full-preview .stage.mobile .bio{width:calc(100% - 48px)}
.full-preview .stage.mobile .clients{width:100%}.full-preview .stage.mobile .rail{height:calc(100% - 378px + 180px)}
.full-preview .stage.mobile .ticket{height:calc(100dvh - 378px + 160px)}.full-preview .stage.mobile .ticket-media{height:calc(100% - 88px)}
@media(min-width:901px) and (max-width:1200px){.full-preview .stage{--gutter:48px;--hero-size:44px}.full-preview .stage:not(.mobile) .intro{width:40vw;font-size:16px}.full-preview .stage:not(.mobile) .intro br{display:none}}

@media(min-width:1441px){.full-preview .stage:not(.mobile) .ticket{width:clamp(300px,calc(300px + (100vw - 1440px)*.04),396px)}}
.mobile .links{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.mobile .scene-nav{gap:6px}.mobile .links button{font-size:11px;padding-inline:2px}

.stage,.preview-wrap{overflow:clip}
.reader-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:0;margin:0;background:transparent;color:var(--ink);overflow:hidden;--reader-width:min(59.86vw,1500px);--fold-width:clamp(52px,5.97vw,108px);--reader-pad:clamp(28px,2.85vw,64px);font-family:Body,sans-serif}
.reader-dialog::backdrop{background:transparent}
.reader-sheet{position:absolute;inset:0 auto 0 0;width:var(--reader-width);background:#fff;box-shadow:none;overflow:hidden}
.reader-dialog.morphing .reader-sheet{background:transparent;box-shadow:none}
.reader-scroll{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:clamp(112px,13vh,160px) var(--reader-pad) 80px calc(var(--fold-width) + var(--reader-pad));opacity:1}
.reader-scroll>header,.reader-body{width:100%;max-width:none}.reader-heading{font:600 clamp(22px,1.53vw,32px)/1.2 Syne,sans-serif;letter-spacing:-.03em;margin:0 0 30px;overflow-wrap:anywhere}
.reader-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin:0 0 28px;font-size:clamp(13px,1.11vw,18px);line-height:1.3}.reader-meta>div{display:flex;gap:12px;max-width:45%}.reader-meta dt{font-weight:300}.reader-meta dd{margin:0}.reader-meta .reader-client{display:block}.reader-client time{display:block;margin-top:14px}.reader-rule{display:block;width:100%;height:1px;border:0;background:var(--gold);margin:0 0 28px;opacity:.65}
.reader-body{font-size:clamp(16px,1.11vw,20px);line-height:1.55;overflow-wrap:anywhere}.reader-body p{margin:0 0 22px}.reader-body h1,.reader-body h2,.reader-body h3{font-family:Syne,sans-serif;line-height:1.2;letter-spacing:-.025em;font-weight:600;margin:32px 0 18px;font-size:1.5em}.reader-body a{color:inherit;text-decoration-color:var(--gold);text-underline-offset:4px}.reader-body .pj-prose{margin-bottom:25px}.reader-body .pj-media{margin:0 0 25px;width:100%}.reader-body img,.reader-body video{display:block;width:100%;height:auto;max-width:100%;border-radius:3px}.reader-body .pj-grid{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:16px}.reader-body figcaption{font-size:.75em;line-height:1.5;color:#6c6a65;margin-top:10px}.reader-body .pj-source{font-size:.72em}.reader-body .pj-video{position:relative;background:var(--paper)}.reader-body iframe{width:100%;height:100%;min-height:360px;border:0}.reader-body .pj-load{position:relative;display:block;width:100%;border:0;background:var(--paper);padding:0;color:var(--ink)}.reader-body .pj-play{position:absolute;inset:0;display:grid;place-content:center;background:#f0f0f040;font-size:14px}.reader-body .pj-load-post{padding:14px 18px;border:1px solid var(--gold);background:var(--paper);border-radius:4px}.reader-body .pj-media-status{font-size:12px}
.reader-fold{position:absolute;left:0;top:0;width:var(--fold-width);height:100%;overflow:hidden;transform-origin:0 0;pointer-events:none;z-index:3;background:var(--paper)}.reader-fold-image{position:absolute;inset:-15px;width:calc(100% + 30px);height:calc(100% + 30px);object-fit:cover;filter:blur(8.65px)}.reader-paper-morph{position:fixed;left:0;top:0;background:#fff;transform-origin:0 0;z-index:0;pointer-events:none}.reader-title-morph{position:fixed;left:0;top:0;margin:0;transform-origin:0 0;z-index:4;font-family:Syne,sans-serif;font-weight:600;line-height:1.08;pointer-events:none;color:var(--ink)}
.reader-active .home .intro,.reader-active .home .subtitle,.reader-active .name{opacity:0}.home .intro{transition:opacity 650ms var(--ease)}
 .reader-image-dialog{position:fixed;inset:0;border:0;margin:0;background:#171918f5;width:100vw;height:100dvh;max-width:none;max-height:none;padding:60px 32px 32px;display:none;place-items:center}.reader-image-dialog[open]{display:grid}.reader-image-dialog::backdrop{background:#171918}.reader-image-dialog img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 92px);object-fit:contain}.reader-image-dialog button{position:absolute;right:20px;top:12px;width:44px;height:44px;border:1px solid #ffffff60;background:var(--ink);border-radius:50%;color:white;font-size:24px}
@media(max-width:900px){.reader-dialog{--reader-width:100vw;--fold-width:14px;--reader-pad:16px}.reader-scroll{padding:88px 24px 70px 30px}.reader-heading{font-size:24px}.reader-meta{font-size:12px;gap:18px}.reader-meta>div{max-width:100%;flex-basis:100%}.reader-client time{display:inline;margin-left:12px}.reader-body{font-size:15px}.reader-body .pj-grid{grid-template-columns:1fr}.reader-body iframe{min-height:220px}.reader-sheet:after{content:'';position:absolute;left:14px;right:0;bottom:0;height:8px;background:linear-gradient(135deg,transparent 50%,var(--paper) 50%) 0 0/12px 12px,linear-gradient(225deg,transparent 50%,var(--paper) 50%) 0 0/12px 12px;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.reader-dialog::backdrop{backdrop-filter:none}.reader-active .home .intro{transition:none}}


.reader-background{position:absolute;inset:0;filter:blur(0);transition:filter 1150ms var(--ease)}.reader-active .reader-background{filter:blur(8px)}
.reader-live-nav{position:fixed!important;z-index:20;pointer-events:none}.reader-live-nav .photo-brand{visibility:visible;pointer-events:auto}.reader-live-nav .links{display:flex;justify-content:flex-end;gap:15px}.reader-live-nav .links .contact{display:block;background:var(--ink);color:var(--gold)}.reader-live-nav .links button{font:600 20px Syne,sans-serif;background:none;border:0;padding:10px;min-height:44px;color:var(--ink);pointer-events:auto;letter-spacing:-.6px}.reader-live-nav .links .reader-close{background:var(--ink);color:var(--gold);border-radius:7px}.reader-live-nav .links button.active{background:#b3b3b3;color:var(--white)}
.reader-title-morph{white-space:pre;line-height:normal;letter-spacing:-.03em}.reader-reveal-word{display:inline-block;white-space:pre;vertical-align:baseline}.reader-video-wrap{position:relative}.reader-media-toggle{position:absolute;right:10px;bottom:10px;width:36px;height:36px;border:1px solid #ffffff60;border-radius:50%;background:#171918b3;color:white;font-size:12px;opacity:0;transition:opacity 200ms}.reader-video-wrap:hover .reader-media-toggle,.reader-video-wrap:focus-within .reader-media-toggle{opacity:1}
@media(max-width:900px){.reader-live-nav{left:18px!important;right:18px!important;top:18px!important;width:auto!important}.reader-live-nav .photo-brand{display:flex;flex:none}.reader-live-nav .links{width:100%;gap:4px;justify-content:space-between}.reader-live-nav .links button{font-size:12px;padding:8px}.reader-media-toggle{opacity:1}.reader-dialog .reader-fold-image{filter:none}}
@media(prefers-reduced-motion:reduce){.reader-background{transition:none}.reader-reveal-word{clip-path:none!important;opacity:1!important}}

.reader-scene{position:fixed;inset:0;pointer-events:none}.reader-scene .reader-scroll{pointer-events:auto}.reader-return-still{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:1;pointer-events:none}.reader-live-nav .logo{pointer-events:auto}.reader-live-nav .logo img{width:61px;height:54px}.reader-live-nav .links{flex:none}@media(max-width:900px){.reader-live-nav .logo,.reader-live-nav .logo img{width:42px;height:38px}.reader-live-nav{gap:6px}.reader-live-nav .links{flex:1}.reader-live-nav .links button{font-size:11px;padding-inline:2px}}

/* Keep the single site navigation; hide only the reader scroll indicator. */
.reader-scroll::-webkit-scrollbar{display:none}
.reader-top-fade{position:absolute;left:var(--fold-width);right:0;top:0;height:var(--reader-fade-bottom,112px);background:linear-gradient(to bottom,#fff 0%,#fff calc(100% - 48px),#ffffff00 100%);pointer-events:none;z-index:5}

.reader-close{position:absolute;right:20px;top:20px;z-index:8;width:44px;height:44px;border:0;border-radius:50%;background:var(--white);color:var(--ink);font:300 28px/1 Body,sans-serif;box-shadow:0 1px 8px #32323212;pointer-events:auto}.reader-close[hidden]{display:none}.reader-return-front .ticket-wash,.reader-return-front .media-depth{display:none!important}.reader-return-front .ticket-face{transform:none!important}@media(max-width:900px){.reader-close{top:72px;right:12px}.reader-scroll{padding-top:128px}}

.reader-body .reader-auto-grid{display:flex;flex-direction:column;gap:16px}.reader-image-row{display:flex;align-items:flex-start;width:100%}.reader-image-row>a{display:block;min-width:0}.reader-image-row img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}

.scene-nav .links .language-switch{flex:none;min-width:44px;width:44px;padding:10px 4px;font-size:12px;letter-spacing:.04em;background:transparent;color:var(--ink);border:1px solid #32323224;border-radius:50%;overflow:hidden}.nav-label,.language-label{display:inline-block}.language-switch:disabled{cursor:wait}.mobile .links{grid-template-columns:.8fr .8fr 1.4fr 1.2fr 44px;gap:2px}@media(max-width:900px){.reader-live-nav .links{gap:2px}.reader-live-nav .links .language-switch{font-size:11px}.reader-live-nav .links button{flex:1;white-space:nowrap}.reader-live-nav .links .language-switch{flex:none}}

/* Paper, ink and the original woodcut: a visiting card in the existing scene. */
:root{--contact-paper:#fbfaf7;--contact-line:rgba(50,50,50,.16);--contact-muted:#686760}
.links .contact{cursor:pointer}
.contact-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:auto;background:transparent;color:var(--ink);font-family:Body,Arial,sans-serif;overscroll-behavior:contain}
.contact-dialog::backdrop{background:transparent}
.contact-paper{position:absolute;right:clamp(32px,10.14vw,260px);top:max(28px,calc((100dvh - 680px)/2));width:430px;min-height:640px;transform-origin:0 0;background:var(--contact-paper);border-radius:3px;box-shadow:0 24px 80px rgb(0 0 0 / .14),0 1px 3px rgb(0 0 0 / .12)}
.contact-settled .contact-paper{transform:perspective(1400px) rotateX(var(--contact-rx,0deg)) rotateY(var(--contact-ry,0deg));transition:transform 900ms cubic-bezier(.16,1,.3,1)}
.contact-content{padding:28px 32px 24px;overflow:hidden;border-radius:inherit}
.contact-head{display:flex;align-items:center;gap:12px;height:44px;margin-bottom:28px}
.contact-head>img{width:39px;height:42px;object-fit:contain}
.contact-head>span{font-size:12px;color:var(--contact-muted);margin-left:auto}
.contact-close{display:grid;place-items:center;width:44px;height:44px;margin-right:-12px;border:0;background:transparent;color:var(--ink);font:300 28px/1 Body,sans-serif;border-radius:50%;transition:background 300ms var(--ease)}
.contact-close:hover{background:rgba(50,50,50,.06)}
#contact-name{margin:0;font:600 56px/.94 Syne,sans-serif;letter-spacing:-2.4px}
.contact-period{color:var(--gold)}
.contact-role{margin:14px 0 0;font-size:14px;letter-spacing:-.25px}
.contact-portrait{position:relative;height:225px;margin:0 -32px;overflow:hidden}
.contact-portrait>img{position:absolute;right:10px;bottom:-26px;width:218px;height:244px;object-fit:cover;object-position:center 20%;mix-blend-mode:multiply;pointer-events:none}
.contact-invite{position:absolute;left:32px;top:78px;z-index:1;margin:0;width:170px;font:500 21px/1.12 Syne,sans-serif;letter-spacing:-.6px}
.contact-details{position:relative;border-top:1px solid var(--contact-line);padding-top:18px}
.contact-email-row{display:flex;align-items:center;gap:10px}
.contact-email{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-height:48px;color:var(--ink);font:600 25px/1.1 Syne,sans-serif;text-decoration:none;letter-spacing:-.7px}
.contact-email svg{width:23px;height:23px;transition:transform 450ms var(--ease)}
.contact-email:hover svg{transform:translate(3px,-3px)}
.contact-dialog svg{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.contact-copy{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--contact-line);background:transparent;border-radius:50%;transition:background 300ms var(--ease)}
.contact-copy:hover{background:rgba(200,174,108,.16)}
.contact-copy svg{width:18px;height:18px}
.contact-address{margin:2px 0 22px;color:var(--contact-muted);font-size:13px;user-select:all}
.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}
.contact-social{display:flex;gap:16px}
.contact-social a,.contact-save{display:inline-flex;align-items:center;gap:3px;min-height:44px;color:var(--ink);font:400 12px Body,sans-serif;text-decoration:none;border:0;background:none;padding:0}
.contact-social svg{width:11px;height:11px}
.contact-social a:hover,.contact-save:hover{text-decoration:underline;text-underline-offset:5px}
.contact-save{color:var(--contact-muted)}
.contact-feedback{display:block;height:18px;font-size:11px;color:var(--contact-muted)}
.contact-dialog :focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(min-width:2200px){.contact-paper{width:500px}.contact-content{padding:34px 40px 28px}#contact-name{font-size:66px}.contact-portrait{height:260px;margin:0 -40px}.contact-portrait>img{width:250px;height:280px}.contact-invite{left:40px;top:95px;font-size:24px;width:190px}}
@media(max-width:600px){.contact-paper{right:16px;top:max(16px,calc((100dvh - 635px)/2));width:calc(100% - 32px);min-height:0}.contact-content{padding:22px 24px 16px}.contact-head{margin-bottom:22px}#contact-name{font-size:50px}.contact-portrait{height:205px;margin:0 -24px}.contact-portrait>img{width:195px;height:220px;right:0}.contact-invite{left:24px;top:74px;font-size:19px;width:145px}.contact-email{font-size:23px}.contact-social{gap:12px}.contact-bottom{gap:8px}.contact-social a,.contact-save{font-size:11px}}
@media(prefers-reduced-motion:reduce){.contact-settled .contact-paper{transform:none;transition:none}}

