.personal-sections{--ink:#29231e;--secondary:#675a4d;--line:#c8bcaa;--accent:#9c3026;--personal-gutter:6vw;color:var(--ink);color-scheme:light;background:#f2ebdd}.personal-sections :is(.profile-about,.personal-experience){padding:100px var(--personal-gutter) 0;margin:0;scroll-margin-top:74px}.personal-sections .personal-experience{padding-bottom:56px}.personal-sections .personal-heading{letter-spacing:-.025em;color:var(--ink);margin:0;font:550 17px/1.4 Inter Variable,Arial,sans-serif}.profile-about-layout{grid-template-columns:minmax(200px,280px) minmax(0,740px);align-items:center;gap:clamp(40px,8vw,120px);margin-top:36px;display:grid}.personal-portrait{aspect-ratio:4/5;background:#30302e;overflow:hidden}.personal-portrait img{object-fit:cover;object-position:43% 24%;width:101%;max-width:none;height:100%;display:block}.personal-introduction>p{letter-spacing:-.03em;max-width:40ch;margin:0;font:400 clamp(20px,1.85vw,27px)/1.6 Inter Variable,Arial,sans-serif}.personal-introduction .social-links{gap:28px;margin-top:27px}.personal-section-top{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.personal-text-link{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:8px 0;font:500 13px/1.5 Inter Variable,Arial,sans-serif;text-decoration:none;display:inline-flex}.personal-text-link>span{color:var(--accent);font-size:18px}.personal-text-link:hover{text-underline-offset:5px;text-decoration:underline}.personal-sections :is(a,button,summary):focus-visible{outline-offset:5px;outline:2px solid #9c3026}.experience-list{border-bottom:1px solid var(--line)}.resume-entry{border-top:1px solid var(--line)}.resume-entry summary{cursor:pointer;grid-template-columns:minmax(0,1fr) 185px 22px;align-items:center;gap:32px;padding:25px 0;list-style:none;transition:background-color .18s;display:grid}.resume-entry summary::-webkit-details-marker{display:none}.resume-entry summary:hover{background:#e9dfce33}.experience-company{letter-spacing:-.04em;font-size:19px;font-weight:550;line-height:1.35;display:block}.experience-role{color:var(--secondary);margin-top:7px;font-size:13px;line-height:1.5;display:block}.experience-location{color:var(--secondary);margin-top:4px;font-size:12px;line-height:1.5;display:block}.experience-date{color:var(--secondary);text-align:right;padding-top:2px;font-size:12px;line-height:1.7}.experience-current .experience-company{color:var(--accent)}.experience-current summary{padding-block:30px}.experience-toggle{width:22px;height:22px;color:var(--secondary);margin-top:1px;position:relative}.experience-toggle span{background:currentColor;width:12px;height:1px;transition:transform .24s;position:absolute;top:10px;left:5px}.experience-toggle span+span{transform:rotate(90deg)}.resume-entry[data-expanded=true] .experience-toggle span+span{transform:rotate(0)}.resume-entry[open] .experience-company{color:var(--accent)}.experience-panel{padding:0 22px 30px 0}.experience-panel ul{max-width:70ch;color:var(--secondary);margin:0;padding-left:17px;font-size:14px;line-height:1.8}.experience-panel li+li{margin-top:10px}.personal-sections .profile-contact{padding:78px var(--personal-gutter) 38px;background:#e8dfcf;border-top:0;position:relative}.contact-introduction{grid-template-columns:1fr 1fr;align-items:start;gap:40px;margin-bottom:42px;display:grid}.train-page .profile-contact h2{margin:0;font-size:clamp(40px,5.1vw,72px)}.contact-introduction p{max-width:40ch;margin:0 0 15px;font-size:16px;line-height:1.7}.profile-contact .calendar-card{margin-top:0}.personal-sections .profile-contact footer{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding-top:12px;padding-bottom:55px;display:grid}.personal-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:0 22px;display:flex}.personal-footer-links a,.profile-contact footer>a{white-space:nowrap;align-items:center;gap:5px;min-height:44px;display:inline-flex}.profile-contact footer>a{justify-self:end}.personal-footer-links a:hover{text-underline-offset:4px;text-decoration:underline}@media (width<=900px){.personal-sections .profile-contact footer{grid-template-columns:minmax(0,1fr) auto;gap:8px 20px}.personal-footer-links{grid-area:2/1/auto/-1;justify-content:flex-start}.profile-contact footer>a{grid-area:1/2}}@media (width>=1600px){.personal-sections{--personal-gutter:max(6vw,calc((100vw - 1440px)/2))}}@media (width<=1050px){.resume-entry summary{grid-template-columns:minmax(0,1fr) 155px 22px;gap:20px}.experience-date{font-size:11px}}@media (width<=700px){.personal-sections{--personal-gutter:7vw}.personal-sections :is(.profile-about,.personal-experience){padding:64px var(--personal-gutter) 0}.personal-sections .personal-experience{padding-bottom:40px}.profile-about-layout{grid-template-columns:1fr;gap:28px;margin-top:28px}.personal-portrait{width:190px}.personal-introduction>p{font-size:20px;line-height:1.65}.personal-introduction .social-links{margin-top:19px}.personal-section-top{gap:16px;margin-bottom:22px}.personal-text-link{gap:12px;font-size:12px}.resume-entry summary{grid-template-columns:1fr 22px;gap:8px 18px;padding:22px 0}.experience-company{font-size:18px}.experience-date{text-align:left;grid-area:2/1;padding:0;font-size:12px}.experience-role{margin-top:5px}.experience-toggle{grid-area:1/2}.experience-panel{padding:0 32px 26px 0}.experience-panel ul{font-size:14px}.personal-sections .profile-contact{padding:54px var(--personal-gutter) 30px}.contact-introduction{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.contact-introduction p{font-size:15px}.profile-contact footer{padding-bottom:45px}}@media (prefers-reduced-motion:reduce){.personal-sections *{scroll-behavior:auto!important;transition:none!important}}@media print{.personal-sections details::details-content{content-visibility:visible}.experience-toggle{display:none}.personal-sections{break-inside:auto}}html{background:#101615;scroll-padding-top:0}.train-page{background:#101615!important}.train-page .train-intro-spacer{height:440svh;scroll-margin-top:0}.train-world{z-index:0;pointer-events:none;background:#101615;position:fixed;inset:0;overflow:hidden}.train-canvas,.train-fallback{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.train-fallback{object-position:46% center}.train-canvas{opacity:0}.train-world video{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.train-interface{z-index:50;pointer-events:none;color:#fffaf0;text-shadow:0 1px 2px #000b;position:fixed;inset:0}.train-interface a,.train-interface button{pointer-events:auto;color:inherit}.train-interface button{letter-spacing:.035em;cursor:pointer;background:0 0;border:0;min-height:44px;padding:14px 0;font:550 12px Inter Variable,Arial,sans-serif}.train-interface [hidden]{display:none!important}.train-entry{flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.train-interface .train-entry button{color:#fffaf0;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 2px 9px #101615,0 1px 2px #101615;background:0 0;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:12px 16px;font:600 11px/1 JetBrains Mono,monospace;transition:opacity .2s;display:flex}.train-entry button:hover{opacity:.72}.train-entry button:focus-visible{outline-offset:4px;outline:2px solid #fffaf0}.train-entry button span{letter-spacing:0;font:18px/1 Inter Variable,Arial,sans-serif;transition:transform .2s}.train-entry button:hover span{transform:translate(2px,-2px)}.carriage-navigation{top:max(34px,env(safe-area-inset-top));opacity:0;visibility:hidden;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 5px #101615,0 0 12px #101615a0;justify-content:space-between;align-items:center;font-size:12px;font-weight:550;transition:opacity .25s;display:flex;position:absolute;left:6vw;right:6vw}.carriage-navigation>div{gap:40px;margin-right:176px;display:flex}.carriage-navigation a{padding:14px 0}.train-page[data-train-state=TRAIN_WINDOW] .carriage-navigation{opacity:1;visibility:visible}.train-start{letter-spacing:.025em;white-space:nowrap;border-bottom:1px solid #fffaf0b0;align-items:center;gap:35px;min-height:48px;padding:16px 0;font:500 13px Inter Variable,Arial,sans-serif;display:flex;position:absolute;bottom:28%;left:50%;transform:translate(-50%)}.train-start>span{font-size:23px;transition:transform .3s}.train-start:hover>span{transform:translateY(4px)}.train-utility{top:max(20px,env(safe-area-inset-top));text-shadow:none;flex-direction:column;align-items:center;gap:6px;font-size:12px;display:flex;position:absolute;right:4vw}.train-music-controls{align-items:center;gap:2px;display:flex}.train-interface .train-utility button{background:#161c19b8;border:1px solid #fffaf03d;border-radius:999px;place-items:center;width:44px;height:44px;padding:0;display:grid}.train-interface .train-utility button:hover{background:#161c19e0}.train-interface .train-utility button:focus-visible{outline-offset:-2px;outline:2px solid}.train-interface .train-utility .train-track-step{background:0 0;border-color:#0000;transition:background .2s}.train-interface .train-utility .train-track-step:hover{background:#fffaf014}.train-track-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.025em;text-align:center;max-width:136px;color:inherit;text-shadow:0 1px 5px #101615;font:9px/1.3 JetBrains Mono,monospace;overflow:hidden}.sound-bars{pointer-events:none;justify-content:center;align-items:center;gap:2px;width:32px;height:28px;display:flex}.sound-bars i{width:2px;height:var(--bar-height);transform-origin:50%;background:currentColor;border-radius:2px;flex:none;transition:transform .2s;display:block}.sound-bars i:first-child{--bar-height:7px;--bar-speed:.68s;--bar-delay:-.19s}.sound-bars i:nth-child(2){--bar-height:13px;--bar-speed:.81s;--bar-delay:-.52s}.sound-bars i:nth-child(3){--bar-height:19px;--bar-speed:.73s;--bar-delay:-.27s}.sound-bars i:nth-child(4){--bar-height:12px;--bar-speed:.92s;--bar-delay:-.64s}.sound-bars i:nth-child(5){--bar-height:25px;--bar-speed:.77s;--bar-delay:-.38s}.sound-bars i:nth-child(6){--bar-height:16px;--bar-speed:.86s;--bar-delay:-.71s}.sound-bars i:nth-child(7){--bar-height:22px;--bar-speed:.69s;--bar-delay:-.44s}.sound-bars i:nth-child(8){--bar-height:12px;--bar-speed:.84s;--bar-delay:-.12s}.sound-bars i:nth-child(9){--bar-height:7px;--bar-speed:.75s;--bar-delay:-.58s}[data-train-sound][data-playing=true] .sound-bars i{animation:sound-bar var(--bar-speed) ease-in-out var(--bar-delay) infinite alternate}@keyframes sound-bar{0%,to{transform:scaleY(.55)}35%{transform:scaleY(1.05)}65%{transform:scaleY(.72)}85%{transform:scaleY(1.18)}}.train-page[data-train-state=COMPLETE] .train-utility{color:#29231e}.train-page[data-train-state=COMPLETE] .train-utility button{background:#f2ebddf2;border-color:#c8bcaa}.train-page[data-train-state=COMPLETE] .train-utility button:hover{background:#e8decc}.train-page[data-train-state=COMPLETE] .train-utility .train-track-step{background:0 0;border-color:#0000}.train-page[data-train-state=COMPLETE] .train-utility .train-track-step:hover{background:#29231e0a}.train-page[data-train-state=COMPLETE] .train-track-title{text-shadow:none}.train-page[data-train-state=COMPLETE] .voyage-brand{min-height:44px}.train-status{text-align:center;max-width:70vw;font-size:12px;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}.train-status:empty{display:none}.train-page>.voyage-header{visibility:hidden;opacity:0;backdrop-filter:none;background:0 0;transition:opacity .25s}.train-page:is([data-train-state=PORTFOLIO],[data-train-state=COMPLETE])>.voyage-header{visibility:visible;opacity:1}.train-page[data-stage=work][data-train-state=PORTFOLIO]>.voyage-header{color:#fffaf0;backdrop-filter:none;background:#101615e6}.train-page[data-train-state=COMPLETE]>.voyage-header{background:#f2ebddf2}.train-page:is([data-train-state=PORTFOLIO],[data-train-state=COMPLETE]) .voyage-header nav{margin-right:176px}.train-page:is([data-train-state=PORTFOLIO],[data-train-state=COMPLETE]) :is(.carriage-navigation,.train-start,.train-entry){display:none}.train-page .selected-work{color:#fffaf0;background:0 0}.train-page .gallery-heading .small-label,.train-page .gallery-heading>p,.train-page .gallery-card-caption p,.train-page .gallery-controls>p{color:#e0dbcd}.train-page .gallery-heading .small-label{letter-spacing:.04em;font-size:12px}.train-page .gallery-card-caption p{font-size:12px}.train-page .gallery-controls{border-color:#e0dbcd50}.train-page .gallery-grid-floor{display:none}.train-page .gallery-sticky.train-reveal{visibility:visible;pointer-events:none;z-index:10;position:fixed;inset:0}.train-page .gallery-card{will-change:transform}.train-page[data-train-state=COMPLETE] .selected-work{background:#101615}@media (width<=800px){.train-page .train-intro-spacer{height:400svh}.train-fallback{object-position:23% center}.carriage-navigation{font-size:11px;top:78px;left:6vw;right:6vw}.carriage-navigation>span{max-width:75px;line-height:1.5}.carriage-navigation>div{gap:22px;margin-right:0}.train-start{bottom:29%}.train-utility{top:max(12px,env(safe-area-inset-top));bottom:auto;left:auto;right:6vw}.train-interface .train-utility button{font-size:11px}.train-page .gallery-controls{padding-bottom:64px}.train-page:is([data-train-state=PORTFOLIO],[data-train-state=COMPLETE])>.voyage-header{align-items:flex-start;height:116px;padding-top:12px}.train-page:is([data-train-state=PORTFOLIO],[data-train-state=COMPLETE]) .voyage-header nav{justify-content:space-between;margin-right:0;position:absolute;top:64px;left:6vw;right:6vw}.train-page .gallery-sticky{padding-top:128px}.train-page[data-train-state=COMPLETE] .voyage-header nav{gap:10px}.train-page[data-train-state=COMPLETE] .voyage-header nav a{align-items:center;min-height:44px;display:inline-flex}.train-page .gallery-stage{height:55svh;min-height:300px}}@media (prefers-reduced-motion:reduce){.train-page .train-interface *{transition:none!important}.sound-bars i{animation:none!important}.train-page .gallery-sticky{height:auto}.train-page .selected-work{height:auto!important}.train-page .gallery-sticky.train-reveal{position:relative;transform:none!important}.train-page .gallery-track{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}.train-page .section-caption{letter-spacing:-.025em;color:#29231e;margin:0 0 32px;font:550 17px/1.3 Inter Variable,Arial,sans-serif}.train-page .voyage-about{grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:0 8vw;padding:105px 6vw 85px}.train-page .voyage-about>.section-caption{grid-column:1/-1;margin-bottom:42px}.train-page .about-portrait{max-width:280px}.train-page .about-portrait img{aspect-ratio:4/5;object-fit:cover;object-position:43% 24%;height:auto;display:block}.train-page .about-story{grid-column:auto;align-self:center;max-width:740px;padding-top:0}.train-page .about-story>p{color:#29231e;letter-spacing:-.025em;font-size:clamp(17px,1.65vw,24px);line-height:1.65}.train-page .about-story>p+p{color:#706355;letter-spacing:0;margin-top:22px;font-size:16px}.train-page .about-links{border-top:1px solid #c8bcaa;flex-wrap:wrap;align-items:center;gap:20px 40px;margin-top:30px;padding-top:20px;display:flex}.train-page .about-links .social-links{margin-top:0}.train-page .about-links .ink-link{font-size:12px}.train-page :is(.train-history,.train-passions){background:#f2ebdd;grid-column:auto;width:100%;margin:0;padding:0 6vw 75px}.train-page .voyage-experience details:last-child{border-bottom:1px solid #c8bcaa}.train-page .voyage-experience summary{letter-spacing:-.025em;padding:26px 0;font-size:18px;list-style:none}.train-page .voyage-experience summary::-webkit-details-marker{display:none}.train-page .voyage-experience summary small{letter-spacing:0;margin-top:8px;font-size:13px}.train-page .voyage-experience summary>span:last-child{letter-spacing:0;align-items:center;gap:32px;font-size:11px;display:flex}.train-page .voyage-experience summary b{margin:0;font-size:23px;transition:transform .25s;display:inline-block}.train-page .voyage-experience details[open] summary b{transform:rotate(45deg)}.train-page .voyage-experience details>p{max-width:78ch;padding:0 0 32px;font-size:15px}.train-page .passion-photo{margin:0 0 28px}.train-page .passion-photo :is(picture,img){width:100%;height:auto;display:block}.train-page .voyage-contact h2{letter-spacing:-.065em;color:#29231e;font:500 clamp(44px,6vw,82px)/1.05 Inter Variable,Arial,sans-serif}.train-page .voyage-contact{padding-top:75px;padding-bottom:90px}.train-page .contact-description{margin:28px 0 40px}@media (width<=800px){.carriage-navigation,.carriage-navigation>span{font-size:11px}.carriage-navigation>div{gap:22px}.train-interface .train-utility button{font-size:11px}.train-page .gallery-heading .small-label{max-width:280px;font-size:10px;line-height:1.6}.train-page .gallery-card-caption p{font-size:10px}.train-page .voyage-about{grid-template-columns:1fr;gap:0;padding:70px 7vw 60px}.train-page .voyage-about>.section-caption{margin-bottom:28px}.train-page .about-portrait{width:190px;margin-bottom:30px}.train-page .about-story>p{font-size:18px}.train-page .about-story>p+p{font-size:15px}.train-page .about-links{gap:14px 28px}.train-page :is(.train-history,.train-passions){padding:0 7vw 55px}.train-page .voyage-experience summary{align-items:flex-start;padding:22px 0;font-size:15px}.train-page .voyage-experience summary small{font-size:11px;line-height:1.5}.train-page .voyage-experience summary>span:last-child{flex-shrink:0;gap:14px;max-width:130px;font-size:9px;line-height:1.6}.train-page .voyage-experience details>p{font-size:14px}.train-page .voyage-contact{padding-bottom:100px}}@media (prefers-reduced-motion:reduce){.train-page .gallery-track{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (width<=360px){.train-page:is([data-train-state=PORTFOLIO],[data-train-state=COMPLETE]) .voyage-brand span{display:none}}html:has(.train-page){scroll-padding-top:0}.train-page section[id]{scroll-margin-top:74px}.train-page #arrival{scroll-margin-top:0}body.train-page .project-showcase [data-project-content=surf] .case-context h2{letter-spacing:-.055em;text-wrap:balance;margin-bottom:22px;font-family:Inter Variable,Arial,sans-serif;font-size:clamp(30px,3vw,42px);font-weight:560;line-height:1.12}body.train-page .project-showcase [data-project-content=surf] .case-context>p:not(.case-eyebrow){color:#52483e;line-height:1.7}@media (width<=900px){body.train-page .project-showcase [data-project-content=surf] .case-context h2{font-size:clamp(29px,5.2vw,38px)}}
