@font-face{font-family:Geologica Variable;font-style:oblique 0deg 12deg;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-cyrillic-ext-full-normal.BKl47-XT.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica Variable;font-style:oblique 0deg 12deg;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-cyrillic-full-normal.rGVjBV5p.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geologica Variable;font-style:oblique 0deg 12deg;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-greek-full-normal.Bm5DdV9H.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Geologica Variable;font-style:oblique 0deg 12deg;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-vietnamese-full-normal.DPFinsHH.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica Variable;font-style:oblique 0deg 12deg;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-latin-ext-full-normal.DEx20FH4.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geologica Variable;font-style:oblique 0deg 12deg;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-latin-full-normal.Bw0WcW38.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--loris-bg: oklch(1 0 0);--loris-surface: oklch(.965 .006 150);--loris-ink: oklch(.16 .025 155);--loris-muted: oklch(.42 .025 155);--loris-primary: oklch(.47 .145 150);--loris-primary-dark: oklch(.31 .095 150);--loris-accent: oklch(.34 .15 255);--loris-signal: oklch(.91 .12 95);--loris-on-color: oklch(.985 .004 150);--loris-line: oklch(.16 .025 155 / .18);--loris-line-light: oklch(.985 .004 150 / .28);--loris-gutter: clamp(1.1rem, 4vw, 4.5rem);--loris-content: 90rem;--loris-header-height: 4.5rem;--loris-ease: cubic-bezier(.16, 1, .3, 1);--loris-z-header: 40}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--loris-bg);color:var(--loris-ink);font-family:Geologica Variable,system-ui,sans-serif;font-synthesis:none;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:20rem;min-height:100vh;overflow-x:hidden;background:var(--loris-bg)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--loris-signal);outline-offset:4px}h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}::selection{background:var(--loris-signal);color:var(--loris-ink)}.skip-link{position:fixed;z-index:calc(var(--loris-z-header) + 1);top:.7rem;left:.7rem;min-height:2.75rem;padding:.8rem 1rem;background:var(--loris-ink);color:var(--loris-on-color);font-size:.86rem;font-weight:700;text-decoration:none;translate:0 -150%;transition:translate .18s var(--loris-ease)}.skip-link:focus{translate:0}.loris-section{padding-inline:max(var(--loris-gutter),calc((100vw - var(--loris-content)) / 2))}[data-section]{scroll-margin-top:calc(var(--loris-header-height) + 1rem)}.loris-header{position:fixed;z-index:var(--loris-z-header);top:0;right:0;left:0;display:grid;grid-template-columns:minmax(11rem,1fr) auto minmax(11rem,1fr);align-items:center;min-height:var(--loris-header-height);padding-inline:var(--loris-gutter);border-bottom:1px solid var(--loris-line);background:var(--loris-bg)}.loris-progress{position:absolute;right:0;bottom:-1px;left:0;height:3px;background:var(--loris-primary);scale:var(--page-progress, 0) 1;transform-origin:left}.loris-brand{display:inline-flex;align-items:center;justify-self:start;min-height:2.75rem;color:var(--loris-ink);font-size:.9rem;font-weight:720;text-decoration:none}.loris-nav{display:flex;align-items:center;justify-content:center;gap:clamp(.15rem,1vw,.8rem)}.loris-nav a,.loris-header__mail{position:relative;display:inline-flex;align-items:center;min-height:2.75rem;padding-inline:.75rem;color:var(--loris-muted);font-size:.78rem;font-weight:620;text-decoration:none;transition-property:color,background-color;transition-duration:.18s;transition-timing-function:var(--loris-ease)}.loris-nav a:after{position:absolute;right:.75rem;bottom:.32rem;left:.75rem;height:2px;background:var(--loris-primary);content:"";scale:0 1;transform-origin:left;transition:scale .22s var(--loris-ease)}.loris-nav a:hover,.loris-nav a[aria-current=true],.loris-header__mail:hover{color:var(--loris-ink)}.loris-nav a[aria-current=true]:after{scale:1}.loris-header__mail{justify-self:end;gap:.35rem;color:var(--loris-ink)}.loris-header__mail span{color:var(--loris-primary);transition:translate .18s var(--loris-ease)}.loris-header__mail:hover span{translate:.15rem -.15rem}.loris-hero{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(19rem,.8fr);min-height:92svh;padding-top:var(--loris-header-height);background:var(--loris-bg)}.loris-hero__main{display:flex;flex-direction:column;justify-content:center;padding:clamp(4.5rem,9vw,8rem) var(--loris-gutter) clamp(4rem,8vw,7rem)}.loris-hero__locator{display:flex;align-items:center;gap:.65rem;margin-bottom:clamp(2rem,4vw,3.5rem);color:var(--loris-muted);font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.loris-hero__locator span{width:.7rem;height:.7rem;background:var(--loris-primary);border-radius:50%;box-shadow:0 0 0 .35rem oklch(.47 .145 150 / .12)}.loris-hero h1{max-width:11ch;font-size:clamp(2.75rem,8.5vw,6rem);font-variation-settings:"SHRP" 65,"CRSV" 0;font-weight:820;letter-spacing:-.035em;line-height:.88}.loris-hero h1 span{display:block}.loris-hero h1 span:last-child{color:var(--loris-primary)}.loris-hero__lead{max-width:58ch;margin-top:clamp(2.25rem,5vw,4rem);color:var(--loris-ink);font-size:clamp(1.08rem,1.8vw,1.42rem);font-weight:430;line-height:1.55}.loris-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem clamp(1.25rem,3vw,2.25rem);margin-top:2.5rem}.loris-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3.25rem;padding:.9rem 1.25rem;font-size:.9rem;font-weight:720;text-decoration:none;transition-property:background-color,scale;transition-duration:.18s;transition-timing-function:var(--loris-ease)}.loris-button--primary{background:var(--loris-primary);color:var(--loris-on-color)}.loris-button--primary:hover{background:var(--loris-primary-dark)}.loris-button:active{scale:.96}.loris-text-link{min-height:2.75rem;padding-block:.75rem;color:var(--loris-ink);font-size:.9rem;font-weight:650;text-decoration-color:var(--loris-primary);text-decoration-thickness:2px;text-underline-offset:.32rem;transition:color .18s var(--loris-ease)}.loris-text-link:hover{color:var(--loris-primary-dark)}.loris-now{position:relative;display:flex;flex-direction:column;justify-content:center;gap:clamp(2rem,4vw,3.5rem);overflow:hidden;padding:clamp(5.5rem,8vw,8rem) clamp(1.5rem,4vw,4rem) clamp(2.5rem,5vw,4.5rem);background:var(--loris-primary);color:var(--loris-on-color)}.loris-now:after{position:absolute;right:-.15em;bottom:-.16em;color:#f8fbf914;content:"↗";font-size:clamp(12rem,25vw,26rem);font-weight:760;line-height:.7;pointer-events:none}.loris-now__tab{position:absolute;top:clamp(1.5rem,4vw,3rem);right:0;min-width:7rem;padding:.7rem 1.25rem;background:var(--loris-signal);color:var(--loris-ink);font-size:.72rem;font-weight:780;letter-spacing:.1em;text-align:center;text-transform:uppercase}.loris-now__entry{position:relative;z-index:1;padding-bottom:clamp(2rem,4vw,3.5rem);border-bottom:1px solid var(--loris-line-light)}.loris-now__entry p{margin-bottom:.8rem;color:#f8fbf9e0;font-size:.74rem;font-variant-numeric:tabular-nums;font-weight:620}.loris-now__entry strong{display:block;font-size:clamp(1.75rem,3vw,3rem);font-variation-settings:"SHRP" 70;font-weight:760;letter-spacing:-.028em;line-height:.98}.loris-now__entry span{display:block;max-width:34ch;margin-top:1rem;color:#f8fbf9d1;font-size:.85rem;line-height:1.5}.loris-now__range{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;color:#f8fbf9db;font-size:.7rem;font-variant-numeric:tabular-nums;font-weight:680}.loris-now__range i{height:1px;background:var(--loris-line-light)}.loris-experience{padding-top:clamp(4.5rem,7vw,7rem);padding-bottom:clamp(4.5rem,7vw,7rem);background:var(--loris-bg)}.loris-section-head{display:grid;grid-template-columns:minmax(7rem,.32fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}.loris-section-head__range{display:grid;grid-template-rows:auto 4.5rem auto;justify-items:start;color:var(--loris-muted);font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:680}.loris-section-head__range i{width:1px;height:100%;margin-left:.35rem;background:var(--loris-line)}.loris-section-head h2,.education-intro h2,.projects-intro h2,.personal-intro h2,.loris-contact h2{max-width:13ch;font-size:clamp(2.45rem,6vw,5.4rem);font-variation-settings:"SHRP" 60;font-weight:790;letter-spacing:-.035em;line-height:.94}.loris-section-head>div:last-child>p{max-width:66ch;margin-top:1.6rem;color:var(--loris-muted);font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.65}.career-list{margin-top:clamp(2.75rem,5vw,4rem);list-style:none}.career-row{display:grid;grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);padding:clamp(1.8rem,3vw,2.75rem) clamp(0rem,1vw,1rem);border-top:1px solid var(--loris-line);transition:background-color .22s var(--loris-ease)}.career-row:last-child{border-bottom:1px solid var(--loris-line)}.career-row:hover,.career-row:focus-within{background:var(--loris-surface)}.career-row__date{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;padding-top:.2rem}.career-row__date time{color:var(--loris-muted);font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:650}.career-row__date span{display:inline-flex;align-items:center;gap:.45rem;min-height:1.8rem;padding-inline:.65rem;border-radius:999px;background:var(--loris-primary);color:var(--loris-on-color);font-size:.65rem;font-weight:750;text-transform:uppercase}.career-row__date span:before{width:.38rem;height:.38rem;border-radius:50%;background:var(--loris-on-color);content:""}.career-row__content header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.career-row__content h3{max-width:23ch;font-size:clamp(1.5rem,2.4vw,2.35rem);font-weight:730;letter-spacing:-.025em;line-height:1}.career-row__content header p{margin-top:.45rem;color:var(--loris-primary-dark);font-size:.92rem;font-weight:650}.career-row__kind{flex:0 0 auto;color:var(--loris-muted);font-size:.72rem;font-weight:620}.career-row__content ul{display:grid;gap:.48rem;max-width:68ch;margin-top:1.2rem;color:var(--loris-muted);font-size:.93rem;line-height:1.48;list-style:none}.career-row__content li{display:grid;grid-template-columns:1rem 1fr;gap:.35rem}.career-row__content li:before{color:var(--loris-primary);content:"→";font-weight:750}.early-work{margin-top:clamp(2.75rem,5vw,4rem);background:var(--loris-ink);color:var(--loris-on-color)}.early-work>header{display:grid;grid-template-columns:minmax(12rem,.55fr) 1fr;gap:2rem;align-items:end;padding:clamp(1.75rem,3.5vw,2.75rem);border-bottom:1px solid var(--loris-line-light)}.early-work h3{font-size:clamp(1.7rem,2.7vw,2.35rem);font-weight:700;letter-spacing:-.025em}.early-work header p{max-width:42ch;color:#f8fbf9b3;line-height:1.55}.early-work ol{list-style:none}.early-work li{display:grid;grid-template-columns:minmax(10rem,.75fr) minmax(9rem,.65fr) minmax(0,1fr);gap:1.5rem;align-items:center;min-height:4.1rem;padding:.85rem clamp(1.75rem,3.5vw,2.75rem);border-bottom:1px solid var(--loris-line-light)}.early-work time,.early-work span{color:#f8fbf9a8;font-size:.78rem}.early-work time{font-variant-numeric:tabular-nums}.early-work strong{font-size:.94rem;font-weight:700}.loris-education{padding-top:clamp(5.5rem,10vw,9rem);padding-bottom:clamp(5.5rem,10vw,9rem);background:var(--loris-signal);color:var(--loris-ink)}.education-intro,.projects-intro,.personal-intro{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem);align-items:end}.education-intro>p,.projects-intro>p,.personal-intro>p{max-width:55ch;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.education-list{margin-top:clamp(3.5rem,7vw,6rem);list-style:none}.education-list li{display:grid;grid-template-columns:3.2rem minmax(9rem,.55fr) minmax(16rem,1fr) minmax(14rem,.85fr);gap:clamp(1rem,3vw,2.5rem);align-items:start;padding-block:clamp(1.8rem,3vw,2.8rem);border-top:1px solid oklch(.16 .025 155 / .28)}.education-list li:last-child{border-bottom:1px solid oklch(.16 .025 155 / .28)}.education-list__index,.education-list time{font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:680}.education-list__index{color:var(--loris-primary-dark)}.education-list h3{font-size:clamp(1.2rem,2.3vw,2rem);font-weight:730;letter-spacing:-.018em;line-height:1.1}.education-list div p{margin-top:.6rem;font-size:.87rem;font-weight:640}.education-list__note{max-width:38ch;color:#1a281f;font-size:.9rem;line-height:1.55}.projects-intro{padding-top:clamp(5.5rem,10vw,9rem);padding-bottom:clamp(4rem,8vw,7rem);background:var(--loris-bg)}.projects-intro>p{color:var(--loris-muted)}.project{display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,9rem);min-height:42rem;padding:clamp(4.5rem,9vw,8.5rem) max(var(--loris-gutter),calc((100vw - var(--loris-content)) / 2));color:var(--loris-on-color)}.project--forex{background:var(--loris-accent)}.project--garcon{background:var(--loris-primary)}.project__heading,.project__body{display:flex;flex-direction:column;justify-content:center}.project__heading>p{margin-bottom:1.8rem;color:#f8fbf9db;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:690;letter-spacing:.08em;text-transform:uppercase}.project__heading h3{max-width:14ch;font-size:clamp(2.35rem,5.7vw,5.2rem);font-variation-settings:"SHRP" 70;font-weight:780;letter-spacing:-.035em;line-height:.95}.project__heading a{align-self:flex-start;min-height:2.75rem;margin-top:2.5rem;padding-block:.75rem;font-size:.88rem;font-weight:700;text-decoration-color:#f8fbf9a6;text-decoration-thickness:2px;text-underline-offset:.35rem}.project__heading a span{display:inline-block;margin-left:.3rem;transition:translate .18s var(--loris-ease)}.project__heading a:hover span{translate:.16rem -.16rem}.project__lead{max-width:58ch;font-size:clamp(1.08rem,1.8vw,1.34rem);font-weight:430;line-height:1.58}.project-pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(2.5rem,5vw,4.5rem);border-top:1px solid var(--loris-line-light);border-bottom:1px solid var(--loris-line-light);list-style:none}.project-pipeline li{min-height:10rem;padding:1.5rem 1rem}.project-pipeline li+li{border-left:1px solid var(--loris-line-light)}.project-pipeline span,.project-pipeline small{display:block;color:#f8fbf99e;font-size:.68rem;font-variant-numeric:tabular-nums}.project-pipeline strong{display:block;margin-top:1.9rem;font-size:1rem;font-weight:720}.project-pipeline small{margin-top:.35rem;line-height:1.4}.project__result{max-width:55ch;margin-top:2.5rem;color:#f8fbf9d1;font-size:.98rem;line-height:1.58}.project__result strong{color:var(--loris-on-color);font-variant-numeric:tabular-nums}.project__body--garcon>p:last-child{max-width:55ch;color:#f8fbf9db;line-height:1.58}.garcon-loop{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-block:clamp(3rem,6vw,5rem);padding-block:1.5rem;border-top:1px solid var(--loris-line-light);border-bottom:1px solid var(--loris-line-light)}.garcon-loop span{font-size:clamp(1.1rem,2vw,1.65rem);font-weight:720}.garcon-loop i{color:#f8fbf98c;font-style:normal}.loris-personal{padding-top:clamp(5.5rem,10vw,9rem);padding-bottom:clamp(4rem,8vw,7rem);background:var(--loris-ink);color:var(--loris-on-color)}.personal-intro>p{color:#f8fbf9b8}.island-story,.piano-story,.personal-more{margin-inline:max(var(--loris-gutter),calc((100vw - var(--loris-content)) / 2))}.island-story{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);gap:clamp(2.5rem,7vw,8rem);align-items:stretch;margin-top:clamp(4rem,8vw,7rem);padding-top:clamp(2.5rem,5vw,4.5rem);border-top:1px solid var(--loris-line-light)}.island-story__visual{display:flex;min-height:28rem;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(1.5rem,4vw,3.5rem);background:var(--loris-signal);color:var(--loris-ink)}.island-story__visual>p{max-width:100%;font-size:clamp(2.05rem,6vw,5.5rem);font-variation-settings:"SHRP" 35;font-weight:810;letter-spacing:-.04em;line-height:.9;overflow-wrap:anywhere}.island-months{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid oklch(.16 .025 155 / .35);border-bottom:1px solid oklch(.16 .025 155 / .35)}.island-months span{min-height:3.5rem;padding:1rem .5rem;font-size:.66rem;font-variant-numeric:tabular-nums;font-weight:720;text-align:center}.island-months span+span{border-left:1px solid oklch(.16 .025 155 / .35)}.island-story__visual strong{align-self:flex-end;font-size:clamp(3rem,8vw,6rem);font-variant-numeric:tabular-nums;font-weight:820;letter-spacing:-.035em;line-height:.8}.island-story__copy,.piano-story__copy{align-self:center}.island-story__copy h3,.piano-story__copy h3{font-size:clamp(1.8rem,4vw,3.6rem);font-weight:740;letter-spacing:-.03em;line-height:1}.island-story__copy p,.piano-story__copy p{max-width:48ch;margin-top:1.4rem;color:#f8fbf9b8;line-height:1.65}.piano-story{display:grid;grid-template-columns:minmax(15rem,.55fr) minmax(0,1.45fr);gap:clamp(3rem,8vw,9rem);align-items:center;padding-top:clamp(4rem,9vw,8rem);padding-bottom:clamp(4rem,8vw,7rem);border-bottom:1px solid var(--loris-line-light)}.piano-status{display:block;min-height:1.5rem;margin-top:1.2rem;color:var(--loris-signal);font-size:.76rem;font-weight:650}.piano{max-width:52rem;overflow-x:auto;padding:.5rem .5rem 1rem;overscroll-behavior-inline:contain;scrollbar-color:var(--loris-primary) transparent}.piano__board{position:relative;min-width:21rem;background:var(--loris-accent)}.piano__white-keys{display:grid;grid-template-columns:repeat(8,minmax(2.5rem,1fr));gap:2px;min-height:clamp(15rem,29vw,21rem)}.piano__black-keys{position:absolute;inset:0;pointer-events:none}.piano-key{position:relative;border:0;border-radius:0 0 .45rem .45rem;cursor:pointer;transition-property:background-color,color,translate;transition-duration:.1s;transition-timing-function:var(--loris-ease)}.piano-key span{position:absolute;right:0;bottom:1rem;left:0;font-size:.66rem;font-weight:700;text-align:center}.piano-key--white{min-width:2.5rem;min-height:15rem;background:var(--loris-bg);color:var(--loris-muted)}.piano-key--white:hover,.piano-key--white[data-playing=true]{background:var(--loris-signal);color:var(--loris-ink);translate:0 .3rem}.piano-key--black{position:absolute;top:0;left:var(--key-left);width:2.5rem;min-width:2.5rem;min-height:9.5rem;height:62%;background:var(--loris-accent);color:var(--loris-on-color);translate:-50% 0;pointer-events:auto}.piano-key--black:hover,.piano-key--black[data-playing=true]{background:var(--loris-primary);translate:-50% .3rem}.piano-key:active{scale:.96}.personal-more{padding-top:2rem;color:#f8fbf9a8;font-size:.85rem}.loris-contact{padding:clamp(5.5rem,11vw,10rem) max(var(--loris-gutter),calc((100vw - var(--loris-content)) / 2)) 2rem;background:var(--loris-bg);color:var(--loris-ink)}.loris-contact__main>p{margin-top:1.5rem;color:var(--loris-muted)}.loris-contact__mail{display:block;max-width:100%;margin-top:clamp(2rem,5vw,4rem);color:var(--loris-primary-dark);font-size:clamp(2.1rem,7vw,5.5rem);font-weight:780;letter-spacing:-.038em;line-height:1;overflow-wrap:anywhere;text-decoration-color:var(--loris-primary);text-decoration-thickness:.08em;text-underline-offset:.15em;transition:color .18s var(--loris-ease)}.loris-contact__mail:hover{color:var(--loris-primary)}.loris-contact__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 3rem;margin-top:clamp(4rem,8vw,7rem);padding-block:1.7rem;border-top:1px solid var(--loris-line);border-bottom:1px solid var(--loris-line);color:var(--loris-muted);font-size:.8rem;line-height:1.5}.loris-contact__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-top:clamp(3rem,6vw,5rem)}.loris-contact__foot nav{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem}.loris-contact__foot a{min-height:2.75rem;padding-block:.75rem;font-size:.78rem;font-weight:680;text-decoration-color:var(--loris-primary);text-underline-offset:.25rem}.loris-contact__foot>p{color:var(--loris-muted);font-size:.72rem}@media(max-width:68rem){.loris-hero{grid-template-columns:minmax(0,1fr);min-height:auto}.loris-hero__main{min-height:calc(100svh - var(--loris-header-height))}.loris-now{min-height:38rem}.project{grid-template-columns:minmax(0,1fr);gap:4rem;min-height:auto}.project__heading{padding-bottom:4rem;border-bottom:1px solid var(--loris-line-light)}.project__heading h3{max-width:18ch}.education-list li{grid-template-columns:2.5rem minmax(8.5rem,.45fr) minmax(14rem,1fr)}.education-list__note{grid-column:3}}@media(max-width:52rem){:root{--loris-header-height: 6.75rem}.loris-header{grid-template-columns:1fr auto;grid-template-rows:3.6rem 3.15rem;align-items:center;padding-inline:var(--loris-gutter)}.loris-brand{grid-column:1;grid-row:1}.loris-header__mail{grid-column:2;grid-row:1}.loris-nav{grid-column:1 / -1;grid-row:2;justify-content:flex-start;max-width:calc(100vw - 2 * var(--loris-gutter));overflow-x:auto;scrollbar-width:none}.loris-nav::-webkit-scrollbar{display:none}.loris-nav a:first-child{padding-left:0}.loris-nav a:first-child:after{left:0}.loris-section-head,.education-intro,.projects-intro,.personal-intro{grid-template-columns:minmax(0,1fr)}.loris-section-head__range{grid-template-columns:auto minmax(4rem,8rem) auto;grid-template-rows:auto;align-items:center}.loris-section-head__range i{width:100%;height:1px;margin-left:0}.career-row{grid-template-columns:minmax(0,1fr);gap:1.25rem}.career-row__date{flex-direction:row;align-items:center}.early-work>header{grid-template-columns:minmax(0,1fr)}.early-work li{grid-template-columns:minmax(8.5rem,.7fr) minmax(8rem,.7fr) minmax(0,1fr);gap:.8rem}.education-list li{grid-template-columns:2rem minmax(0,1fr)}.education-list time,.education-list div,.education-list__note{grid-column:2}.project-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.project-pipeline li:nth-child(3){border-left:0;border-top:1px solid var(--loris-line-light)}.project-pipeline li:nth-child(4){border-top:1px solid var(--loris-line-light)}.island-story,.piano-story{grid-template-columns:minmax(0,1fr)}.island-story__copy{padding-block:1rem 2rem}.piano-story{gap:3rem}.loris-contact__facts{grid-template-columns:minmax(0,1fr)}.loris-contact__foot{align-items:flex-start;flex-direction:column}}@media(max-width:34rem){.loris-nav{gap:.1rem}.loris-nav a{padding-inline:.35rem;font-size:.7rem}.loris-nav a:after{right:.35rem;left:.35rem}.loris-nav a:first-child:after{left:0}.loris-hero__main{padding-block:4rem}.loris-hero h1{font-size:clamp(2.7rem,15vw,4.4rem)}.loris-now{min-height:34rem}.career-row__content header{flex-direction:column;gap:.55rem}.early-work li{grid-template-columns:minmax(0,1fr);gap:.35rem;padding-block:1.1rem}.early-work span{margin-top:.15rem}.project{padding-block:4.5rem}.project-pipeline{grid-template-columns:minmax(0,1fr)}.project-pipeline li+li,.project-pipeline li:nth-child(3),.project-pipeline li:nth-child(4){border-top:1px solid var(--loris-line-light);border-left:0}.project-pipeline li{min-height:7.5rem}.island-story__visual{min-height:23rem}.island-months span{padding-inline:.2rem;font-size:.58rem}.loris-contact__mail{font-size:clamp(2rem,11vw,3.2rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{@page{margin:14mm}:root{--loris-header-height: 0rem}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}.skip-link,.loris-header,.loris-hero__actions,.piano,.piano-status{display:none!important}.loris-hero{grid-template-columns:1.4fr .6fr;min-height:auto;padding-top:0}.loris-hero__main,.loris-now,.loris-experience,.loris-education,.projects-intro,.project,.loris-personal,.loris-contact{padding:12mm}.career-row,.education-list li,.project,.island-story,.piano-story{break-inside:avoid}}
