:root{--paper:#f1efe7;--ink:#22221f;--orange:#ff4b20;--pink:#f392bd;--line:rgba(34,34,31,.27);--gutter:3.4vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;overflow-x:hidden}body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;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='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}::selection{background:var(--orange);color:var(--ink)}.micro,.header,.hero-meta,.hero-bottom,.label,.chapter-label,.section-index,figcaption,.project-meta,.text-link,.tags,.footer,.sound-controls,.draft-note{font-family:'Courier New',monospace;font-size:12px;line-height:1.5;font-weight:400;letter-spacing:.015em}.header{height:78px;margin:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:30}.monogram{font-family:Arial,sans-serif;font-weight:900;font-size:29px;letter-spacing:-3px}.monogram span{display:inline-block;font-weight:400;letter-spacing:0;font-size:20px;margin-left:6px}.header nav{display:flex;gap:2.7vw}.header nav a{font-size:12px}.header sup{font-size:10px;margin-right:8px;opacity:.6}.menu-toggle{display:none}.hero{min-height:calc(100svh - 78px);position:relative;padding:28px var(--gutter) 0;isolation:isolate;overflow:hidden}.hero-meta{display:flex;justify-content:space-between}.hero-meta span:last-child{text-align:right}.hero h1{margin:18px 0 28px;font-size:23.7vw;line-height:.77;letter-spacing:-.078em;font-weight:900;position:relative;z-index:2;pointer-events:none}.hero h1>span{display:block}.hero .surname{margin-top:12px;font-size:24.5vw;display:flex;align-items:center}.asterisk{color:var(--orange);font-size:13vw;line-height:1;letter-spacing:0;margin-left:3vw;font-weight:400}.hero-art{position:absolute;right:7%;width:32%;height:58%;top:28%;z-index:3;pointer-events:none;mix-blend-mode:multiply;transform:rotate(-13deg);transition:transform .5s ease-out}.hero-art img{width:100%;height:100%;object-fit:contain}.art-orbit{width:100%;aspect-ratio:1;border:1.9vw solid var(--orange);border-radius:50%;transform:rotate(-30deg) scaleX(.45)}.hero-role{position:absolute;z-index:4;right:4%;top:58%;width:23%}.hero-role p{font-size:clamp(22px,2.9vw,52px);font-weight:500;letter-spacing:-.04em;line-height:1.06;margin:0 0 20px}.hero-role .micro{font-size:11px}.hero-bottom{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;margin-top:4vw}.hero-bottom a span{font-size:22px;margin-left:20px}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:var(--paper);padding:15px;z-index:100}.skip:focus{top:10px}.menu-toggle{border:0;background:transparent;font:inherit}.sticky-nav{position:fixed;top:0;left:0;right:0;margin:0;padding:0 var(--gutter);height:64px;background:var(--paper);box-shadow:0 1px var(--line)}
@media(min-width:1600px){.hero{min-height:900px}}@media(max-width:750px){:root{--gutter:6vw}body{font-size:16px}.header{height:64px}.header nav{display:none;position:absolute;top:64px;left:-6vw;right:-6vw;background:var(--paper);padding:28px 6vw;border-bottom:1px solid var(--ink);gap:26px;flex-direction:column}.header nav.open{display:flex}.header nav a{font-size:16px}.menu-toggle{display:block;font-size:12px}.hero{min-height:calc(92svh - 64px);padding-top:22px}.hero-meta{font-size:10px}.hero h1{font-size:23vw;margin-top:45px;line-height:.86}.hero .surname{font-size:36vw;margin-top:18px}.asterisk{font-size:22vw}.hero-art{top:36%;right:-7%;width:65%;height:45%}.hero-role{left:6vw;top:auto;bottom:106px;width:62%}.hero-role p{font-size:27px}.hero-role .micro{display:none}.hero-bottom{position:absolute;bottom:0;left:6vw;right:6vw;flex-wrap:wrap;gap:16px;padding:14px 0;font-size:10px}.hero-bottom .edition{display:none}.hero-bottom a span{margin-left:8px}.hero-bottom>span{max-width:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.hero-art{right:24%;top:44%;height:auto;width:21%;margin:0;transform:rotate(-7deg);mix-blend-mode:normal;z-index:3}.hero-art img{display:block;aspect-ratio:328/403;object-fit:cover;filter:grayscale(1);clip-path:polygon(0 0,100% 0,100% 86%,86% 86%,86% 100%,0 100%)}.hero-art figcaption{margin-top:8px;font-size:10px}.hero-role{top:54%;right:3.4%}.hero-bottom{margin-top:6vw}.section{padding:60px var(--gutter)}.chapter-label,.project-meta{display:flex;justify-content:space-between;border-top:1px solid currentColor;padding-top:14px;gap:24px}.about{padding-top:100px;padding-bottom:70px}.about-layout{display:grid;grid-template-columns:1fr 2fr;gap:7vw;margin:100px 0 110px}.about-side>p{margin-top:95px;margin-bottom:45px;line-height:1.5}.text-link{display:inline-flex;gap:28px;align-items:center;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:13px}.text-link span{font-size:10px;opacity:.6}h2,h3,p{margin-top:0}h2{font-size:clamp(48px,6.5vw,112px);line-height:.98;letter-spacing:-.065em;font-weight:500;margin-bottom:36px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.intro-copy{font-size:clamp(22px,2.35vw,38px);line-height:1.3;letter-spacing:-.03em;margin:45px 0 32px}.body-copy{max-width:640px;line-height:1.65;font-size:18px}.duality{display:flex;justify-content:space-between;align-items:center;font-size:3.6vw;letter-spacing:-.05em;border-top:1px solid var(--line);padding-top:28px}.duality-symbol{font-size:6vw;font-weight:400;color:var(--orange)}.work-heading{padding-top:100px;padding-bottom:45px}.work-heading h2{margin-top:80px;font-size:7.4vw}.work-heading h2>span{margin-left:15vw;font-family:Georgia,serif;font-style:italic}.work-index{display:flex;gap:4vw;margin-top:70px;font-family:'Courier New',monospace;font-size:12px}.project{padding-top:32px;padding-bottom:45px}.project h3{font-size:7vw;line-height:.85;letter-spacing:-.065em;font-weight:700}.role{font-size:15px;line-height:1.45;font-weight:bold}.kalastr{padding-top:40px;padding-bottom:70px}.kalastr-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:70px 0 45px}.project-copy h3 span{color:var(--orange)}.project-copy>p:not(.role){font-size:30px;line-height:1.2;letter-spacing:-.035em;margin-top:65px}.logic-board{border:1px solid var(--ink);font-family:'Courier New',monospace;box-shadow:12px 12px 0 var(--ink);transform:rotate(2deg);align-self:start}.board-bar,.board-foot{display:flex;justify-content:space-between;background:var(--ink);color:var(--paper);padding:12px 18px;font-size:12px}.logic-step{display:grid;grid-template-columns:1fr 1fr;padding:22px;border-bottom:1px solid var(--ink)}.logic-step>span,.logic-output>span{font-size:11px}.logic-step strong{font-family:Arial,sans-serif;font-size:30px;font-weight:400;letter-spacing:-.04em}.logic-output{padding:24px;background:var(--orange)}.logic-output p{font-family:Arial,sans-serif;font-size:4.8vw;font-weight:bold;line-height:1;letter-spacing:-.05em;margin:15px 0 0}.logic-output i{font-family:Georgia,serif;font-weight:400}.blink{font-size:.7em}details{margin-top:32px}summary{cursor:pointer;list-style:none;border-top:1px solid currentColor;padding:18px 0;font-family:'Courier New',monospace;font-size:12px;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary>span:last-child{font-size:20px;line-height:14px}details[open] summary>span:last-child{transform:rotate(45deg)}details ul{padding-left:20px;line-height:1.65;font-size:16px;max-width:650px}details li{margin-bottom:12px}.tags{display:flex;gap:40px;border-top:1px solid currentColor;padding-top:20px}.entourage{background:var(--orange);padding-top:32px;padding-bottom:42px}.entourage h3{font-size:4vw;margin-top:64px;font-weight:500}.community-number{font-size:26vw;font-weight:700;line-height:.92;letter-spacing:-.085em;margin:3vw 0 2vw;white-space:nowrap}.community-number>span{margin-left:2vw}.community-number>sup{font-size:9vw;vertical-align:top;position:relative;top:2vw;letter-spacing:0}.community-bottom{display:grid;grid-template-columns:1fr 1fr;gap:15vw;margin:10px 0 80px}.community-caption{font-size:4vw;line-height:1.03;letter-spacing:-.04em}.community-copy{line-height:1.6;max-width:550px}.volteface{background:var(--pink);padding-bottom:85px}.ticket{margin:80px auto 10px;max-width:1100px;border:1px solid var(--ink);display:grid;grid-template-columns:70px 1fr;transform:rotate(-3deg);background:var(--pink);box-shadow:10px 10px 0 rgba(0,0,0,.09)}.ticket-side{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;border-left:1px dashed var(--ink);padding:20px;font-family:'Courier New',monospace;font-size:16px;letter-spacing:.16em}.ticket-main{padding:4vw 5vw 30px}.ticket h3{font-size:13vw;line-height:.8;letter-spacing:-.075em;margin:10px 0 40px}.ticket h3 span{margin-left:11vw}.ticket-info{display:flex;justify-content:space-between;gap:30px}.ticket-info>p:last-child{font-size:20px;line-height:1.3}.ticket-bottom{display:flex;justify-content:space-between;align-items:center;font-family:'Courier New',monospace;font-size:11px;margin-top:30px}.barcode{width:160px;height:38px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 5px,var(--ink) 5px 6px,transparent 6px 9px,var(--ink) 9px 13px,transparent 13px 15px)}.astropolis{background:#c84431;color:#171714;padding-bottom:90px}.astro-heading{position:relative;margin:70px 0}.astro-heading h3{font-size:17vw;line-height:.76;position:relative;z-index:1;margin-bottom:0}.astro-heading h3 span{margin-left:23vw}.astro-star{position:absolute;right:8vw;top:-2vw;font-size:24vw;color:var(--pink);line-height:1}.astro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16vw}.astro-manifesto{font-family:Georgia,serif;font-style:italic;font-size:4.3vw;line-height:1.07}.astro-bottom>div{line-height:1.6}.skills{padding-top:90px;padding-bottom:90px}.skills-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:95px}.skills h2{font-size:5.6vw}.skills-layout>div>p{line-height:1.6}.skill-list details{margin:0}.skill-list summary{font-family:Arial,sans-serif;font-size:20px;align-items:center;padding:26px 0}.skill-list summary>span{font-family:'Courier New',monospace;font-size:11px;opacity:.6}.skill-list summary b{font-weight:400;margin-left:auto}.skill-list details p{font-size:16px;line-height:1.65;padding:0 30px 12px}.toolbox{border-top:1px solid var(--line);padding-top:24px;line-height:2.2;margin-top:15px}.languages{display:flex;gap:30px;align-items:baseline;margin-top:25px;font-size:11px}.languages strong{font-size:26px;font-weight:400;margin-left:8px}.languages small{font-size:11px}.education{margin-top:75px}.education summary{font-size:13px}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 7vw;padding-top:20px}.education-grid p{display:flex;flex-direction:column;gap:10px;font-size:17px}.education-grid span{font-size:14px;line-height:1.5}.threshold{height:950px;position:relative;background:linear-gradient(180deg,var(--paper) 0%,#f47838 27%,#c84431 55%,#551c25 78%,#161616 100%);padding:70px var(--gutter);overflow:hidden}.threshold>.micro{position:relative;z-index:2}.threshold-word{font-size:16vw;font-weight:bold;line-height:.72;letter-spacing:-.065em;transform:rotate(-8deg);margin-top:80px;opacity:.85}.threshold-word i{font-family:Georgia,serif;font-size:.85em;font-weight:400;margin-left:34vw}.threshold-end{position:absolute!important;bottom:50px;left:var(--gutter);color:var(--pink)}.music{background:#161616;color:var(--pink);padding-top:40px;padding-bottom:75px;overflow:hidden}.music-title{margin-top:65px;position:relative;z-index:2}.music-title>.label{letter-spacing:.2em}.music-title h2{font-size:14.5vw;letter-spacing:-.08em;font-weight:700;line-height:.9;margin:22px 0 0}.music-title h2 span{font-family:Georgia,serif;font-style:italic;font-weight:400;display:block;font-size:20vw;text-align:right;line-height:.75;margin-right:5vw}.music-stage{height:620px;position:relative;margin-top:-80px;isolation:isolate}.music-art{position:absolute;width:50%;height:100%;left:23%;top:-30px;z-index:-1;opacity:.75}.music-art img{width:100%;height:100%;object-fit:contain;filter:saturate(.7);mix-blend-mode:screen}#frequency{width:100%;height:100%;position:absolute;inset:0;pointer-events:none;opacity:.72}.music-stage-caption{display:flex;justify-content:space-between;position:absolute;bottom:12px;left:0;right:0;font:10px 'Courier New',monospace}.music-quote{position:absolute;bottom:75px;left:3vw;font-size:5vw;line-height:1.05;letter-spacing:-.055em;color:var(--paper)}.sound-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #f392bd70;border-bottom:1px solid #f392bd70;padding:18px 0}.sound-controls button{background:none;border:0;border-bottom:1px solid currentColor;padding:7px 0;cursor:pointer;font:inherit;text-align:left}.sound-controls label{display:flex;gap:14px;align-items:center;font-size:11px}.sound-controls input{width:110px;accent-color:var(--pink)}.sound-controls>span{font-size:10px}.music-text{display:grid;grid-template-columns:1.1fr 1fr;gap:12vw;margin-top:85px;color:var(--paper)}.music-statement{font-size:3.9vw;line-height:1.07;letter-spacing:-.045em}.music-text>div{font-size:17px;line-height:1.65}.music-text .text-link{color:var(--pink);margin-top:20px}.genre-line{display:flex;justify-content:space-between;align-items:center;gap:22px;white-space:nowrap;font-size:3.3vw;letter-spacing:-.04em;margin-top:100px;border-top:1px solid #f392bd70;padding-top:24px}.genre-line i{font-size:2vw}.contact{padding-top:75px;padding-bottom:22px;background:var(--paper)}.contact h2{font-size:14vw;line-height:.86;font-weight:700;margin:100px 0 65px;position:relative}.contact h2 em{font-size:.92em}.contact h2>span{position:absolute;right:1vw;top:-20px;font-weight:400;font-size:17vw;color:var(--orange)}.contact-row{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--ink);padding:26px 0}.contact-email{font-size:clamp(22px,3vw,50px);letter-spacing:-.045em}.contact-note{display:flex;justify-content:space-between;margin:15px 0 110px;gap:30px;font-size:16px;line-height:1.6}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;font-size:10px}.project{scroll-margin-top:30px}.header{position:sticky;top:0;background:var(--paper)}
@media(min-width:1600px){.hero{min-height:0}.music-stage{height:760px}}@media(max-width:1000px){.header nav{gap:18px}.header nav a{font-size:10px}.hero-role .micro{display:none}.sound-controls>span{display:none}.about-layout{gap:5vw}.ticket h3{font-size:14vw}.skills-layout{gap:5vw}.skill-list summary{font-size:17px}.threshold{height:800px}}
@media(max-width:750px){.hero-art{width:42%;right:3%;top:39%;transform:rotate(7deg)}.hero-role{left:6vw;right:auto;bottom:110px;top:auto;width:54%;z-index:4}.hero-role p{font-size:25px}.hero-art figcaption{font-size:9px}.hero-bottom{margin-top:0}.section{padding:42px 6vw}.chapter-label,.project-meta{font-size:10px;gap:25px}.chapter-label>span:last-child,.project-meta>span:last-child{text-align:right}.about{padding-top:65px}.about-layout{display:flex;flex-direction:column;gap:45px;margin:45px 0 60px}.about-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.about-side>p{margin:0;font-size:14px}.about-side .text-link{grid-column:1/3;justify-self:start;margin-top:25px}.about h2{font-size:15vw}.intro-copy{font-size:23px;margin-top:30px}.body-copy{font-size:16px;line-height:1.65}.duality{font-size:4.5vw;padding-top:18px}.duality-symbol{font-size:7vw}.work-heading{padding-top:65px}.work-heading h2{font-size:11vw;margin:50px 0}.work-heading h2>span{margin-left:8vw}.work-index{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:11px;margin-top:32px}.kalastr-layout{grid-template-columns:1fr;gap:45px;padding:45px 0}.project h3{font-size:13vw}.project-copy>p:not(.role){font-size:26px;margin-top:35px}.logic-board{margin:0 12px 10px 0;transform:rotate(2deg);box-shadow:7px 7px 0 var(--ink)}.logic-output p{font-size:13vw}.tags{font-size:9px;gap:16px;flex-wrap:wrap}.entourage h3{font-size:9vw;margin-top:40px}.community-number{font-size:24vw;margin:35px 0 30px}.community-number>sup{font-size:10vw}.community-bottom{grid-template-columns:1fr;gap:10px;margin-bottom:30px}.community-caption{font-size:9vw}.community-copy{font-size:16px}.ticket{margin:50px 0 20px;grid-template-columns:30px 1fr;transform:rotate(-2deg);box-shadow:5px 5px 0 #0002}.ticket-side{font-size:9px;padding:9px;letter-spacing:.08em}.ticket-main{padding:25px 6vw}.ticket h3{font-size:19vw;margin-bottom:30px}.ticket h3 span{margin-left:4vw}.ticket-info{flex-direction:column;gap:6px}.ticket-info>p:last-child{font-size:18px}.ticket-bottom{font-size:9px;gap:15px}.barcode{width:65px;height:28px;flex-shrink:0}.astro-heading{margin:65px 0 50px}.astro-heading h3{font-size:22vw}.astro-heading h3 span{margin-left:18vw}.astro-star{font-size:34vw;right:0;top:-8vw}.astro-bottom{grid-template-columns:1fr;gap:25px}.astro-manifesto{font-size:11vw}.astro-bottom>div{font-size:16px}.skills{padding-top:60px;padding-bottom:60px}.skills-layout{grid-template-columns:1fr;gap:30px;margin-top:50px}.skills h2{font-size:12vw}.skill-list summary{font-size:18px;gap:15px}.skill-list details p{padding-left:27px}.languages{gap:23px}.education{margin-top:45px}.education-grid{grid-template-columns:1fr;gap:20px}.threshold{height:630px;padding:50px 6vw}.threshold>.micro{font-size:10px}.threshold-word{font-size:20vw;margin-top:100px;line-height:.83}.threshold-word i{margin-left:38vw}.music{padding-top:35px}.music-title{margin-top:50px}.music-title h2{font-size:13.8vw}.music-title h2 span{font-size:29vw;margin-top:12px}.music-stage{height:440px;margin-top:-25px}.music-art{width:100%;left:0}.music-quote{font-size:10vw;left:0;bottom:55px}.music-stage-caption{font-size:8px;gap:20px}.sound-controls{gap:20px;flex-wrap:wrap}.sound-controls button{font-size:10px}.sound-controls label{font-size:10px;gap:8px}.sound-controls input{width:75px}.music-text{grid-template-columns:1fr;gap:18px;margin-top:50px}.music-statement{font-size:9vw}.music-text>div{font-size:16px}.genre-line{margin-top:55px;gap:12px;flex-wrap:wrap;justify-content:start;font-size:6vw}.genre-line i{font-size:5vw}.contact{padding-top:60px;padding-bottom:20px}.contact h2{font-size:16vw;margin:65px 0 50px}.contact h2>span{font-size:19vw;top:-8px;right:-3vw}.contact-row{flex-direction:column;align-items:start;gap:30px}.contact-email{font-size:6vw}.contact-note{flex-direction:column;gap:10px;margin-bottom:65px;font-size:14px}.footer{flex-wrap:wrap;font-size:9px}.footer>span:nth-child(2){display:none}.header nav a{font-size:16px}.project-meta>span{max-width:65%}}
@media(prefers-reduced-motion:reduce){.hero-art{transform:rotate(-7deg)!important}.threshold-word{transform:rotate(-8deg)!important}}
@media print{.header,.hero,.threshold,.music,.sound-controls,.skip{display:none}body{background:white;color:black}.section{padding:20px}details>*{display:block!important}.project,.ticket,.skills{background:white;color:black;transform:none;box-shadow:none}.community-number{font-size:80px}.section h2,.section h3{font-size:40px}.section{break-inside:avoid}.footer{margin-top:30px}}
.header nav a[aria-current="location"]{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:6px}.music-art{mix-blend-mode:screen;opacity:.65}.music-art img{filter:invert(1) hue-rotate(155deg) saturate(1.7);mix-blend-mode:screen;mask-image:radial-gradient(ellipse at center,#000 35%,transparent 70%)}
@supports(animation-timeline:view()){.duality-symbol{animation:turn-symbol linear both;animation-timeline:view();animation-range:entry 0% exit 100%}.threshold-word{animation:frequency-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes turn-symbol{from{transform:rotate(-25deg)}to{transform:rotate(25deg)}}@keyframes frequency-drift{from{transform:translateX(-3vw) rotate(-8deg)}to{transform:translateX(3vw) rotate(2deg)}}}
@media(min-width:751px){.hero-art{right:28%;width:18%;top:36%}.hero-role{width:23%}}
@media(max-width:750px){.hero{min-height:max(690px,calc(92svh - 64px))}.hero-art{top:37%;right:4%;width:40%}.hero-role{bottom:125px}.hero-art figcaption{font-size:9px}.hero-bottom{min-height:70px}}
/* The navigation takes its palette from the surface under its lower edge. */
.header{--header-bg:var(--paper);--header-ink:var(--ink);margin:0;padding:0 var(--gutter);background:var(--header-bg);color:var(--header-ink);border-bottom-color:color-mix(in srgb,var(--header-ink) 28%,transparent)}
.header nav{background:var(--header-bg);border-bottom-color:currentColor}
.header nav a[aria-current="location"]{text-decoration-color:currentColor}
.story{background:#e5e2d8;padding-top:70px;padding-bottom:100px}
.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:90px;align-items:start}
.story-heading{position:sticky;top:125px}
.story-heading>.micro{font-size:11px}
.story-heading h2{font-size:clamp(48px,5.8vw,100px);margin:32px 0 50px}
.story-route{font:12px/2 'Courier New',monospace;letter-spacing:.02em}
.story-route span{display:block;color:#96301a;font-size:22px;margin:8px 0}
.story-copy{max-width:650px;font-size:18px;line-height:1.75}
.story-copy>p{margin-bottom:30px}
.story-copy .story-opening{font-size:clamp(25px,2.4vw,38px);letter-spacing:-.035em;line-height:1.2;margin-bottom:40px}
.story-copy .story-closing{border-top:1px solid var(--line);padding-top:30px;font-size:24px;line-height:1.4;letter-spacing:-.025em}
.story-signature{font-family:Georgia,serif;font-style:italic;font-size:32px;display:block;text-align:right;margin-top:30px}
@media(min-width:751px){.header nav{gap:2vw}}
@media(max-width:750px){.header nav{left:0;right:0;max-height:calc(100svh - 64px);overflow-y:auto}.story{padding-top:50px;padding-bottom:60px}.story-layout{grid-template-columns:1fr;gap:38px;margin-top:45px}.story-heading{position:static}.story-heading h2{font-size:12vw;margin:25px 0 30px}.story-route{font-size:10px;line-height:1.8;margin-bottom:0}.story-route span{display:inline-block;margin:0 8px;font-size:14px}.story-copy{font-size:17px;line-height:1.75}.story-copy .story-opening{font-size:27px;margin-bottom:28px}.story-copy .story-closing{font-size:23px}.story-heading>.micro{font-size:10px}}
@media print{.story{background:white}.story-heading{position:static}.story-layout{display:block}.story-route{display:none}}
html{scroll-padding-top:78px}.project{scroll-margin-top:0}
@media(max-width:750px){html{scroll-padding-top:64px}}
/* Direct chapter links stay immediate, even across the long editorial page. */
html{scroll-behavior:auto}
/* Story: a reading-led sequence, with all copy visible before enhancement. */
.story-layout{gap:9vw;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.story-heading{top:105px}
.story-heading h2{margin-bottom:28px}
.story-signal{position:relative;display:grid;grid-template-columns:100px 1fr;align-items:center;gap:18px;margin:20px 0 26px}
.story-counter{height:90px;overflow:hidden;font-size:90px;line-height:1;font-weight:700;letter-spacing:-.09em;color:#96301a}
.story-counter-reel{transform:translateY(calc(var(--story-step,0) * -90px));transition:transform .65s cubic-bezier(.22,1,.36,1)}
.story-counter-reel>span{height:90px;display:block}
.story-signal svg{width:100%;height:92px;overflow:visible}
.story-signal-baseline{stroke:var(--ink);stroke-opacity:.16;stroke-width:1}
.story-signal-wave{stroke:#96301a;stroke-width:1.7;vector-effect:non-scaling-stroke}
.story-signal>.micro{grid-column:1/-1;font-size:10px;margin-top:-10px}
.story-index{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.5}
.story-index li+li{margin-top:12px}
.story-index a{display:flex;align-items:baseline;gap:15px;padding:3px 0;transition:color .2s,transform .4s}
.story-index a>span{font:11px 'Courier New',monospace}
.story-index a[aria-current="step"]{color:#96301a;transform:translateX(9px);text-decoration:underline;text-underline-offset:5px}
.story-progress{height:2px;background:#22221f25;margin-top:28px;max-width:370px;overflow:hidden}
.story-progress>span{display:block;height:100%;background:#96301a;transform-origin:left;transform:scaleX(var(--story-progress,0))}
.story-copy{max-width:none;min-width:0}
.story-beat{position:relative;padding:0 0 90px;scroll-margin-top:32px}
.story-beat+.story-beat{padding-top:30px;border-top:1px solid var(--line)}
.story-beat:last-child{padding-bottom:0}
.story-beat>p{margin-bottom:28px}
.story-beat-label{display:block;font:11px/1.5 'Courier New',monospace;letter-spacing:.04em;margin-bottom:38px;color:#684d41}
.story-beat .story-opening{font-size:clamp(28px,2.8vw,43px);line-height:1.2;letter-spacing:-.045em}
.story-aside{font-family:Georgia,serif;font-style:italic;font-size:25px;margin-top:35px}
.story-keyword{font-size:clamp(32px,4.3vw,74px);line-height:1.12;font-weight:600;letter-spacing:-.065em;overflow:hidden;margin:0 0 30px;padding:4px 0}
.story-keyword>span{display:block}
.story-footnote{display:flex;gap:20px;flex-wrap:wrap;font:10px/1.6 'Courier New',monospace;margin-top:35px}
.story-footnote>span{border-bottom:1px solid currentColor;padding-bottom:7px}
.story-pair{font-size:clamp(34px,4.3vw,74px);font-weight:500;letter-spacing:-.065em;line-height:1.1;margin:0 0 35px}
.story-pair>span{display:block}
.story-pair>span:last-child{font-family:Georgia,serif;font-style:italic;text-align:right}
.story-pair>i{display:block;text-align:center;font-weight:400;font-size:.8em;color:#96301a}
.story-highlight{background-image:linear-gradient(#ff4b2033,#ff4b2033);background-repeat:no-repeat;background-position:0 96%;background-size:100% .24em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.story-beat .story-closing{margin-top:35px;border-top:0;padding-top:0}
.story-beat .story-signature{margin-top:40px}
@media(prefers-reduced-motion:no-preference){
  .story.motion-ready .story-highlight{background-size:0% .24em;transition:background-size 1.1s cubic-bezier(.22,1,.36,1) .15s}
  .story.motion-ready .story-highlight.is-in-view{background-size:100% .24em}
  .story.motion-ready .story-keyword.is-in-view>span{animation:story-city .85s cubic-bezier(.22,1,.36,1) both}
  .story.motion-ready .story-pair.is-in-view>span:first-child{animation:story-meet-left .9s cubic-bezier(.22,1,.36,1) both}
  .story.motion-ready .story-pair.is-in-view>span:last-child{animation:story-meet-right .9s cubic-bezier(.22,1,.36,1) both}
  .story.motion-ready .story-pair.is-in-view>i{animation:story-cross 1s cubic-bezier(.22,1,.36,1) both}
  .story.motion-ready .story-signature.is-in-view{animation:story-sign .9s ease-out both}
  @keyframes story-city{from{transform:translateY(65%);letter-spacing:-.015em}to{transform:translateY(0);letter-spacing:inherit}}
  @keyframes story-meet-left{from{transform:translateX(25px)}to{transform:translateX(0)}}
  @keyframes story-meet-right{from{transform:translateX(-25px)}to{transform:translateX(0)}}
  @keyframes story-cross{from{transform:rotate(-90deg) scale(.7)}to{transform:rotate(0) scale(1)}}
  @keyframes story-sign{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
}
@media(min-width:1000px) and (min-height:760px){.story-beat{min-height:48svh;padding-bottom:110px}}
@media(max-width:750px){
  .story-layout{grid-template-columns:1fr;gap:50px}.story-heading{position:static}
  .story-heading h2{margin-bottom:25px}.story-signal{display:none}
  .story-index{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;font-size:12px}
  .story-index li+li{margin:0}.story-index a{gap:9px;min-height:44px}
  .story-index a[aria-current="step"]{transform:none}.story-index a>span{font-size:10px}
  .story-progress{display:none}.story-beat{padding-bottom:55px;scroll-margin-top:20px}
  .story-beat+.story-beat{padding-top:28px}.story-beat-label{font-size:10px;margin-bottom:25px}
  .story-beat .story-opening{font-size:29px}.story-keyword{font-size:10.5vw}
  .story-pair{font-size:11vw;max-width:420px}.story-footnote{gap:12px;font-size:9px}
  .story-aside{font-size:23px}.story-beat .story-closing{font-size:24px}
}
@media(max-height:759px) and (min-width:751px){.story-heading{position:static}}
@media(prefers-reduced-motion:reduce){.story-counter-reel{transition:none}.story-index a[aria-current="step"]{transform:none}.story-progress{display:none}.story-signal svg{display:none}}
@media print{.story-index,.story-signal,.story-progress{display:none}.story-heading{position:static}.story-layout{display:block}.story-beat{min-height:0;padding:20px 0;break-inside:avoid}.story-highlight{background:none}.story-keyword>span,.story-pair>span,.story-pair>i,.story-signature{animation:none!important;transform:none!important;clip-path:none!important}}
/* A wider view of the latest professional experiences. */
.work-intro-layout{margin-top:75px}.work-heading .work-intro-layout h2{font-size:clamp(48px,6.8vw,120px);margin:0 0 42px;line-height:1.03}.work-heading h2>span{margin-left:8vw}.work-heading h2 em{font-style:normal;font-family:Arial,sans-serif;color:#ac3317;display:inline-block;transform:rotate(-7deg)}
.work-intro-copy{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;margin-left:8vw}.work-intro-copy>.micro{padding-top:6px}.work-intro-copy>p{font-size:18px;line-height:1.7;max-width:660px;margin:0}.work-index{justify-content:space-between;gap:20px}
.perspective-strip{border-block:1px solid var(--line);overflow:hidden;padding:20px 0;margin:12px 0 45px}.perspective-strip>div{white-space:nowrap;width:max-content;font-size:clamp(28px,4.2vw,68px);letter-spacing:-.045em;transform:translateX(var(--strip-x,-3vw));padding-inline:3vw}.perspective-strip i{font-style:normal;color:var(--orange);padding:0 3vw}
.project-learning{border-top:1px solid currentColor;margin-top:45px;padding-top:24px;display:grid;grid-template-columns:1fr 1.2fr;gap:7vw}.project-learning>.micro{font-size:11px;line-height:1.8}.project-learning>p{font-size:clamp(22px,2.5vw,40px);line-height:1.15;letter-spacing:-.035em;margin:0;max-width:700px}.kalastr .project-copy>.project-learning{font-size:16px}
.radio-invitation{display:flex;justify-content:space-between;gap:35px;align-items:center;border-bottom:1px solid #f392bd70;padding:55px 0}.radio-invitation p{font-size:clamp(32px,4vw,65px);letter-spacing:-.045em;line-height:1.08;margin:22px 0 0}.radio-invitation button,.hero-radio-link{border:0;background:none;color:inherit;cursor:pointer;font:inherit}.radio-invitation button{font:13px 'Courier New',monospace;border-bottom:1px solid currentColor;padding-bottom:10px}.radio-invitation button>span{font-size:28px;opacity:1}.hero-radio-link{font:inherit;padding:8px 0}.hero-radio-link:hover{text-decoration:underline;text-underline-offset:5px}
/* Each project uses a distinct short motion; text never depends on it. */
@media(prefers-reduced-motion:no-preference){
.hero h1>span:first-child{animation:poster-settle .9s cubic-bezier(.22,1,.36,1) both}.hero .surname{animation:poster-settle 1.1s cubic-bezier(.22,1,.36,1) both}
.project.motion-seen.kalastr h3{animation:calibrate-type .8s ease-out both}.project.motion-seen.entourage .community-number{animation:reveal-number .95s cubic-bezier(.22,1,.36,1) both}.project.motion-seen.volteface .ticket{animation:ticket-arrival .9s cubic-bezier(.22,1,.36,1) both}.project.motion-seen.astropolis .astro-star{transform:rotate(var(--astro-turn,0deg));transition:transform .2s linear}.work-heading.motion-seen h2 em{animation:perspective-turn 1.1s cubic-bezier(.22,1,.36,1) both}
.work-index a{transition:transform .25s}.work-index a:hover{transform:translateY(-5px)}.text-link{transition:gap .25s}.text-link:hover{gap:40px}
@keyframes poster-settle{from{clip-path:inset(0 0 100% 0);transform:translateX(-2vw)}to{clip-path:inset(0);transform:translateX(0)}}
@keyframes calibrate-type{from{letter-spacing:.015em}to{letter-spacing:-.065em}}
@keyframes reveal-number{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
@keyframes ticket-arrival{from{transform:rotate(-7deg) translateX(-16px)}to{transform:rotate(-3deg) translateX(0)}}
@keyframes perspective-turn{from{transform:rotate(-22deg)}to{transform:rotate(-7deg)}}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Radio: a compact listening instrument, always one click away from pause. */
.radio-shell{position:fixed;bottom:20px;right:var(--gutter);z-index:45;width:320px;background:#191918;color:#f1efe7;border:1px solid #f392bd80;box-shadow:0 8px 30px #0002;font-family:Arial,Helvetica,sans-serif}
.radio-shell.is-expanded{width:420px;max-width:calc(100vw - 32px)}
.radio-summary{display:grid;grid-template-columns:58px minmax(0,1fr) 44px;align-items:center;gap:14px;padding:14px}
.radio-record{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle at center,#111 0px,#111 2px,#444 2.6px,#161616 3.2px);border:1px solid #555;box-shadow:inset 0 0 0 5px #111;animation:record-spin 5s linear infinite;animation-play-state:paused;position:relative}
.record-label{width:29px;height:29px;border-radius:50%;background:var(--pink);color:#191918;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;font-weight:700;line-height:1.05}.record-number{font:7px 'Courier New',monospace}.record-label:after{content:'';width:3px;height:3px;background:#191918;border-radius:50%;position:absolute;left:26px;top:26px}.radio-shell.is-playing:not(.radio-hidden) .radio-record{animation-play-state:running}
.radio-expand{background:none;border:0;color:inherit;text-align:left;cursor:pointer;padding:0;min-height:50px;min-width:0;display:flex;flex-direction:column;gap:4px}.radio-kicker{font:10px 'Courier New',monospace;color:var(--pink);letter-spacing:.09em;width:100%;display:flex;justify-content:space-between}.radio-expand-icon{font-size:14px}.radio-expand strong{font-size:14px;font-weight:500;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-expand>#radio-artist{font:10px 'Courier New',monospace;color:#c3bfb8}
.radio-play{width:44px;height:44px;border:1px solid var(--pink);background:var(--pink);color:#191918;cursor:pointer;font-size:17px;display:grid;place-items:center}.radio-play:hover{background:var(--paper)}.radio-shell.is-loading .radio-play{background:transparent;color:var(--pink)}
.radio-panel{padding:20px 20px 0;max-height:calc(100svh - 150px);overflow-y:auto;overscroll-behavior:contain}.radio-panel[hidden]{display:none}.radio-panel-heading{font:10px 'Courier New',monospace;display:flex;justify-content:space-between;color:var(--pink);padding-bottom:15px;border-bottom:1px solid #ffffff30}.radio-editorial{font-size:40px;line-height:.98;letter-spacing:-.04em;margin:24px 0 18px}.radio-intro{font-size:14px;line-height:1.55;color:#ccc6bc;max-width:32ch}
.radio-playlist{margin:24px 0 18px;padding:0;list-style:none}.radio-playlist li{border-top:1px solid #ffffff25}.radio-playlist li:last-child{border-bottom:1px solid #ffffff25}.radio-playlist button{display:grid;grid-template-columns:18px minmax(0,1fr) 32px;align-items:center;gap:12px;width:100%;border:0;background:none;color:inherit;text-align:left;padding:14px 0;cursor:pointer}.radio-playlist button:hover,.radio-playlist button[aria-current="true"]{color:var(--pink)}.track-index,.radio-playlist time{font:10px 'Courier New',monospace}.radio-playlist strong{font-size:14px;font-weight:500;line-height:1.4;display:block}.radio-playlist strong>span{font-size:12px}.radio-playlist small{font-size:11px;line-height:1.6;color:#c3bfb8;display:block;margin-top:3px}.radio-playlist small>em{font:8px 'Courier New',monospace;color:var(--pink);margin-left:10px;display:inline-block}
.radio-timeline input{width:100%;margin:0;accent-color:var(--pink);cursor:pointer;height:22px}.radio-timeline>div{display:flex;justify-content:space-between;font:10px 'Courier New',monospace;margin-top:3px;color:#ccc6bc}.radio-options{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.radio-options>div{display:flex;gap:8px;align-items:center}.radio-options button{height:42px;min-width:36px;background:none;color:inherit;border:0;cursor:pointer;font-size:25px}.radio-options button:hover{color:var(--pink)}.radio-volume>#radio-mute{font:10px 'Courier New',monospace}.radio-volume input{width:90px;accent-color:var(--pink);height:28px;cursor:pointer}.radio-status{font:10px/1.5 'Courier New',monospace;min-height:30px;color:#c3bfb8;margin:6px 0 5px}.radio-shell.is-expanded .radio-summary{border-top:1px solid #ffffff30}
.radio-shell button:focus-visible,.radio-shell input:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
@keyframes record-spin{to{transform:rotate(360deg)}}
@media(max-width:750px){.work-intro-layout{margin-top:48px}.work-heading .work-intro-layout h2{font-size:11vw;margin-bottom:30px}.work-heading h2>span{margin-left:0}.work-intro-copy{display:block;margin-left:0}.work-intro-copy>p{font-size:16px;margin-top:22px}.perspective-strip{padding:14px 0;margin-bottom:15px}.perspective-strip>div{font-size:9vw}.project-learning{grid-template-columns:1fr;gap:17px;margin-top:30px;padding-top:20px}.project-learning>p{font-size:25px}.project-learning>.micro{font-size:10px}.radio-invitation{align-items:start;flex-direction:column;padding:36px 0;gap:28px}.radio-invitation p{font-size:37px}.hero-radio-link{display:none}.radio-shell{bottom:max(12px,env(safe-area-inset-bottom));right:12px;width:270px}.radio-shell.is-expanded{width:calc(100vw - 24px);max-width:none}.radio-summary{grid-template-columns:48px minmax(0,1fr) 42px;gap:10px;padding:11px}.radio-record{width:48px;height:48px}.record-label:after{left:21px;top:21px}.radio-expand strong{font-size:13px}.radio-panel{padding:18px 18px 0;max-height:calc(100svh - 125px)}.radio-editorial{font-size:34px}.radio-playlist button{gap:8px;padding:11px 0}.radio-playlist strong{font-size:13px}.contact{padding-bottom:110px}}
@media(prefers-reduced-motion:reduce){.radio-record{animation:none!important}.perspective-strip>div{transform:none!important}.astro-star{transform:none!important}}
@media print{.radio-shell,.radio-invitation,.hero-radio-link{display:none}}
