/* A quiet portrait, a curved gallery, and native scroll. */
.portrait-hero{height:145svh;min-height:1080px;position:relative;background:#080808}.portrait-stage{height:100svh;min-height:760px;position:sticky;top:0;isolation:isolate;overflow:hidden;background:#080808}.hero-reel{position:absolute;z-index:1;left:-2.5%;top:23%;width:105%;height:28%;display:flex;align-items:center;gap:16px;perspective:1200px;transform:translate3d(0,var(--reel-y,0px),0) scale(var(--reel-scale,1));opacity:var(--reel-opacity,.75);will-change:transform,opacity}.reel-card{position:relative;flex:1 0 0;min-width:0;height:90%;overflow:hidden;border:1px solid #ffffff1e;background:#141416;transition:filter .5s,opacity .5s;transform-style:preserve-3d;filter:saturate(.45) brightness(.78);clip-path:polygon(0 0,100% 5%,100% 95%,0 100%)}.reel-card img,.reel-card video{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.reel-card-1{height:120%;transform:rotateY(24deg);transform-origin:100% 50%}.reel-card-2{height:99%;transform:rotateY(16deg)}.reel-card-3{height:84%;transform:rotateY(8deg)}.reel-card-4{height:84%;transform:rotateY(-8deg);clip-path:polygon(0 5%,100% 0,100% 100%,0 95%)}.reel-card-5{height:99%;transform:rotateY(-16deg);clip-path:polygon(0 5%,100% 0,100% 100%,0 95%)}.reel-card-6{height:120%;transform:rotateY(-24deg);transform-origin:0 50%;clip-path:polygon(0 5%,100% 0,100% 100%,0 95%)}.reel-card-4 video{object-position:50% 35%}.reel-card:hover,.reel-card:focus-visible{filter:saturate(.9) brightness(1);opacity:1}.reel-card:hover img{transform:scale(1.04)}.reel-caption{position:absolute;bottom:0;left:0;right:0;padding:24px 15px 10px;background:linear-gradient(transparent,#000b);font-size:.75rem;color:#eee;opacity:0;transition:opacity .4s}.reel-card:hover .reel-caption,.reel-card:focus-visible .reel-caption{opacity:1}.hero-portrait{position:absolute;z-index:2;left:50%;top:10%;height:57%;width:clamp(280px,29vw,440px);transform:translate3d(-50%,var(--portrait-y,0px),0) scale(var(--portrait-scale,1));transform-origin:center 80%;pointer-events:none;will-change:transform;mask-image:linear-gradient(#000 47%,#000c 61%,transparent 99%);-webkit-mask-image:linear-gradient(#000 47%,#000c 61%,transparent 99%)}.hero-portrait img{width:100%;height:100%;object-fit:contain;object-position:center top;filter:brightness(.39) saturate(.45);opacity:.94}.hero-copy{position:absolute;z-index:3;top:65.5%;left:50%;width:min(785px,88%);display:grid;grid-template-columns:1.7fr 1fr;gap:35px;align-items:end;transform:translate3d(-50%,var(--copy-y,0px),0);opacity:var(--copy-opacity,1);will-change:transform,opacity}.hero-title-group .eyebrow{font-size:.75rem;letter-spacing:.22em;margin-bottom:13px}.hero-title-group h1{font-size:clamp(2.25rem,3.5vw,3.375rem);line-height:1.045;letter-spacing:-.037em}.hero-title-group h1 span{display:block;white-space:nowrap}.hero-title-group h1 span+span{color:#c8b8ce}.hero-title-group .button-row{margin-top:24px}.hero-aside{border-left:1px solid #ffffff35;padding:14px 0 0 35px;margin-bottom:5px;font-size:1rem;line-height:1.55;color:#c1b9c5}.personal-signature{display:block;font:italic 2.6rem/1.2 var(--serif);letter-spacing:-.07em;margin-top:18px;color:#bab0c1}.hero-bottom{position:absolute;z-index:4;bottom:24px;left:6%;right:6%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:end;color:#8f8895;opacity:var(--copy-opacity,1)}.hero-edition{font-size:.75rem;letter-spacing:.04em;align-self:center}.scroll-cue{justify-self:center;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:.75rem;letter-spacing:.14em;padding:8px 15px 0}.scroll-cue>span{width:1px;height:24px;background:#817686;transform-origin:top;animation:scroll-line 2.4s var(--ease) infinite}.motion-toggle{justify-self:end;font-size:.75rem;line-height:1.5;color:#b1a7b8;padding:10px 14px;min-height:44px;background:#ffffff05;border:1px solid #ffffff18;border-radius:30px}.motion-toggle:hover{background:#ffffff10}.motion-toggle[hidden]{display:none}@keyframes scroll-line{0%,100%{transform:scaleY(.6);opacity:.4}50%{transform:scaleY(1);opacity:1}}.motion-paused .scroll-cue>span{animation:none}
@media(prefers-reduced-motion:no-preference){.hero-title-group .eyebrow,.hero-title-group h1,.hero-title-group .button-row,.hero-aside{animation:hero-enter 1.1s var(--ease) both}.hero-title-group h1{animation-delay:.1s}.hero-title-group .button-row{animation-delay:.2s}.hero-aside{animation-delay:.3s}@keyframes hero-enter{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}}
@media(min-width:1700px){.hero-title-group h1{font-size:3.6rem}.hero-copy{width:840px}.hero-reel{gap:24px}.hero-portrait{width:470px}}
@media(max-width:1050px){.hero-copy{width:83%;grid-template-columns:1.6fr 1fr;gap:25px}.hero-title-group h1{font-size:2.65rem}.hero-aside{padding-left:25px;font-size:.9375rem}.hero-portrait{width:350px}.hero-reel{left:-10%;width:120%;gap:12px}.hero-title-group .button-row{gap:10px}.hero-title-group .button{padding-inline:20px}.hero-edition{font-size:.75rem}}
@media(max-width:700px){.portrait-hero{height:125svh;min-height:960px}.portrait-stage{height:100svh;min-height:800px}.hero-reel{top:25%;left:-39%;width:178%;height:20%;gap:10px}.reel-card-1,.reel-card-6{flex:.6}.hero-portrait{top:13%;width:280px;height:43%;mask-image:linear-gradient(#000 45%,#000b 60%,transparent 99%);-webkit-mask-image:linear-gradient(#000 45%,#000b 60%,transparent 99%)}.hero-portrait img{filter:brightness(.4) saturate(.4)}.hero-copy{top:54%;width:88%;display:block;text-align:center}.hero-title-group h1{font-size:clamp(1.95rem,7.5vw,2.6rem);line-height:1.09}.hero-title-group .eyebrow{font-size:.75rem;margin-bottom:15px;letter-spacing:.17em}.hero-title-group .button-row{justify-content:center;margin-top:23px;gap:12px}.hero-title-group .button{padding-inline:20px}.hero-aside{border:0;padding:0;margin:24px 0 0;font-size:.9375rem}.hero-aside br{display:none}.hero-aside p{max-width:290px;margin:auto}.personal-signature{display:none}.hero-bottom{bottom:24px;grid-template-columns:1fr 1fr;left:6%;right:6%;align-items:center;gap:10px}.hero-edition{display:none}.scroll-cue{justify-self:start;flex-direction:row;gap:12px;letter-spacing:.06em;padding:10px 0;font-size:.75rem}.scroll-cue>span{height:20px}.motion-toggle{font-size:.75rem;padding-inline:12px}}
@media(max-width:370px){.hero-title-group h1{font-size:1.95rem}.hero-copy{width:92%}.hero-title-group .button{font-size:.875rem;padding-inline:17px}.hero-title-group .button-row{gap:9px}.hero-portrait{width:260px}}
@media(max-height:650px) and (min-width:701px){.portrait-hero{height:1000px}.portrait-stage{min-height:720px;position:relative}.hero-bottom{bottom:14px}}
@media(prefers-reduced-motion:reduce){.portrait-hero{height:auto;min-height:0}.portrait-stage{position:relative}.hero-reel,.hero-portrait,.hero-copy{will-change:auto}.scroll-cue>span{animation:none}}
/* True single-line signature: the pen follows each curve, once. */
.personal-signature{display:block;width:180px;max-width:100%;height:auto;margin:9px 0 -9px;overflow:visible;color:#d8d5dc}
.signature-stroke{stroke-dasharray:1;stroke-dashoffset:0}
.signature-writing .signature-stroke{animation:signature-write var(--ink-duration) linear var(--ink-delay) both}
@keyframes signature-write{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.motion-paused .signature-stroke{animation:none;stroke-dashoffset:0}
@media(max-width:700px){.personal-signature{width:145px;margin:7px auto -10px}}
@media(prefers-reduced-motion:reduce){.signature-writing .signature-stroke{animation:none;stroke-dashoffset:0}}

/* Six planes form a shallow arc around the portrait. */
.hero-reel{left:1.5%;width:97%;top:22%;height:28%;display:block;perspective:1500px;perspective-origin:50% 50%}
.hero-reel-track{height:100%;width:100%;display:flex;align-items:center;gap:18px;transform-style:preserve-3d;transform-origin:50% 50% -280px;animation:gallery-orbit 22s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.hero-gallery-running .hero-reel-track{animation-play-state:running}
.hero-reel-track .reel-card{flex:1 0 0;min-width:0;filter:saturate(.64) brightness(.83);border-radius:2px;box-shadow:0 15px 40px #0005;backface-visibility:hidden}
.hero-reel-track .reel-card-1{height:128%;transform:rotateY(28deg);transform-origin:100% 50%}
.hero-reel-track .reel-card-2{height:101%;transform:rotateY(18deg)}
.hero-reel-track .reel-card-3{height:82%;transform:rotateY(8deg)}
.hero-reel-track .reel-card-4{height:82%;transform:rotateY(-8deg)}
.hero-reel-track .reel-card-5{height:101%;transform:rotateY(-18deg)}
.hero-reel-track .reel-card-6{height:128%;transform:rotateY(-28deg);transform-origin:0 50%}
.hero-reel-track .reel-card:hover,.hero-reel-track .reel-card:focus-visible{filter:saturate(.9) brightness(1)}
.hero-reel-track:hover,.motion-paused .hero-reel-track{animation-play-state:paused}
.hero-reel-track:focus-within{animation:none;transform:translateX(var(--focus-pan,0px))}
@keyframes gallery-orbit{from{transform:translate3d(-1.5%,0,0) rotateY(-3deg)}to{transform:translate3d(1.5%,0,0) rotateY(3deg)}}
.hero-portrait{opacity:1;mask-image:none;-webkit-mask-image:none;height:auto;aspect-ratio:1122/1402;width:clamp(300px,30vw,460px);top:10%;isolation:isolate}
.hero-portrait img{display:block;opacity:1;filter:brightness(.73) contrast(1.08) saturate(.72);width:100%;height:auto;object-fit:contain}
.hero-portrait::after{content:"";position:absolute;inset:0 -5% -1px;pointer-events:none;background:linear-gradient(180deg,transparent 33%,#08080808 43%,#08080848 53%,#080808c7 67%,#080808f5 82%,#080808 96%)}
@media(min-width:1700px){.hero-reel-track{gap:24px}.hero-portrait{width:470px}}
@media(max-width:1050px){.hero-reel{left:-5%;width:110%;height:26%}.hero-reel-track{gap:12px}.hero-portrait{width:350px}}
@media(max-width:700px){.hero-reel{left:-36%;width:172%;top:23%;height:20%;perspective:950px}.hero-reel-track{gap:10px;transform-origin:50% 50% -150px}.hero-reel-track .reel-card{flex:1 0 0}.hero-portrait{top:12%;width:280px;height:auto;mask-image:none;-webkit-mask-image:none}.hero-portrait img{opacity:1;filter:brightness(.73) contrast(1.08) saturate(.72)}.hero-portrait::after{background:linear-gradient(180deg,transparent 33%,#08080820 46%,#080808b8 64%,#080808 90%)}}
@media(prefers-reduced-motion:reduce){.hero-reel-track{animation:none;will-change:auto}.hero-reel-track:focus-within{transform:translateX(var(--focus-pan,0px))}}
