.meeting{position:relative;height:340svh;background:#F1F3F6}.meeting-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:radial-gradient(ellipse at 73% 47%,#fff 0%,#f1f3f6 65%)}.meeting-top{position:absolute;top:108px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;font:10px 'JetBrains Mono',monospace;letter-spacing:1.5px;text-transform:uppercase;color:#657187}.meeting-heading{position:absolute;left:8%;top:27%;z-index:2;pointer-events:none}.meeting-ey{font:10px 'JetBrains Mono',monospace;letter-spacing:2px;text-transform:uppercase;color:#a85412;margin-bottom:26px}.meeting h1{font:500 clamp(56px,6.8vw,108px)/.96 'Space Grotesk',sans-serif;letter-spacing:-.065em}.meeting-serif{display:block;font-family:'Fraunces',serif;font-weight:400;font-style:italic;letter-spacing:-.055em}.meeting-dot{color:#E8770F}.meeting-intro{font-size:15px;line-height:1.7;color:#647083;margin-top:27px}.meeting-work{display:inline-flex;gap:38px;align-items:center;margin-top:28px;padding-bottom:9px;border-bottom:1px solid #20395c50;font-size:12px;pointer-events:auto}.meeting-work span{color:#bd5909;font-size:20px}.meeting-work:focus-visible,.meeting-skip:focus-visible{outline:2px solid #E8770F;outline-offset:6px}.meeting-art{position:absolute;left:36%;right:0;top:17%;bottom:18%}#meeting-canvas{position:absolute;inset:0}#meeting-canvas canvas{display:block;width:100%;height:100%}.meeting-fallback{position:absolute;width:55%;height:75%;object-fit:contain;left:23%;top:10%;opacity:.13}.meeting.ready .meeting-fallback{display:none}.meeting-axis{position:absolute;left:50%;transform:translateX(-50%);font:9px 'JetBrains Mono',monospace;letter-spacing:2.5px;color:#69758a}.axis-top{top:0}.axis-bottom{bottom:0}.meeting-caption{position:absolute;left:48%;right:10%;bottom:13%;display:flex;align-items:center;gap:18px}.meeting-step{color:#b95709;font:10px 'JetBrains Mono',monospace;white-space:nowrap}.meeting-state{color:#58667b;font-size:13px}.meeting-bottom{position:absolute;bottom:36px;left:5.5%;right:5.5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font:9px 'JetBrains Mono',monospace;letter-spacing:1px;text-transform:uppercase}.meeting-skip{color:#63718a}.meeting-chapters{display:flex;gap:28px;color:#7c8797}.meeting-chapters span{transition:color .3s}.meeting-chapters .active{color:#b65509}.meeting-scroll{color:#53647c}.meeting-meter{position:absolute;bottom:0;height:2px;left:0;right:0;background:#20395c12}.meeting-meter i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:#E8770F}.meeting.static{height:100svh}.meeting.static .meeting-scroll{visibility:hidden}
@media(min-width:1600px){.meeting-heading{left:12%}.meeting-art{right:4%}}
@media(max-width:760px){.meeting{height:280svh}.meeting-stage{min-height:640px}.meeting-top{top:96px;font-size:8px}.meeting-top span:last-child{display:none}.meeting-heading{top:145px;left:7%}.meeting h1{font-size:56px}.meeting-ey{font-size:8px;margin-bottom:15px}.meeting-intro{font-size:12px;margin-top:16px}.meeting-work{font-size:10px;margin-top:15px;gap:18px}.meeting-art{left:19%;right:-16%;top:36%;bottom:15%}.meeting-axis{display:none}.meeting-caption{left:7%;right:7%;bottom:12%;gap:12px}.meeting-state{font-size:11px}.meeting-bottom{bottom:30px;left:7%;right:7%;font-size:8px}.meeting-chapters{gap:14px}.meeting-scroll,.meeting-skip{display:none}}
@media(prefers-reduced-motion:reduce){.meeting{height:100svh}.meeting-chapters span{transition:none}.meeting-scroll{display:none}}

/* The longer title stays distinct from the sculpture on every breakpoint. */
.meeting h1{font-size:clamp(54px,5.8vw,92px)}
.meeting-serif{font-size:.86em;line-height:1.15}
.meeting-heading{left:7%;top:29%}
.meeting-art{left:39%;right:0;top:16%;bottom:17%}
.meeting-caption{left:47%}
.meeting-stage:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2320395c' opacity='.16' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
@media(max-width:760px){.meeting-heading{top:142px;left:7%}.meeting h1{font-size:clamp(46px,8.6vw,62px)}.meeting-art{left:4%;right:-5%;top:43%;bottom:15%}.meeting-caption{left:7%}.meeting-intro{font-size:12px}.meeting-stage{min-height:700px}}
@media(max-height:740px) and (min-width:761px){.meeting-heading{top:28%}.meeting h1{font-size:64px}.meeting-intro{margin-top:18px}.meeting-work{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.meeting{height:100svh}}

/* A single stage lets the sculpture move from the opening layout to centre frame. */
.meeting{height:380svh}
.meeting-art{inset:74px 0 35px}
.meeting-heading{will-change:transform,opacity}
.meeting-bottom{z-index:3}
.meeting-scroll{opacity:calc(1 - var(--story-end,0))}
.meeting-fallback{left:55%;top:20%;width:35%;height:60%;opacity:1}
@media(max-width:760px){.meeting{height:320svh}.meeting-art{inset:74px 0 35px}.meeting-skip{display:block}.meeting-scroll{display:block}.meeting-fallback{left:20%;top:43%;width:60%;height:45%}}
@media(prefers-reduced-motion:reduce){.meeting{height:100svh}.meeting-scroll{display:none}}

/* Original professional introduction, with room for the moving sculpture. */
.meeting-heading{left:7%;top:29%;max-width:49%}
.meeting h1{font:700 clamp(40px,4.6vw,76px)/1.06 "Space Grotesk",sans-serif;letter-spacing:-.045em}
.meeting h1>span{display:block}.meeting h1 .o{color:#E8770F}
.meeting-intro{max-width:470px;font-size:15px;line-height:1.75;margin-top:26px}
.meeting-ey{font-size:9px;letter-spacing:1.6px}
@media(max-width:760px){.meeting-heading{top:142px;max-width:none;width:86%}.meeting h1{font-size:clamp(32px,8.8vw,56px)}.meeting-intro{font-size:12px;line-height:1.65;margin-top:19px;max-width:430px}.meeting-ey{font-size:8px;letter-spacing:.9px}}

.story-word{position:absolute;bottom:12%;left:5%;right:5%;text-align:center;font:500 clamp(24px,3vw,40px)/1.1 "Space Grotesk",sans-serif;letter-spacing:-.04em;color:#20395c;opacity:0;pointer-events:none}
@media(max-width:760px){.story-word{bottom:17%;font-size:27px}}
@media(prefers-reduced-motion:reduce){.story-word{display:none}}

/* Reserved reading gutter: the travelling particles never intercept content. */
#meeting-canvas.portfolio-particles{position:fixed;inset:74px 0 35px;z-index:20;pointer-events:none}
body:has(.portfolio-particles) .chapter>.wrap,body:has(.portfolio-particles) #about>.wrap,body:has(.portfolio-particles) #cv>.wrap{max-width:min(1180px,calc(100% - 156px));margin-left:auto;margin-right:156px}
@media(max-width:760px){body:has(.portfolio-particles) .chapter>.wrap,body:has(.portfolio-particles) #about>.wrap,body:has(.portfolio-particles) #cv>.wrap{max-width:calc(100% - 88px);margin-right:88px;padding-left:18px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){body:has(.portfolio-particles) .chapter>.wrap,body:has(.portfolio-particles) #about>.wrap,body:has(.portfolio-particles) #cv>.wrap{max-width:1180px;margin-inline:auto}}
