*{box-sizing:border-box;margin:0;padding:0}:root{background:#f4f1eb;color-scheme:light}html,body{height:100%;overflow:hidden;background:#f4f1eb}body{background:#f4f1eb;color:#6b4a35;cursor:grab;font-family:Outfit,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;touch-action:none;-webkit-font-smoothing:antialiased;min-height:100svh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}body:before{content:"";position:fixed;inset:calc(-1*env(safe-area-inset-top)) 0 calc(-1*env(safe-area-inset-bottom));z-index:0;background:#f4f1eb;pointer-events:none}body:active{cursor:grabbing}body.detail-open,body.me-mode,body.resume-mode{cursor:default}#c{position:fixed;inset:calc(-1*env(safe-area-inset-top)) 0 calc(-1*env(safe-area-inset-bottom));z-index:1;transition:opacity .35s ease}body.me-mode #c,body.resume-mode #c{opacity:0;pointer-events:none}.site-header{position:fixed;top:8px;left:28px;right:28px;z-index:50;color:#6b4a35;pointer-events:none;transition:color .25s ease}body.detail-open .site-header{color:#fff}.site-header h1{font-size:clamp(18px,2vw,28px);font-weight:420;letter-spacing:0;line-height:1;text-align:center;text-transform:lowercase}.view-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:8px;pointer-events:auto}.view-nav .view-button:first-child{justify-self:start}.view-nav .view-button:nth-child(2){justify-self:center}.view-nav .view-button:last-child{justify-self:end}.view-button{border:0;background:transparent;color:#6b4a35;cursor:pointer;font:inherit;font-size:clamp(18px,1.55vw,23px);font-weight:420;letter-spacing:0;line-height:1;opacity:.5;padding:0;text-transform:lowercase;transition:opacity .2s ease}.view-button.active{opacity:1}.view-button:focus{outline:0}.view-button:focus-visible{text-decoration:underline;text-underline-offset:3px}body.detail-open .view-button,body.detail-open .view-button.active{opacity:0;pointer-events:none}.site-footer{position:fixed;right:28px;bottom:8px;left:28px;z-index:45;display:grid;place-items:center;pointer-events:none;transition:opacity .2s ease}body.detail-open .site-footer{opacity:0}.ct-logo-stack{position:relative;width:clamp(28px,3.6vw,44px);aspect-ratio:220 / 262}.ct-logo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.ct-logo-100{z-index:1}.ct-logo-50{z-index:2}.ct-logo-80{z-index:3;transform:translate(3px,3px)}.resume-view{position:fixed;inset:92px 28px 28px;z-index:2;overflow:auto;opacity:0;pointer-events:none;scrollbar-width:thin;transform:translate(44px);transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}.me-view{position:fixed;inset:92px 28px 74px;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(24px,5vw,76px);align-items:center;opacity:0;pointer-events:none;transform:translate(44px);transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}.me-view.active{opacity:1;pointer-events:auto;transform:translate(0)}.me-photos{display:grid;grid-template-columns:1fr .82fr;gap:12px;align-items:end}.me-photos img{display:block;opacity:1;filter:none;width:100%;height:min(68vh,720px);object-fit:cover}.me-photos img:nth-child(2),.me-photos img:nth-child(3){height:min(32vh,340px)}.me-copy{max-width:520px;color:#6b4a35;font-size:clamp(15px,1.22vw,22px);font-weight:380;line-height:1.28}.me-copy p+p{margin-top:16px;opacity:1}.resume-view.active{opacity:1;pointer-events:auto;transform:translate(0)}.resume-pages{display:grid;justify-items:center;width:min(900px,100%);margin:0 auto;gap:0;padding-bottom:0;background:#fff}.resume-pages img{display:block;opacity:1;filter:none;width:100%;height:auto;margin:0}.resume-pages .resume-language-slice{margin-top:18px}.loader{position:fixed;inset:calc(-1*env(safe-area-inset-top)) 0 calc(-1*env(safe-area-inset-bottom));z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#f4f1eb;transition:opacity .45s ease}.loader.hidden{opacity:0;pointer-events:none}.loader-bar-track{width:200px;height:2px;overflow:hidden;border-radius:1px;background:#2a2a281f}.loader-bar-fill{width:0%;height:100%;background:#2a2a28;transition:width .2s ease}.loader-percent{color:#2a2a2859;font-size:12px;font-weight:400;letter-spacing:2px}.detail-overlay{position:fixed;inset:0;z-index:100;pointer-events:none;visibility:hidden}.detail-overlay.active{pointer-events:auto;visibility:visible}.detail-click-layer{position:absolute;inset:0;z-index:3}.detail-content{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:flex-end;padding:60px;color:#fff;background:transparent;opacity:0;pointer-events:none;transition:opacity .35s ease .3s}.detail-overlay.active .detail-content{opacity:1;pointer-events:auto}.detail-title{font-size:48px;font-weight:760;letter-spacing:0;line-height:1.1}.detail-tag{margin-top:12px;color:#ffffff8c;font-size:13px;font-weight:450;letter-spacing:2px;text-transform:uppercase}.detail-desc{max-width:480px;margin-top:24px;color:#ffffffbd;font-size:16px;font-weight:320;line-height:1.6}.detail-close{position:absolute;top:32px;right:36px;z-index:20;display:grid;width:48px;height:48px;place-items:center;border:0;border-radius:50%;background:#000;color:#fff;cursor:pointer;font-size:28px;font-weight:300;line-height:1;opacity:0;transform:scale(.92);transition:opacity .25s ease .3s,transform .25s ease .3s}.detail-overlay.active .detail-close{opacity:1;transform:scale(1)}@media(max-width:768px){body{min-height:100dvh}.detail-content{padding:28px}.detail-title{font-size:28px}.detail-tag{margin-top:8px;font-size:11px}.detail-desc{margin-top:16px;font-size:14px}.detail-close{top:20px;right:20px;width:40px;height:40px;font-size:23px}.site-header{top:max(8px,env(safe-area-inset-top));left:18px;right:18px}.view-nav{margin-top:8px}.view-button{font-size:18px}.me-view{inset:84px 18px 62px;grid-template-columns:1fr;gap:22px;align-content:center;overflow:auto}.me-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.me-photos img,.me-photos img:nth-child(2),.me-photos img:nth-child(3){height:34vh}.me-copy{font-size:16px;line-height:1.28}.resume-view{inset:84px 18px 18px}}
