body.rl-k4r{--ground: #040c0e;--paper: rgb(240, 232, 212);--ink: rgb(125, 31, 46);--text: #14211d;--text-soft: #34443e;--oxblood: #7d1f2e;--teal: #14585f;--bar-a: #c8381a;--bar-b: #14585f;--bar-c: #2a6b3f;--redline: 1;margin:0;padding:0;background:var(--paper);color:var(--text);font-family:Spectral,Georgia,Times New Roman,serif;font-size:1.04rem;line-height:1.62;-webkit-font-smoothing:antialiased}.rl-k4r *,.rl-k4r *:before,.rl-k4r *:after{box-sizing:border-box}.rl-k4r a:focus-visible,.rl-k4r button:focus-visible,.rl-k4r video:focus-visible{outline:2px solid #c8381a;outline-offset:3px}.rl-k4r .splash a:focus-visible,.rl-k4r .splash button:focus-visible,.rl-k4r>header a:focus-visible{outline-color:#ffd75e}body.rl-k4r>header{position:absolute;z-index:30;top:0;left:0;right:0;margin:0;padding:.4rem clamp(.8rem,3vw,2rem);background:none;box-shadow:none}body.rl-k4r>header nav{max-width:1400px;margin:0 auto;flex-wrap:wrap;gap:0 1rem}body.rl-k4r>header h2{margin:0;font-size:1rem;color:#f4ecd6;white-space:nowrap}body.rl-k4r>header .home-title a{white-space:nowrap}body.rl-k4r>header nav a,body.rl-k4r>header a{color:#f4ecd6;font-family:Spectral,Georgia,serif;text-decoration:none;border-bottom:0;text-shadow:0 0 8px #040c0e,0 0 3px #040c0e;padding:.7em .5em}body.rl-k4r>header a.active{text-decoration:underline;text-decoration-color:#dc4620;text-underline-offset:6px;text-decoration-thickness:2px}body.rl-k4r>header a:hover{color:#ffd75e}body.rl-k4r>header .social-links a svg{filter:drop-shadow(0 0 4px #040c0e)}.rl-k4r main.screen{width:100%;max-width:none;margin:0;padding:0;position:relative;z-index:1}.k4r-paperlines{position:fixed;inset:0;z-index:0;pointer-events:none}.k4r-paperlines svg{width:100%;height:100%;display:block}.k4r-paperlines path{fill:none;vector-effect:non-scaling-stroke;stroke-width:.7}.k4r-paperlines .pl-main{stroke:var(--ink);stroke-opacity:.08}.k4r-paperlines .pl-accent{stroke:var(--oxblood);stroke-opacity:.15}.k4r-redline{position:absolute;left:0;right:0;top:78%;height:1px;background:linear-gradient(90deg,transparent,#c8381a 20%,#c8381a 80%,transparent);opacity:calc(var(--redline) * .1)}.rl-k4r .splash{position:relative;z-index:2;background:var(--ground);height:max(100svh,700px);overflow:hidden;color:#fff}.rl-k4r .scene{position:absolute;inset:0;z-index:0}.rl-k4r .layer{position:absolute;left:-8px;top:-8px;width:calc(100% + 16px);max-width:none;height:calc(100% + 16px);display:block}.rl-k4r .l-sky,.rl-k4r .l-water{will-change:transform}.rl-k4r .veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 54% 38% at 22% 24%,#03090ae0,#03090a00 80%),linear-gradient(180deg,#03090a99,#03090a00 30%)}.rl-k4r .splash-text{position:absolute;z-index:5;left:clamp(1rem,6vw,6rem);top:clamp(4rem,9vh,6rem);width:min(38rem,90vw);text-shadow:0 0 14px #030a0b,0 0 5px #030a0b}.rl-k4r h1{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(3.6rem,8.2vw,7.6rem);line-height:.92;letter-spacing:-.01em;color:#fff}.rl-k4r .headline{margin:.55rem 0 .9rem;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.2;color:#fff}.rl-k4r .lead{max-width:52rem;margin:0 0 3.5rem}.rl-k4r .lead p{margin:0 0 1rem;font-size:1.28rem;line-height:1.55;color:var(--text)}.rl-k4r .lead p:first-child:first-line{font-weight:600}.rl-k4r .reach{margin:.4rem 0 0;display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;font-size:.92rem;color:#fff}.rl-k4r .reach a{color:#fff;text-decoration-color:#ffd75e;text-underline-offset:4px}.rl-k4r .reach a:hover{color:#ffd75e}.rl-k4r .pause.replay{right:auto;left:clamp(.8rem,3vw,2rem)}.rl-k4r .pause{position:absolute;z-index:6;right:clamp(.8rem,3vw,2rem);bottom:.9rem;margin:0;width:auto;height:auto;min-height:0;font:inherit;font-size:.78rem;line-height:1.2;letter-spacing:0;color:#f4ecd6;background:#03090ab3;border:0;border-radius:0;border-bottom:1px solid #ffd75e;box-shadow:none;padding:.3rem .5rem;cursor:pointer}.rl-k4r .k4r-cvhide{visibility:hidden}.rl-k4r .k4r-cv{pointer-events:none}#k4r-fps{position:fixed;z-index:99;left:8px;right:8px;top:8px;max-height:60vh;overflow:hidden;word-break:break-word;padding:6px 8px;background:#000c;color:#ffe9a8;font:13px/1.3 ui-monospace,monospace;border-radius:4px;pointer-events:none}.k4r-perf-nomask [mask]{mask:none!important}.k4r-perf-nocut .cut{animation:none!important}.k4r-perf-noidle :is(.drift-sky,.drift-water,.shim-a,.shim-b,.l-breath,.car,.carbody,.beacon *){animation:none!important}.k4r-perf-nosky .scene>.l-sky,.k4r-perf-noland .scene>.l-land,.k4r-perf-nowater .scene>.l-water{display:none!important}.k4r-perf-notip :is(.tip,.spine,.spine-echo,.sketch-deck){display:none!important}.k4r-perf-nosheet .sheet{display:none!important}.k4r-perf-noimg .scene image{display:none!important}.k4r-perf-noscene .scene{display:none!important}.rl-k4r .cut{stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2}.rl-k4r mask .cut{stroke:#fff;fill:none}.rl-k4r:not(.k4r-intro) [mask]{mask:none}.rl-k4r.k4r-hold *,.rl-k4r.k4r-hold *:before,.rl-k4r.k4r-hold *:after{animation-play-state:paused!important}.rl-k4r .k4r-vid{z-index:1;position:absolute;left:-8px;top:-8px;width:calc(100% + 16px);max-width:none;height:calc(100% + 16px);object-fit:cover;object-position:50% 100%;pointer-events:none;transition:opacity .3s}.rl-k4r.k4r-vidplay .scene>:not(.k4r-vid){visibility:hidden}.rl-k4r .spine,.rl-k4r .spine-echo,.rl-k4r .sketch-deck,.rl-k4r .tip{display:none}.rl-k4r .guides{opacity:0}.rl-k4r .shimbox{position:absolute;inset:0}.rl-k4r .l-cut,.rl-k4r .l-cars,.rl-k4r .l-breath,.rl-k4r .l-shim,.rl-k4r .l-shore,.rl-k4r .l-bridge{pointer-events:none}.rl-k4r .car{offset-path:var(--op);offset-rotate:0deg;offset-distance:calc(var(--ph) * 100%)}.rl-k4r.k4r-intro:not(.k4r-done) .cut{animation:k4r-cut var(--dur) cubic-bezier(.5,.05,.3,1) var(--t) both}.rl-k4r.k4r-intro:not(.k4r-done) .scene.k4r-tall .cut{animation-delay:var(--tp)}.rl-k4r.k4r-intro:not(.k4r-done) .spine{display:inline;animation:k4r-fadeout 1s ease-in 3s forwards}.rl-k4r.k4r-intro:not(.k4r-done) .spine-echo{display:inline;animation:k4r-cut var(--dur) cubic-bezier(.5,.05,.3,1) var(--t) both,k4r-fadeout 1s ease-in 3s forwards}.rl-k4r.k4r-intro:not(.k4r-done) .sketch-deck{display:inline;animation:k4r-cut var(--dur) cubic-bezier(.5,.05,.3,1) var(--t) both,k4r-fadeout .8s ease-in 4.3s forwards}.rl-k4r.k4r-intro:not(.k4r-done) .guides{opacity:.6;animation:k4r-guide-fade 1.2s ease-in-out 2.6s forwards}.rl-k4r.k4r-intro:not(.k4r-done) .tip{display:inline;offset-path:var(--op);offset-rotate:0deg;animation:k4r-tipgo var(--dur) cubic-bezier(.5,.05,.3,1) var(--t) both,k4r-tipvis var(--dur) linear var(--t) both}.rl-k4r .tip-halo,.rl-k4r .tip-core,.rl-k4r .carbody{transform-box:fill-box;transform-origin:50% 50%}.rl-k4r.k4r-intro:not(.k4r-done) .tip-halo,.rl-k4r.k4r-intro:not(.k4r-done) .tip-core{animation:k4r-flick .16s steps(2,end) infinite}.rl-k4r.k4r-intro:not(.k4r-done) .tip .chip{animation:k4r-chip .5s ease-out infinite;animation-delay:calc(var(--lag) * -1)}.rl-k4r.k4r-intro:not(.k4r-done) .breath-core{animation:k4r-fade 1.3s ease-out 1.9s both}.rl-k4r.k4r-intro:not(.k4r-done) .l-shore{animation:k4r-fade .8s ease-out 3.6s both}.rl-k4r.k4r-intro:not(.k4r-done) .shimbox{animation:k4r-fade .7s ease-out 4s both}.rl-k4r.k4r-intro:not(.k4r-done) .l-lights{animation:k4r-fade .35s ease-out 4.4s both}.rl-k4r.k4r-intro:not(.k4r-done) .l-cars{animation:k4r-fade .7s ease-out 4.6s both}.rl-k4r.k4r-intro:not(.k4r-done) h1{color:transparent;padding:0 .06em .28em;margin:0 -.06em -.28em;text-shadow:none;filter:drop-shadow(0 0 14px #030a0b) drop-shadow(0 0 5px #030a0b);-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(100deg,#fff 0 36%,#ffe9a8 45%,#f58d28 50%,transparent 53% 100%);background-size:300% 100%;background-repeat:no-repeat;animation:k4r-ink-wipe 1.15s cubic-bezier(.35,.1,.25,1) 3.9s both}.rl-k4r.k4r-intro:not(.k4r-done) .headline{animation:k4r-inkin .8s ease-out 4.4s both}.rl-k4r.k4r-intro:not(.k4r-done) .reach{animation:k4r-inkin .8s ease-out 4.65s both}.rl-k4r h1{display:inline-block}@media(prefers-reduced-motion:no-preference){.rl-k4r .drift-sky{animation:k4r-drift-y 18s ease-in-out infinite alternate}.rl-k4r .drift-water{animation:k4r-drift-x 14s ease-in-out infinite alternate}.rl-k4r .l-breath{will-change:opacity;animation:k4r-breath 8s ease-in-out infinite alternate}.rl-k4r .shim-a{will-change:transform,opacity;animation:k4r-shim-a 7s ease-in-out infinite alternate}.rl-k4r .shim-b{will-change:transform,opacity;animation:k4r-shim-b 9s ease-in-out infinite alternate}.rl-k4r .car{animation:k4r-drive var(--dur) linear calc(var(--ph) * var(--dur) * -1) infinite}.rl-k4r .carbody{animation:k4r-carsize var(--dur) linear calc(var(--ph) * var(--dur) * -1) infinite}.rl-k4r .beacon .halo{animation:k4r-blink-halo 3s ease-in-out infinite}.rl-k4r .beacon .core{animation:k4r-blink-core 3s ease-in-out infinite}.rl-k4r.k4r-intro .beacon .halo,.rl-k4r.k4r-intro .beacon .core{animation-delay:4.4s}.rl-k4r .scene.is-paused :is(.drift-sky,.drift-water,.l-breath,.shim-a,.shim-b,.car,.carbody),.rl-k4r .scene.is-off :is(.drift-sky,.drift-water,.l-breath,.shim-a,.shim-b,.car,.carbody,.beacon *){animation-play-state:paused}.rl-k4r .scene.is-paused .beacon *{animation:none;opacity:1}}@media(prefers-reduced-motion:reduce){.rl-k4r .pause{display:none}.rl-k4r .beacon .halo{opacity:.7}}.rl-k4r.k4r-intro.k4r-idle .tip,.rl-k4r.k4r-intro.k4r-idle .spine,.rl-k4r.k4r-intro.k4r-idle .spine-echo,.rl-k4r.k4r-intro.k4r-idle .sketch-deck{display:none!important}@media print{.rl-k4r .tip,.rl-k4r .spine,.rl-k4r .spine-echo,.rl-k4r .sketch-deck{display:none!important}}@keyframes k4r-cut{0%{stroke-dashoffset:1.06;opacity:0}0.4%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes k4r-fadeout{0%{opacity:1}to{opacity:0}}@keyframes k4r-guide-fade{0%{opacity:.6}to{opacity:0}}@keyframes k4r-fade{0%{opacity:0}to{opacity:1}}@keyframes k4r-tipgo{0%{offset-distance:0%}to{offset-distance:100%}}@keyframes k4r-tipvis{0%{opacity:0}2%{opacity:1}96%{opacity:1}to{opacity:0}}@keyframes k4r-flick{0%{opacity:.65;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}@keyframes k4r-chip{0%{translate:0 0;opacity:1}to{translate:var(--dx) var(--dy);opacity:0}}@keyframes k4r-ink-wipe{0%{background-position:100% 0}to{background-position:0 0}}@keyframes k4r-inkin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes k4r-drift-y{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes k4r-drift-x{0%{transform:translate(-7px)}to{transform:translate(7px)}}@keyframes k4r-breath{0%{opacity:.3}to{opacity:1}}@keyframes k4r-shim-a{0%{opacity:1;transform:translate(-3px)}to{opacity:.25;transform:translate(4.5px)}}@keyframes k4r-shim-b{0%{opacity:.25;transform:translate(4.5px)}to{opacity:1;transform:translate(-3px)}}@keyframes k4r-drive{0%{offset-distance:0%;opacity:0}6%{opacity:1}94%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes k4r-carsize{0%{scale:var(--s0)}to{scale:var(--s1)}}@keyframes k4r-blink-halo{0%,50%{opacity:.95}58%,92%{opacity:0}to{opacity:.95}}@keyframes k4r-blink-core{0%,50%{opacity:1}58%,92%{opacity:.12}to{opacity:1}}@media(max-width:760px){.rl-k4r .splash{height:max(100svh,640px)}body.rl-k4r>header nav{flex-wrap:nowrap;gap:0}body.rl-k4r>header nav a,body.rl-k4r>header a{padding:.6em .3em;font-size:.88rem}body.rl-k4r>header .social-links{margin-left:.3rem}.rl-k4r .splash-text{top:4rem;width:calc(100% - 2rem);left:1rem}.rl-k4r h1{font-size:3.4rem}.rl-k4r .reach{font-size:.84rem}.rl-k4r .headline{font-size:1.2rem}.rl-k4r .veil{background:linear-gradient(180deg,#03090ac7,#03090aa3 52%,#03090a00 68%)}}.rl-k4r .plate-edge{position:relative;z-index:2;height:150px;background:var(--paper);margin-top:-1px}.rl-k4r .plate-edge svg{width:100%;height:100%;display:block}.rl-k4r .plate-edge path{stroke:var(--ground)}.rl-k4r .plate-edge .lastline{stroke:#c8381a;opacity:.7}.rl-k4r .plate-edge.flip{transform:scaleY(-1);margin-top:0}.rl-k4r .sheet{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 clamp(1rem,5vw,3rem) 3rem}.rl-k4r .block{margin:0 0 4rem}.rl-k4r .block>h2,.rl-k4r .block>.hd>h2{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(2.3rem,4.6vw,3.4rem);line-height:1;color:var(--text)}.rl-k4r .rule{display:block;width:min(100%,520px);height:18px;margin:.3rem 0 1.6rem;overflow:visible}.rl-k4r .rule use{stroke:var(--ink)}.rl-k4r .rule path{stroke:inherit}.rl-k4r a{color:var(--oxblood);text-underline-offset:3px}.rl-k4r a:hover{color:var(--teal)}.rl-k4r .skills{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem 3rem}.rl-k4r .skill h3{margin:0 0 .25rem;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:600;font-size:1.5rem;color:var(--oxblood)}.rl-k4r .skill p{margin:0;color:var(--text)}.rl-k4r .career{position:relative;margin:0 0 3.4rem;padding:.2rem 0 0}.rl-k4r .career-row{position:relative;height:3.4rem}.rl-k4r .career-bar{position:absolute;top:1.55rem;height:1.3rem;background:repeating-linear-gradient(var(--ang),var(--bar) 0 1.5px,transparent 1.5px 5px);border-top:1.5px solid var(--bar);border-bottom:1.5px solid var(--bar);border-left:2px solid var(--bar);border-right:2px solid var(--bar)}.rl-k4r .career-bar b{position:absolute;bottom:1.35rem;left:0;white-space:nowrap;font-weight:600;font-size:.98rem;line-height:1.2;color:var(--text)}.rl-k4r .career-bar em{font-style:italic;font-weight:400;color:var(--text-soft);margin-left:.4rem}.rl-k4r .career-bar.late b{left:auto;right:0}.rl-k4r .career-join{position:absolute;top:-.55rem;height:2.1rem;width:0;border-left:1.5px solid var(--text-soft)}.rl-k4r .career-axis{position:relative;height:1.9rem;border-top:1.5px solid var(--text);margin-top:.2rem}.rl-k4r .career-axis .tick{position:absolute;top:0;width:0;height:.45rem;border-left:1px solid var(--text)}.rl-k4r .career-axis .tick.major{height:.75rem;border-left-width:1.5px}.rl-k4r .career-axis .tick u{position:absolute;top:.85rem;left:0;transform:translate(-50%);text-decoration:none;font-size:.82rem;line-height:1;color:var(--text-soft);font-variant-numeric:lining-nums;display:none}.rl-k4r .career-axis .tick.even u{display:block}@media(max-width:560px){.rl-k4r .career-bar.mid b{left:auto;right:0}.rl-k4r .career-bar b{font-size:.82rem}.rl-k4r .career-bar em{margin-left:.25rem}}.rl-k4r .role{margin:0 0 4rem;padding-top:.2rem}.rl-k4r .role-head{display:grid;grid-template-columns:1fr minmax(260px,400px);gap:1.5rem;align-items:end;border-bottom:1px solid var(--text-soft);padding-bottom:.6rem}.rl-k4r .role-title h3{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(2.4rem,5vw,3.8rem);line-height:.95;color:var(--text)}.rl-k4r .role-job{margin:.4rem 0 0;font-style:italic;font-size:1.15rem;color:var(--oxblood)}.rl-k4r .role-dates{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem;font-weight:600;color:var(--text)}.rl-k4r .rv{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);display:block;width:100%;max-width:400px;height:auto;justify-self:end;overflow:visible}.rl-k4r .hd{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.2rem 1.6rem}.rl-k4r .hd h2{margin:0}.rl-k4r .view{position:relative;z-index:1}.rl-k4r .view.sec{display:block;flex:0 0 auto;width:160px;height:80px;max-width:100%;margin-bottom:-.2rem;overflow:visible}@media(max-width:560px){.rl-k4r .view.sec{width:124px;height:62px}.rl-k4r .hd{gap:0 1rem}}.rl-k4r.k4r-draw .view:not(.go) .st{stroke-dasharray:var(--len) var(--len);stroke-dashoffset:var(--len)}.rl-k4r.k4r-draw .view.go .st{stroke-dasharray:var(--len) var(--len);animation:k4r-vcut var(--dur) cubic-bezier(.4,.1,.3,1) var(--del) both}@keyframes k4r-vcut{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}@media print{.rl-k4r .view{display:none!important}}.rl-k4r .role-summary{margin:1.3rem 0 1.2rem;max-width:52rem;font-size:1.28rem;line-height:1.5;font-style:italic;color:var(--text)}.rl-k4r .role-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:1rem 3rem;align-items:start}.rl-k4r .overview p{margin:0 0 .9rem;color:var(--text)}.rl-k4r .marks{list-style:none;margin:0;padding:0}.rl-k4r .marks>li{position:relative;margin:0 0 .75rem;padding-left:1.6rem}.rl-k4r .marks>li:before{content:"";position:absolute;left:0;top:.78em;width:1rem;height:0;border-top:1.5px solid var(--oxblood);box-shadow:0 3px 0 -.5px var(--oxblood)}.rl-k4r .sub{margin:.35rem 0 0;padding-left:1.1rem;list-style:none;font-size:.96rem;color:var(--text-soft)}.rl-k4r .sub li{margin:0 0 .15rem}.rl-k4r .sub li:before{content:"– "}.rl-k4r .tech{margin:.8rem 0 0;font-style:italic;color:var(--teal)}.rl-k4r .film{margin:1.6rem 0 0;max-width:720px;padding:6px;border:1.5px solid var(--text);outline:1px solid var(--text);outline-offset:3px}.rl-k4r .film video{border-radius:0;width:100%;display:block;background:#04090b}.rl-k4r .film figcaption{margin-top:.4rem;font-style:italic;font-size:.95rem;color:var(--text-soft)}.rl-k4r .duo{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}.rl-k4r .entry{margin:0 0 .9rem}.rl-k4r .pubs,.rl-k4r .recs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 3rem}.rl-k4r .pubs li{padding-top:.5rem;border-top:1px solid var(--text-soft)}.rl-k4r .pubs a{font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem;font-weight:600;line-height:1.1}.rl-k4r .pub-date{display:block;font-style:italic;font-size:.9rem;color:var(--text-soft)}.rl-k4r .pubs p{margin:.3rem 0 0;font-size:.97rem}.rl-k4r .rec-intro{max-width:46rem;margin:0 0 1.2rem}.rl-k4r .recs li{padding-top:.5rem;border-top:1px solid var(--text-soft)}.rl-k4r .recs a{font-family:Cormorant Garamond,Georgia,serif;font-size:1.4rem;font-weight:600;margin-right:.5rem}.rl-k4r .recs span{display:block;font-size:.97rem}.rl-k4r .colophon{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:1rem clamp(1rem,5vw,3rem) .4rem;text-align:center}.rl-k4r .col-rule{display:block;width:100%;height:18px;margin:0 0 1.4rem;overflow:visible}.rl-k4r .col-rule use{stroke:var(--ink)}.rl-k4r .col-rule path{stroke:inherit}.rl-k4r .col-mid{display:flex;align-items:center;gap:1.2rem}.rl-k4r .col-guil{flex:1 1 0;min-width:0;height:30px;display:block}.rl-k4r .col-guil path,.k4r-sheetedge .g{fill:none;stroke:var(--ink);stroke-width:.6;vector-effect:non-scaling-stroke;opacity:.85}.rl-k4r .col-mid{justify-content:center}.rl-k4r .col-caption{margin:1.1rem 0 .2rem;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.15rem 1.1rem;font-style:italic;font-size:.95rem;line-height:1.5;color:var(--text)}.rl-k4r .col-name{font-family:Cormorant Garamond,Georgia,serif;font-style:normal;font-weight:600;font-size:1.25rem}body.rl-k4r>footer{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:.2rem clamp(1rem,5vw,3rem) 1.1rem;background:none;color:var(--text-soft);font-family:Spectral,Georgia,serif;font-size:.9rem;text-align:center;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem 1.2rem}body.rl-k4r>footer .social-links{display:contents;margin:0}body.rl-k4r>footer a{color:var(--oxblood);text-decoration:underline;text-underline-offset:3px}body.rl-k4r>footer a:hover{color:var(--teal)}body.rl-k4r>footer svg{width:20px;height:20px;vertical-align:middle}.k4r-sheetedge{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 clamp(1rem,5vw,3rem) 1.4rem}.k4r-sheetedge svg{display:block;width:100%;height:30px}.k4r-sheetedge .l1,.k4r-sheetedge .l2,.k4r-sheetedge .l3{fill:none;stroke:var(--ink);vector-effect:non-scaling-stroke}.k4r-sheetedge .l1{stroke-width:2.2}.k4r-sheetedge .l2{stroke-width:1.1}.k4r-sheetedge .l3{stroke-width:.6}@media(max-width:860px){.rl-k4r .skills{grid-template-columns:1fr 1fr}.rl-k4r .role-body,.rl-k4r .role-head,.rl-k4r .duo,.rl-k4r .pubs,.rl-k4r .recs{grid-template-columns:1fr}}@media(max-width:560px){.rl-k4r .col-guil{display:none}.rl-k4r .skills{grid-template-columns:1fr}.rl-k4r .plate-edge{height:110px}}.k4r-print{display:none}@media print{@page{size:A4;margin:8mm 11mm}html:has(body.rl-k4r),body.rl-k4r{background:#fff!important;color:#111!important;margin:0!important;font-size:8.4pt!important;line-height:1.3!important;font-family:Georgia,Times New Roman,serif!important}body.rl-k4r>header,body.rl-k4r>footer,.k4r-sheetedge,.rl-k4r main.screen,.k4r-paperlines,body.rl-k4r svg[width="0"]{display:none!important}.k4r-print{display:block!important}.k4r-print .p-head{border-bottom:1.2pt solid #111;padding-bottom:3pt;margin-bottom:4pt}.k4r-print .p-name{font-size:20pt;font-weight:700;line-height:1.05}.k4r-print .p-ridge{display:block;width:100%;height:9mm;margin:1pt 0 2pt}.k4r-print .p-headline{font-size:9.5pt;font-weight:600}.k4r-print .p-contact{display:flex;flex-wrap:wrap;gap:0 12pt;font-size:8pt;margin-top:1pt}.k4r-print h2{font-size:9pt;text-transform:uppercase;letter-spacing:.06em;border-bottom:.6pt solid #111;margin:5pt 0 2.5pt;padding-bottom:1pt;color:#111}.k4r-print p{margin:0 0 2pt}.k4r-print .p-intro{font-size:8pt}.k4r-print .p-skills{display:grid;grid-template-columns:1fr 1fr;gap:1pt 12pt;font-size:7.8pt}.k4r-print .p-role{margin-bottom:3.5pt;break-inside:avoid}.k4r-print .p-role-head{display:flex;justify-content:space-between;font-size:8.6pt}.k4r-print .p-sum{font-style:italic;margin:.5pt 0 1.5pt}.k4r-print ul{margin:0 0 1pt 11pt;padding:0}.k4r-print li{margin:0 0 1pt}.k4r-print ul ul{margin-left:9pt}.k4r-print .p-tech{font-size:7.6pt}.k4r-print .p-duo{display:grid;grid-template-columns:1fr 1fr;gap:0 12pt}.k4r-print .p-pubs{font-size:7.6pt}}
