@import"https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400..600&family=Noto+Sans+Sinhala:wght@500&family=Noto+Sans+Tamil:wght@500&display=swap";.chat-launcher{position:fixed;right:24px;bottom:max(22px,env(safe-area-inset-bottom));z-index:60;display:grid;place-items:center;width:78px;height:78px;padding:0;border:0;border-radius:24px;background:transparent;animation:chat-launcher-enter .6s var(--ease-out) both}.chat-launcher>span{position:absolute;right:calc(100% + 8px);top:50%;display:flex;gap:12px;align-items:center;padding:13px 16px;border:1px solid #ffffff18;border-radius:12px;background:var(--ink);color:var(--paper);font-size:12px;white-space:nowrap;opacity:0;transform:translate(8px,-50%);pointer-events:none;transition:opacity .18s ease-out,transform .25s var(--ease-out)}.chat-launcher>.chat-avatar{width:78px;height:78px;filter:drop-shadow(0 5px 12px #0002)}.intro-page-pending .chat-launcher{animation-play-state:paused}.chat-launcher .chat-avatar .chat-avatar-body{animation:none;transform:none}.chat-launcher .chat-gaze{animation:chat-idle-glance 12s ease-in-out infinite}.chat-smile{opacity:0;transform:translateY(4px) scaleX(.6);transform-origin:0 30px;transition:transform .45s var(--ease-out),opacity .2s ease-out}.chat-launcher:focus-visible>span{opacity:1;transform:translateY(-50%)}.chat-launcher:focus-visible .chat-gaze{animation:none;transform:none}.chat-launcher:focus-visible .chat-eye-left{transform:translate(-26px,-12px) rotate(-3deg) scale(.65)}.chat-launcher:focus-visible .chat-eye-right{transform:translate(28px,-12px) rotate(3deg) scale(.65)}.chat-launcher:focus-visible .chat-smile{opacity:1;transform:none}.chat-avatar{width:62px;height:62px;flex-shrink:0;overflow:visible}.chat-avatar-body{transform-origin:0 80px;animation:chat-breathe 5s ease-in-out infinite}.chat-gaze{transition:transform .18s var(--ease-out)}.chat-eyes{transform-origin:12px -5px;animation:chat-blink 6s linear infinite}.chat-eye{transform-origin:0 0;transition:transform .55s var(--ease-out)}.chat-eye-left{transform:translate(-15.5px,-3px) rotate(-4deg) scale(.525,.733)}.chat-eye-right{transform:translate(37.5px,-7px) rotate(-3deg) scale(.525,.733);transition-duration:.6s}.mood-listening .chat-eye{transform:var(--typing-eye)}.mood-thinking .chat-eye-left{transform:translate(-22px,-8px) rotate(-5deg) scale(.6,.267)}.mood-thinking .chat-eye-right{transform:translate(32.5px,-14.5px) rotate(5deg) scale(.625,.417)}.chat-brows,.chat-mouth{opacity:0;transform:translateY(6px) scaleY(.35);transform-origin:0 0;transition:transform .55s var(--ease-out),opacity .25s ease}.chat-mouth{transform-origin:10px 33px}.mood-thinking .chat-brows,.mood-thinking .chat-mouth{opacity:1;transform:none}.mood-thinking .chat-expression{animation:chat-ponder 2.4s ease-in-out infinite}.mood-listening .chat-avatar-body{animation:none;transform:rotate(-3deg) scale(1.02)}.mood-thinking .chat-avatar-body{animation:chat-think 1.8s ease-in-out infinite}.mood-thinking .chat-gaze{transform:translate(3px,-3px)}.mood-happy .chat-avatar-body{animation:chat-greet .9s var(--ease-out) both}.mood-happy .chat-eye-left{transform:translate(-15.5px,-3px) rotate(-4deg) scale(.525,.45)}.mood-happy .chat-eye-right{transform:translate(37.5px,-7px) rotate(-3deg) scale(.525,.45)}.mood-error .chat-avatar-body{animation:none;transform:rotate(5deg)}.mood-error .chat-eye-left{transform:translate(-15.5px,-3px) rotate(-8deg) scale(.525,.58)}.mood-error .chat-eye-right{transform:translate(37.5px,-7px) rotate(8deg) scale(.525,.58)}.chat-avatar-body,.chat-eyes{transition:transform .35s var(--ease-out)}.portfolio-chat{position:fixed;inset:auto 24px max(22px,env(safe-area-inset-bottom)) auto;margin:0;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(670px,calc(100dvh - 44px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #0003;overflow:hidden}.portfolio-chat[open]{display:flex;flex-direction:column;animation:chat-panel-enter .3s var(--ease-out) both}.portfolio-chat::backdrop{background:#1a1b1838}.chat-heading{display:flex;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.chat-heading .chat-avatar{width:60px;height:60px}.chat-heading>div{flex:1}.chat-heading h2{font-size:24px;font-weight:550;letter-spacing:-.055em}.chat-heading h2>span{color:var(--blue)}.chat-heading p{font-size:11px;line-height:1.5;margin-top:4px;color:var(--muted)}.chat-icon{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:transparent}.chat-icon:disabled{opacity:.35;cursor:default}.chat-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 20px 12px;scrollbar-width:thin}.chat-message{max-width:94%;margin:0 0 20px;animation:chat-message-enter .22s var(--ease-out) both}.chat-speaker{display:block;font:9px var(--mono);letter-spacing:.08em;margin-bottom:8px;color:var(--muted)}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}.chat-message-user{margin-left:auto;padding:14px 16px;background:var(--ink);color:var(--paper);border-radius:16px 16px 3px}.chat-reply-revealing:after{content:"";display:inline-block;width:2px;height:1em;margin-left:4px;background:#557622;vertical-align:-.12em;animation:chat-caret .9s ease-in-out infinite alternate}.chat-reply-word{animation:chat-word-enter .18s ease-out both}@keyframes chat-word-enter{0%{opacity:0}to{opacity:1}}.chat-show-full{display:block;margin-top:8px;padding:6px 0;border:0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}@keyframes chat-caret{to{opacity:0}}.chat-resume-download{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:12px 16px;margin-top:14px;border-radius:10px;background:var(--acid);color:var(--ink);font-size:13px;font-weight:600}.chat-message-user .chat-speaker{color:#c3c6bc}.chat-prompts{padding:0 20px 16px;display:flex;flex-wrap:wrap;gap:8px}.chat-prompts button{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid #a2a997;border-radius:999px;min-height:40px;padding:8px 12px;font-size:11px;text-align:left}.chat-composer{display:flex;gap:8px;align-items:flex-end;margin:0 14px;padding:8px;border:1px solid #a2a997;border-radius:14px;background:#f4f5ef;flex-shrink:0}.chat-composer:focus-within{outline:2px solid var(--blue);outline-offset:2px}.chat-composer textarea{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);outline:none;padding:10px 6px;font:inherit;font-size:16px;line-height:1.4;resize:none;max-height:100px}.chat-send{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:10px;background:var(--acid);color:var(--ink);flex-shrink:0}.chat-send:disabled{opacity:.4;cursor:default}.chat-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:2px 16px 6px;flex-shrink:0}.chat-footer>span{font-size:10px;line-height:1.5;color:var(--muted)}.chat-thinking{display:flex;gap:5px;padding:10px 0 16px}.chat-thinking>span:not(.chat-sr-only){width:6px;height:6px;background:var(--blue);border-radius:50%;animation:chat-dot 1.2s ease-in-out infinite}.chat-thinking>span:nth-child(2){animation-delay:.15s}.chat-thinking>span:nth-child(3){animation-delay:.3s}.chat-error{padding:14px;border:1px solid #a2a997;border-radius:12px;margin-bottom:12px;font-size:12px;line-height:1.6}.chat-error button,.chat-error a{display:inline-block;margin:10px 12px 0 0;padding:6px 0;border:0;background:transparent;text-decoration:underline;font-size:12px}.chat-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes chat-launcher-enter{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@keyframes chat-idle-glance{0%,20%,44%,68%,to{transform:translate(0)}27%,36%{transform:translate(-6px,-2px)}51%,60%{transform:translate(5px,-3px)}}@keyframes chat-ponder{0%,to{transform:translate(0)}50%{transform:translate(3px,-3px)}}@keyframes chat-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes chat-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.08)}}@keyframes chat-think{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-4px)}}@keyframes chat-greet{0%{transform:rotate(0)}25%{transform:rotate(-9deg) translateY(-5px)}60%{transform:rotate(6deg)}to{transform:rotate(0)}}@keyframes chat-dot{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@keyframes chat-panel-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}@keyframes chat-message-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(hover:hover)and (pointer:fine){.chat-launcher:hover>span{opacity:1;transform:translateY(-50%)}.chat-launcher:hover .chat-gaze{animation:none;transform:none}.chat-launcher:hover .chat-eye-left{transform:translate(-26px,-12px) rotate(-3deg) scale(.65)}.chat-launcher:hover .chat-eye-right{transform:translate(28px,-12px) rotate(3deg) scale(.65)}.chat-launcher:hover .chat-smile{opacity:1;transform:none}.chat-icon:hover,.chat-prompts button:hover{background:#dedee5}}@media(max-width:600px){.chat-launcher{right:16px;width:62px;height:62px}.chat-launcher>.chat-avatar{width:62px;height:62px}.portfolio-chat{right:16px;bottom:max(16px,env(safe-area-inset-bottom));height:min(640px,calc(100dvh - 32px))}}@media(max-height:500px){.portfolio-chat{height:calc(100dvh - 24px);bottom:12px}.chat-heading{padding-block:6px}.chat-heading .chat-avatar{width:40px;height:40px}.chat-prompts{display:none}}@media(prefers-reduced-motion:reduce){.portfolio-chat[open],.chat-launcher,.portfolio-chat *,.chat-launcher *{animation:none!important;transition:none!important}.chat-avatar-body,.chat-eyes,.chat-gaze{transform:none!important}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}.contact-enquiry{position:relative}.form .enquiry-fields{margin:0;padding:0;border:0;min-width:0}.form-col{position:relative;display:block;width:100%;margin:0;padding:2.4em 0 2.4em 2.75em;border:0;border-bottom:1px solid var(--color-border-light);font-size:1.15em;min-width:0}.form-col:first-of-type{border-top:1px solid var(--color-border-light)}.form-col h5{position:absolute;left:0;top:3.6em;margin:0;opacity:.4;color:#fff}.form-col .label{display:block;float:none;padding:0;margin-bottom:.35em;font-size:1.15em;color:#fff}.form-col .label>span[aria-hidden]{color:var(--color-blue)}.enquiry-optional{opacity:.45;font-size:.75em}.form-col .field{display:block;width:100%;padding:.35em 0;border:0;border-radius:0;background:transparent;color:#fff;font-size:1.15em;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-col select.field{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat}.form-col select.field option{color:var(--color-dark)}.form-col textarea.field{resize:vertical;min-height:4.5em;line-height:1.5}.form-col .field::placeholder{color:#ffffff54}.form-col:focus-within{border-bottom-color:#fff9}.form-col:focus-within h5{opacity:1;color:var(--color-blue)}.field[aria-invalid=true]{color:#ff8a8a}.enquiry-error,.enquiry-hint{display:block;margin-top:.5em;font-size:.7em}.enquiry-error{color:#ff8a8a}.enquiry-hint{opacity:.45}.needs-list{display:flex;flex-wrap:wrap;gap:.5em;padding-top:.6em}.needs-list label{position:relative;cursor:pointer}.needs-list input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.needs-list span{display:inline-block;padding:.55em 1.2em;border-radius:2em;box-shadow:inset 0 0 0 1px var(--color-border-light);font-size:.75em;transition:background .3s,box-shadow .3s}.needs-list label:hover span{box-shadow:inset 0 0 0 1px #fff9}.needs-list input:checked+span{background:var(--color-blue);box-shadow:none}.needs-list input:focus-visible+span{outline:2px solid var(--color-blue);outline-offset:3px}.btn-contact-send{position:relative;height:0;z-index:3}.btn-contact-send .btn{position:absolute;right:0;transform:translate(-25%,-50%)}.btn-contact-send .btn-click{background:var(--color-blue)}.btn-contact-send .btn-fill{background:var(--color-blue-dark)}.enquiry-note{padding-top:calc(var(--section-padding) * .5 + 1em);font-size:.75em;opacity:.45;max-width:22em}.enquiry-failure{margin-top:1.5em;font-size:.9em}.enquiry-failure a{text-decoration:underline}.enquiry-fields:disabled{opacity:.7}.enquiry-success{padding:3em 0;border-top:1px solid var(--color-border-light);outline:none}.enquiry-success svg{color:var(--color-blue);margin-bottom:1em}.enquiry-success h2{margin-bottom:.4em}.enquiry-success p{max-width:26em;margin-bottom:2em;opacity:.7}@media(max-width:720px){.form-col{padding-left:1.75em;font-size:1em}.form-col h5{top:3.15em}.btn-contact-send .btn{transform:translate(-10%,-50%)}}.designed-preview{width:100%;height:100%;overflow:hidden}.fallback-preview{width:100%;height:100%;display:grid;place-content:center;justify-items:center;gap:18px;background:#d8d8d2;color:#4c4d52}.fallback-preview strong{font-size:30px;letter-spacing:-.05em}.fallback-preview span{font-size:11px}.research-preview,.solar-preview{width:100%;height:100%;position:relative;padding:35px 42px;overflow:hidden;background:#dce3ea;color:#26354a;text-align:left}.solar-preview{background:#efe5c9;color:#5f5131}.preview-caption,.preview-foot,.research-badge,.research-flow,.solar-flow{font:8px/1.5 var(--mono)}.research-badge{display:inline-flex;align-items:center;gap:10px;margin-top:25px;padding:9px 13px;border-radius:999px;background:var(--blue);color:#fff}.research-preview>strong,.solar-preview>strong{display:block;position:relative;margin-top:28px;font-size:clamp(30px,4vw,64px);font-weight:500;line-height:1.03;letter-spacing:-.065em}.research-preview em,.solar-preview em{font-family:Georgia,serif;font-weight:400}.research-symbol,.solar-symbol{position:absolute;top:70px;right:35px;opacity:.55}.research-flow,.solar-flow{display:flex;gap:20px;align-items:center;margin-top:30px}.research-flow span,.solar-flow span{padding-top:10px;border-top:1px solid currentColor}.preview-foot{position:absolute;bottom:20px;left:42px;opacity:.7}.project-dialog{width:min(920px,calc(100% - 32px));max-height:92dvh;padding:0;overflow:auto;border:0;border-radius:3px;background:var(--paper);color:var(--ink);box-shadow:0 30px 120px #0007;overscroll-behavior:contain}.project-dialog::backdrop{background:#101115d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-close{position:sticky;top:16px;z-index:5;width:46px;height:46px;display:grid;place-items:center;margin:16px 16px -62px auto;padding:0;border:0;border-radius:50%;background:var(--paper)}.dialog-art{height:470px;padding:45px 55px 0;overflow:hidden;background:#d6d6d0}.dialog-art.blue{background:#bfcddb}.dialog-art.orange{background:#d5bdaa}.dialog-art.green{background:#bdcab5}.dialog-art.solar{background:#d9cba4}.dialog-art:is(.research,.timy,.sand,.slate,.purple){height:auto;aspect-ratio:16 / 10;padding:0}.dialog-art>img,.dialog-art>.designed-preview{width:100%;height:100%;object-fit:contain;object-position:top}.dialog-copy{padding:50px 55px 58px}.dialog-copy .eyebrow{display:block;margin-bottom:18px;color:var(--muted)}.dialog-copy h2{font-size:clamp(48px,7vw,78px);font-weight:500;line-height:1;letter-spacing:-.07em}.dialog-copy h3{margin:22px 0;font-size:21px;font-weight:500;letter-spacing:-.04em}.dialog-copy>p{max-width:710px;color:var(--muted);font-size:14px;line-height:1.8}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.tags span{padding:9px 12px;border:1px solid var(--line);border-radius:999px;font:8px var(--mono)}.dialog-links{display:flex;align-items:center;gap:25px;margin-top:30px}.dialog-links a{min-height:46px;display:inline-flex;align-items:center;gap:12px;font:9px var(--mono)}.dialog-links .primary{padding:0 20px;border-radius:999px;background:var(--blue);color:#fff}.project-screenshots{margin-top:36px}.project-screenshots h3{margin-bottom:20px}.project-screenshots figure{margin:0 0 25px}.project-screenshots a{display:block;overflow:hidden;border:1px solid var(--line)}.project-screenshots img{width:100%}.project-screenshots figcaption{margin-top:9px;color:var(--muted);font:9px/1.6 var(--mono)}@keyframes dialog-enter{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}.project-dialog[open]{animation:dialog-enter .45s var(--ease-out)}@media(max-width:700px){.dialog-art{height:250px;padding:28px 20px 0}.dialog-copy{padding:32px 24px 38px}.dialog-copy h2{font-size:44px}.dialog-copy h3{font-size:18px}.dialog-copy>p{font-size:12px}.research-preview,.solar-preview{padding:22px 18px}.research-preview>strong,.solar-preview>strong{font-size:29px}.research-symbol,.solar-symbol{width:35px;right:15px}.preview-foot{display:none}}@media(prefers-reduced-motion:reduce){.project-dialog[open]{animation:none}}@media(prefers-reduced-transparency:reduce){.project-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}:root{--color-dark: #1c1d20;--color-dark-dark: #141517;--color-blue: #455ce9;--color-blue-dark: #334bd3;--color-gray: #999d9e;--color-lightgray: #e9eaeb;--color-white: #fff;--color-border: rgba(28, 29, 32, .175);--color-border-light: rgba(255, 255, 255, .2);--ease: cubic-bezier(.7, 0, .3, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--section-padding: clamp(5em, 21vh, 12em);--container-padding: clamp(2.5em, 8vw, 8em);--gap-padding: clamp(1.5em, 4vw, 2.5em);--font: "Inter Tight", "Noto Sans Sinhala", "Noto Sans Tamil", "Helvetica Neue", Arial, sans-serif;--paper: #fff;--ink: var(--color-dark);--muted: #5f6166;--line: #d2d2d2;--line-dark: #3d3e43;--acid: var(--color-blue);--blue: var(--color-blue);--mono: ui-monospace, "SFMono-Regular", Menlo, monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.76, 0, .24, 1)}@media(max-width:1200px){:root{--container-padding: 6vw}}@media(max-width:720px){:root{--section-padding: 12vh}}@media(max-width:540px){:root{--color-border: rgba(28, 29, 32, .225);--color-border-light: rgba(255, 255, 255, .225);--container-padding: clamp(1.25em, 4vw, 2.5em);--section-padding: max(2.5em, 12vh)}}*,*:before,*:after{box-sizing:border-box}html{background:var(--color-white);-webkit-text-size-adjust:100%}html[data-route=contact]{background:var(--color-dark)}html.scroll-locked,html.scroll-locked body{overflow:hidden}body{margin:0;min-width:320px;overflow-x:clip;font-family:var(--font);font-size:clamp(16px,1.2vw,19px);font-weight:450;line-height:1.6;color:var(--color-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,p,ul{margin:0;padding:0;font-weight:450}ul{list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0;text-align:inherit}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--color-blue);outline-offset:4px}::selection{background:var(--color-blue);color:#fff}h1{font-size:calc(clamp(3.25em,7vw,8em)*.875);line-height:1.065;letter-spacing:-.02em}h2{font-size:calc(clamp(3.25em,5vw,4.5em)*.75);line-height:1.065;letter-spacing:-.015em}h4{font-size:clamp(1.55em,2.3vw,2.5em);line-height:1.45;letter-spacing:-.01em}h5{font-size:.6em;line-height:1.065;text-transform:uppercase;letter-spacing:.05em;opacity:.5;margin-bottom:1em}p{line-height:1.66}.theme-dark,.theme-light{color:var(--color-white)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;left:1em;top:-4em;z-index:300;padding:.7em 1.2em;border-radius:2em;background:var(--color-blue);color:#fff}.skip-link:focus{top:1em}main:focus{outline:none}.container{width:100%;max-width:100em;margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.container.medium{padding-left:calc(var(--container-padding) * 2);padding-right:calc(var(--container-padding) * 2)}.section{position:relative;padding-top:var(--section-padding);padding-bottom:var(--section-padding)}.row{display:flex;flex-wrap:wrap;position:relative}.stripe{display:block;width:100%;height:1px;background:var(--color-border)}.theme-dark .stripe{background:var(--color-border-light)}[data-once]{transition:transform 1.5s var(--ease-out-expo);transition-delay:calc(var(--once, 0) * 70ms + 80ms)}.is-pending [data-once]{transform:translate3d(0,50vh,0);transition:none}@media(max-width:540px){.is-pending [data-once]{transform:translate3d(0,10vh,0)}}.btn{position:relative;display:inline-flex;color:inherit}.btn-click{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:999px;transition:transform .9s cubic-bezier(.34,1.56,.64,1);will-change:transform}.btn-click.is-magnetized{transition:transform .35s cubic-bezier(.16,1,.3,1)}.btn-text{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.4em;transition:transform .9s cubic-bezier(.34,1.56,.64,1)}.is-magnetized .btn-text{transition:transform .35s cubic-bezier(.16,1,.3,1)}.btn-text-inner{position:relative;transition:color .4s var(--ease);white-space:nowrap}.btn-fill{position:absolute;width:150%;height:200%;top:-50%;left:-25%;border-radius:50%;background:var(--color-blue);transform:translate3d(0,76%,0);transition:transform .55s var(--ease),background-color .25s;will-change:transform}.btn:hover .btn-fill,.btn:focus-visible .btn-fill{transform:translateZ(0)}.btn-normal .btn-click{height:clamp(3.25em,4.5vw,4em);padding:0 clamp(1.6em,2.5vw,2.4em);box-shadow:inset 0 0 0 1px var(--color-border)}.theme-dark .btn-normal .btn-click{box-shadow:inset 0 0 0 1px var(--color-border-light)}.btn-normal:hover .btn-text-inner,.btn-normal:focus-visible .btn-text-inner,.btn-normal:hover .count-nr{color:#fff}.btn-normal:hover .btn-text{color:#fff}.btn-normal.active .btn-fill{background:var(--color-dark);transform:translateZ(0)}.btn-normal.active .btn-text{color:#fff}.theme-dark .btn-normal.active .btn-fill{background:var(--color-blue)}.btn-round .btn-click{width:clamp(9em,12vw,11em);height:clamp(9em,12vw,11em);background:var(--color-dark);color:#fff}.btn-round .btn-text{padding:0 1em;text-align:center}.theme-dark .btn-round .btn-click{background:var(--color-blue)}.theme-dark .btn-round .btn-fill{background:var(--color-blue-dark)}.count-nr{position:absolute;left:100%;top:-.35em;margin-left:.2em;font-size:.62em;opacity:.6;transition:color .4s}.btn-icon .btn-click{width:clamp(3.25em,4.5vw,4em);padding:0}.btn-link>a,.btn-link>button,a.btn-link{display:inline-flex}.btn-link .btn-click{height:2.75em;overflow:visible;border-radius:0}.btn-link .btn-text{padding:0 calc(var(--gap-padding) / 2)}.btn-link .btn-click:after{content:"";position:absolute;left:50%;bottom:-.5em;width:calc(clamp(16px,1.2vw,19px) / 2.75);height:calc(clamp(16px,1.2vw,19px) / 2.75);border-radius:50%;background:currentColor;transform:translate(-50%,-50%) scale(0);transition:transform .4s var(--ease)}.btn-link.active .btn-click:after,.btn-link:hover .btn-click:after,.btn-link a:focus-visible .btn-click:after{transform:translate(-50%,-50%) scale(1)}.links-wrap:hover .btn-link.active:not(:hover) .btn-click:after{transform:translate(-50%,-50%) scale(0)}.nav-bar{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--gap-padding) / 1.25) calc(var(--gap-padding) * .5) calc(var(--gap-padding) / 1.25) calc(var(--gap-padding) * .33);color:var(--color-dark)}.nav-bar.on-light{color:#fff}.links-wrap{display:flex}.btn-menu{display:none}.brand .btn-click:after{display:none}.brand .btn-text{gap:0;white-space:nowrap}.credit{display:inline-block;width:1.5em;height:1.5em;object-fit:contain;margin-right:.25em;transition:transform .6s var(--ease)}.nav-bar.on-light .credit{filter:invert(1)}.brand:hover .credit{transform:rotate(360deg)}.cbd{display:inline-flex;overflow:hidden}.cbd .code-by,.cbd .last{display:inline-flex;overflow:hidden;transition:max-width .6s var(--ease)}.cbd .code-by{max-width:4.3em}.cbd .last{max-width:0}.cbd .code-by>span,.cbd .last>span{display:inline-block;padding-right:.25em;transition:transform .6s var(--ease),opacity .6s var(--ease)}.cbd .last>span{padding:0 0 0 .25em;transform:translate(100%)}.brand:hover .cbd .code-by,.brand:focus-visible .cbd .code-by{max-width:0}.brand:hover .cbd .code-by>span,.brand:focus-visible .cbd .code-by>span{transform:translate(-100%);opacity:0}.brand:hover .cbd .last,.brand:focus-visible .cbd .last{max-width:6em}.brand:hover .cbd .last>span,.brand:focus-visible .cbd .last>span{transform:none}.btn-hamburger{position:fixed;top:calc(var(--gap-padding) / 1.5);right:calc(var(--gap-padding) / 1.5);z-index:105;transform:scale(0);transition:transform .4s cubic-bezier(.36,0,.66,0)}.btn-hamburger.is-visible{transform:scale(1);transition:transform .4s cubic-bezier(.34,1.5,.64,1)}.btn-hamburger .btn-click{width:clamp(4em,5.5vw,5em);height:clamp(4em,5.5vw,5em);border-radius:50%;background:var(--color-dark);box-shadow:inset 0 0 0 1px var(--color-border-light);transition:background-color .25s,transform .9s cubic-bezier(.34,1.56,.64,1)}.btn-hamburger:hover .btn-fill{transform:translateZ(0)}.btn-hamburger.active .btn-click{background:var(--color-blue);box-shadow:none}.btn-bars{position:relative;z-index:2;width:28%;height:8%;transition:transform .9s cubic-bezier(.34,1.56,.64,1)}.btn-bars:before,.btn-bars:after{content:"";position:absolute;left:0;width:100%;height:1px;background:#fff;transition:transform .3s var(--ease),top .3s var(--ease)}.btn-bars:before{top:0}.btn-bars:after{top:100%}.btn-hamburger.active .btn-bars:before{top:50%;transform:rotate(-45deg)}.btn-hamburger.active .btn-bars:after{top:50%;transform:rotate(45deg)}.fixed-nav-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:linear-gradient(to right,#0000004d 40%,#000 80%);opacity:0;pointer-events:none;transition:opacity .8s cubic-bezier(.7,0,.2,1)}.fixed-nav-back.is-open{opacity:.35;pointer-events:auto}.fixed-nav{position:fixed;top:0;right:0;z-index:101;height:100vh;height:100dvh;background:var(--color-dark);color:#fff;transform:translate3d(calc(100% + 6vw),0,0);transition:transform .8s cubic-bezier(.7,0,.2,1)}.fixed-nav.is-open{transform:none}.fixed-nav-rounded{position:absolute;top:0;left:1px;height:100%;transform:translate(-100%)}.fixed-nav-rounded .rounded-wrap{position:relative;width:6vw;height:100%;overflow:hidden;transition:width .85s cubic-bezier(.7,0,.2,1)}.fixed-nav.is-open .rounded-wrap{width:0}.fixed-nav-rounded span{position:absolute;top:50%;left:0;width:775%;height:150%;border-radius:50%;background:var(--color-dark);transform:translate(-6.5%,-50%)}.fixed-nav-inner{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:15vh 7.5vw 10vh;overflow-y:auto}.fixed-nav h5{color:#fff}.fixed-nav .nav-row h5{margin-bottom:3em}.fixed-nav .nav-row ul{display:flex;flex-direction:column;align-items:flex-start;padding-top:5vh;margin-left:calc(var(--gap-padding) / -2)}.fixed-nav .nav-row li{transform:translate3d(15vw,0,0);transition:transform .8s cubic-bezier(.7,0,.2,1)}.fixed-nav.is-open .nav-row li{transform:none}.fixed-nav.is-open .nav-row li:nth-child(2){transition-delay:.03s}.fixed-nav.is-open .nav-row li:nth-child(3){transition-delay:.06s}.fixed-nav.is-open .nav-row li:nth-child(4){transition-delay:.09s}.fixed-nav .nav-row a{display:inline-flex}.fixed-nav .nav-row .btn-click{border-radius:0;overflow:visible}.fixed-nav .nav-row .btn-text{padding:0 calc(var(--gap-padding) / 2);font-size:calc(clamp(3.25em,5vw,4em)*.875);line-height:1.4}.fixed-nav .nav-row .btn-click:before{content:"";position:absolute;top:50%;left:calc(var(--gap-padding) / -4);width:calc(clamp(16px,1.2vw,19px) / 1.65);height:calc(clamp(16px,1.2vw,19px) / 1.65);border-radius:50%;background:#fff;transform:translate(-50%,-50%) scale(0);transition:transform .4s var(--ease)}.fixed-nav .nav-row li.active .btn-click:before,.fixed-nav .nav-row a:hover .btn-click:before,.fixed-nav .nav-row a:focus-visible .btn-click:before{transform:translate(-50%,-50%) scale(1)}.fixed-nav .nav-row ul:hover li.active a:not(:hover) .btn-click:before{transform:translate(-50%,-50%) scale(0)}.social-row{padding-top:4em}.social-row ul{display:flex;flex-wrap:wrap;gap:.5em 1.75em}.social-row a,.bottom-footer a,.contact-details a{position:relative;display:inline-block;line-height:2.25}.social-row a:after,.bottom-footer a:after,.contact-details a:after{content:"";position:absolute;left:0;bottom:.35em;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.social-row a:hover:after,.bottom-footer a:hover:after,.contact-details a:hover:after,.social-row a:focus-visible:after{transform:scaleX(1);transform-origin:left}.curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--color-dark-dark);color:#fff;pointer-events:none;transform:translate3d(0,100%,0);visibility:hidden}.curtain.is-loading,.curtain.is-cover,.curtain.is-reveal{visibility:visible}.curtain.is-loading{transform:none;pointer-events:auto;cursor:wait}.curtain.is-cover{transform:none;pointer-events:auto;transition:transform .55s cubic-bezier(.76,0,.84,0)}.curtain.is-reveal{transform:translate3d(0,-100%,0);transition:transform .85s cubic-bezier(.76,0,.24,1)}.curtain-curve{position:absolute;left:0;width:100%;height:0;overflow:hidden}.curtain-curve span{position:absolute;left:50%;width:150%;height:745%;border-radius:50%;background:var(--color-dark-dark);transform:translate(-50%,-86.666%)}.curtain-curve.top{bottom:100%;transform:translateY(1px) scaleY(-1)}.curtain-curve.bottom{top:100%;margin-top:-1px}.curtain.is-cover .curtain-curve.top{height:10vh;transition:height .45s cubic-bezier(.76,0,.84,0)}.curtain.is-loading .curtain-curve.bottom,.curtain.is-cover .curtain-curve.bottom{height:10vh}.curtain.is-reveal .curtain-curve.bottom{height:0;transition:height .95s cubic-bezier(.76,0,.24,1)}.curtain-words{position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% - 50px));opacity:0;white-space:nowrap}.curtain.is-loading .curtain-words{animation:words-in .8s cubic-bezier(.16,1,.3,1) .45s both}.curtain.is-cover .curtain-words{opacity:1;transform:translate(-50%,-50%);transition:opacity .8s cubic-bezier(.16,1,.3,1) .3s,transform .8s cubic-bezier(.16,1,.3,1) .3s}.curtain.is-reveal .curtain-words{opacity:0;transform:translate(-50%,-50%);transition:opacity .4s linear}@keyframes words-in{0%{opacity:0;transform:translate(-50%,-50%)}to{opacity:1;transform:translate(-50%,calc(-50% - 50px))}}.curtain-words h2{display:flex;align-items:center;gap:.45em;color:#fff;font-size:calc(clamp(3.25em,5vw,4.5em)*.75)}.curtain-words .dot{width:calc(clamp(16px,1.2vw,19px) / 1.65);height:calc(clamp(16px,1.2vw,19px) / 1.65);border-radius:50%;background:#fff}.home-header{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(12em,1fr) auto;gap:2em 0;padding:8em 0 clamp(2em,7svh,5em);min-height:100vh;min-height:max(100svh,34em);overflow:hidden;background:var(--color-gray)}.personal-image-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.personal-image{position:absolute;left:50%;bottom:0;height:min(88%,62vw + 8em);aspect-ratio:458 / 545;margin-left:calc(min(88vh,62vw + 8em)*-.42);will-change:transform}.personal-image img{width:100%;height:100%;object-fit:contain;object-position:bottom center;pointer-events:none;-webkit-user-select:none;user-select:none}.big-name{position:relative;grid-column:1 / -1;grid-row:2;min-width:0;width:100%;overflow:hidden;pointer-events:none}.big-name h1{margin:0;color:#fff;font-size:clamp(4em,15vw,16em);line-height:1.2;letter-spacing:-.03em;white-space:nowrap}.name-track{display:inline-flex;width:max-content;will-change:transform}.name-wrap{display:inline-flex;flex-shrink:0;min-width:100vw;align-items:center}.name-wrap .spacer{padding:0 3vw}.hanger{position:relative;grid-column:1;grid-row:1;align-self:center;justify-self:start;display:flex;align-items:center;height:6em;padding:0 .9em 0 var(--gap-padding);gap:2.4em;border-radius:0 3em 3em 0;background:var(--color-dark);color:#fff}.hanger p{line-height:1.2}.hanger p span{display:block}.hanger .digital-ball{position:relative;width:4.2em;height:4.2em;border-radius:50%;background:var(--color-gray)}.globe-spin{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.digital-ball{display:grid;place-items:center}.hero-role{position:relative;grid-column:2;grid-row:1;align-self:center;justify-self:end;margin-right:calc(var(--container-padding) * 1.1);padding-top:3.6em;color:#fff}.hero-arrow{position:absolute;top:0;left:0;display:block;width:clamp(1.1em,1.3vw,1.25em)}.hero-arrow svg{width:1.8em;height:1.8em;margin-left:-.3em}.hero-role-text{font-size:clamp(1.55em,2.3vw,2.5em);line-height:1.4}.hero-role-text span{display:block}.globe{position:relative;display:block;width:2em;height:2em;border-radius:50%;box-shadow:inset 0 0 0 .1em #fff;animation:globe-tilt 6s ease-in-out infinite}.globe i{position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%);animation:meridian 2.7s linear infinite}.globe i:nth-child(2){animation-delay:-.9s}.globe i:nth-child(3){animation-delay:-1.8s}.globe b,.globe em{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.globe b{width:100%;height:46%;border-radius:50%;box-shadow:inset 0 0 0 .09em #fff}.globe em{width:100%;height:.1em;background:#fff}@keyframes meridian{0%{width:100%;box-shadow:inset .1em 0 0 .04em #fff}49%{box-shadow:inset .1em 0 0 .04em #fff}50%{width:.12em;border-radius:0;background:#fff;box-shadow:none}51%{box-shadow:inset -.1em 0 0 .04em #fff;background:transparent}to{width:100%;box-shadow:inset -.1em 0 0 .04em #fff}}@keyframes globe-tilt{0%,to{transform:rotate(15deg)}50%{transform:rotate(-15deg)}}.home-intro{padding-bottom:calc(var(--section-padding) * .66)}.home-intro .flex-col:first-child{width:70%;padding-right:var(--gap-padding)}.home-intro .flex-col:last-child{position:relative;width:30%;padding-left:var(--gap-padding)}.intro-statement{font-size:clamp(1.55em,2.3vw,2.5em);line-height:1.45;letter-spacing:-.01em}.home-intro .fade-in{max-width:14em;padding-top:.5em;margin-bottom:6em}.home-intro .intro-btn{position:absolute;top:80%}.span-line{position:relative;display:inline-flex;overflow:hidden;vertical-align:top}.span-line-inner{display:block}.grid-sub-title{display:flex;padding-bottom:var(--gap-padding)}.grid-sub-title h5{margin:0}.large-work-grid .grid-sub-title h5:first-child{flex:1;padding-left:var(--container-padding)}.large-work-grid .grid-sub-title h5:last-child,.large-work-grid .work-col:last-child{width:30%;padding-right:var(--container-padding)}.work-items,.work-items li{position:relative}.work-row{display:flex;align-items:center;width:100%;padding:calc(var(--section-padding) / 3) 0;transition:opacity .3s var(--ease)}.work-row:hover,.work-row:focus-visible{opacity:.33}.work-row:focus-visible{outline-offset:-2px}.work-col{padding-top:.25em;transition:transform .3s var(--ease)}.work-name{flex:1;padding-top:0;padding-left:var(--container-padding)}.work-title{display:block;padding:.1em 0;line-height:1;font-size:calc(clamp(3.25em,7vw,8em)*.75);letter-spacing:-.025em;white-space:nowrap}.work-row:hover .work-name{transform:translate(calc(var(--container-padding) * -.1))}.work-row:hover .work-col:not(.work-name){transform:translate(calc(var(--container-padding) * .1))}.small-work-grid{padding-top:0;padding-bottom:0}.small-work-grid .work-items{padding-bottom:calc(var(--section-padding) * .5)}.small-work-grid .work-row{padding:2em 0}.small-work-grid .work-title{font-size:clamp(1.55em,2.3vw,2.5em);white-space:normal;padding-right:1em}.small-work-grid .grid-sub-title h5,.small-work-grid .work-col{width:20%}.small-work-grid .grid-sub-title h5:nth-child(1),.small-work-grid .work-name{width:40%;flex:none;padding-left:var(--container-padding)}.small-work-grid .grid-sub-title h5:nth-child(4),.small-work-grid .work-year{text-align:right;padding-right:var(--container-padding)}.work-items .stripe.last{position:absolute;bottom:0}.large-work-grid .work-items .stripe.last{position:static}.hover-preview,.view-cursor{position:fixed;top:0;left:0;z-index:25;pointer-events:none}.hover-preview-box{position:absolute;width:min(clamp(10em,27.5vw,25em),calc(100vw - 32px),calc(100svh - 32px));aspect-ratio:1;overflow:hidden;transform:translate(-50%,-52%) scale(0);transition:transform .4s cubic-bezier(.36,0,.66,0)}.hover-preview-box.is-active{transform:translate(-50%,-52%) scale(1);transition:transform .4s cubic-bezier(.34,1,.64,1)}.hover-preview-track{height:100%;transition:transform .6s cubic-bezier(.65,0,.35,1)}.hover-preview-track .project-art{height:100%}.view-cursor{z-index:26}.view-cursor span{position:absolute;display:grid;place-items:center;width:clamp(3.75em,5.5vw,5em);height:clamp(3.75em,5.5vw,5em);border-radius:50%;background:var(--color-blue);color:#fff;font-size:.95em;transform:translate(-50%,-50%) scale(0);transition:transform .4s cubic-bezier(.36,0,.66,0)}.view-cursor span.is-active{transform:translate(-50%,-50%) scale(1);transition:transform .4s cubic-bezier(.34,1,.64,1)}.project-art{position:relative;display:grid;place-items:center;width:100%;height:100%;overflow:hidden;background:#d7d9db}.project-art-frame{position:relative;display:block;width:78%;aspect-ratio:16 / 10;overflow:hidden;box-shadow:0 1.5em 3em -1.5em #00000059}.project-art-frame>img,.project-art-frame>.designed-preview{width:100%;height:100%;object-fit:cover}.art-blue{background:#c9d4e0}.art-orange{background:#e3cdb9}.art-green{background:#cfd9c6}.art-solar{background:#e4d8b4}.art-research{background:#cfd3e4}.art-timy{background:#3b3b3b}.art-sand{background:#e7dfd1}.art-slate{background:#2f3438}.art-purple{background:#241f33}.work-tiles{padding-top:0}.work-tiles-list{display:flex;flex-wrap:wrap;margin:0 calc(var(--container-padding) * -.25);padding-top:var(--gap-padding)}.work-tiles-list li{width:50%;padding:0 calc(var(--container-padding) * .25) var(--section-padding)}.tile{display:block;width:100%}.tile-image{display:block;aspect-ratio:1;overflow:hidden;background:var(--color-lightgray);margin-bottom:var(--gap-padding)}.tile-image .project-art{transition:transform .5s var(--ease)}.tile:hover .tile-image .project-art{transform:scale(1.025)}.tile-title{display:block;font-size:calc(clamp(1.75em,2.3vw,2.5em)*1.125);line-height:1;padding-bottom:calc(var(--gap-padding) / 2)}.tile .stripe{margin:calc(var(--gap-padding) / 2) 0}.tile-meta{display:flex;justify-content:space-between}.work-tiles-home,.section-wrap-work.view-list .work-tiles,.section-wrap-work.view-grid .small-work-grid{display:none}.section-wrap-work .work-grid,.section-wrap-work .work-tiles{animation:grid-fade .7s var(--ease-out) both}@keyframes grid-fade{0%{opacity:0;transform:translateY(2.5em)}}.center-grid-btn{padding-top:0;padding-bottom:0}.center-grid-btn .container{display:flex;justify-content:center}.section-wrap-work .center-grid-btn{padding-bottom:calc(var(--section-padding) * .66)}.horizontal-items{overflow:hidden;padding-top:calc(var(--section-padding) * .75);padding-bottom:calc(var(--section-padding) - 2.5vw)}.horizontal-items .row{flex-wrap:nowrap;width:120vw;left:-10vw;will-change:transform}.horizontal-items .flex-col{width:25%;padding:1.25vw}.horizontal-single-item{position:relative;display:block;width:100%;aspect-ratio:4 / 3;overflow:hidden}.horizontal-single-item .project-art{position:absolute;top:0;right:0;bottom:0;left:0}.default-header{padding-top:calc(var(--section-padding) * 1.33);padding-bottom:calc(var(--section-padding) * .66)}.default-header h1{margin:0}.default-header h1>span{display:block}.work-filters{padding-top:0;padding-bottom:calc(var(--section-padding) / 2)}.filter-row{display:flex;justify-content:space-between;gap:1em;padding:0 calc(var(--container-padding) * .96)}.toggle-row,.grid-row{display:flex;flex-wrap:wrap;gap:.5em}.toggle-row .btn{margin-right:.6em}.line-globe{position:relative;z-index:5}.line-globe .container{position:relative}.line-globe .digital-ball{position:absolute;top:0;right:calc(var(--container-padding) * 2);width:clamp(9em,12vw,11em);height:clamp(9em,12vw,11em);border-radius:50%;background:var(--color-blue);transform:translate(-50%,-50%);font-size:1.15em}.line-globe .globe{width:2.8em;height:2.8em}.about-image{padding-top:calc(var(--section-padding) * .75)}.about-image .flex-col:first-child{position:relative;width:45%;padding-left:var(--container-padding);padding-right:var(--container-padding)}.about-image .flex-col:last-child{width:55%}.about-copy p{margin-bottom:1.5em}.about-copy p:first-of-type{margin-top:-.33em}.about-arrow{position:absolute;left:0;top:0;display:block;width:1.5em}.about-arrow svg{width:1.6em;height:1.6em}.exploring{opacity:.6}.single-about-image{aspect-ratio:4 / 4.6;overflow:hidden;background:var(--color-gray)}.single-about-image img{width:100%;height:100%;object-fit:contain;object-position:bottom center}.animate-dots span{animation:dot-blink 2s infinite}.animate-dots span:nth-child(2){animation-delay:.2s}.animate-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-blink{0%,20%{opacity:0}30%,90%{opacity:1}to{opacity:0}}.about-services{margin-top:calc(var(--section-padding) * -.5);padding-top:calc(var(--section-padding) * 1.25);background:var(--color-lightgray)}.about-services h2{padding-bottom:calc(var(--section-padding) / 2);margin:0}.services-row{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--container-padding) / 2)}.services-row h5{padding-bottom:2em;margin:0;font-size:.8em}.services-row .stripe{margin-bottom:2em}.services-row h4{margin-bottom:.75em;font-size:clamp(1.35em,1.9vw,2.1em);line-height:1.2}.services-row p{margin-bottom:1.5em}.services-row .tools{font-size:.8em;opacity:.55}.about-experience .grid-sub-title h5:first-child{padding-left:var(--container-padding)}.timeline{position:relative}.timeline-row{display:grid;grid-template-columns:.55fr 1fr 1.2fr;gap:var(--gap-padding);padding:2.25em var(--container-padding)}.timeline-date{font-size:.85em;opacity:.55;padding-top:.6em}.timeline-company h4{margin:0;font-size:clamp(1.35em,1.9vw,2.1em);line-height:1.2}.timeline-company span{display:block;margin-top:.4em;opacity:.6}.timeline-row p{padding-top:.35em}.storefront-links{display:flex;flex-wrap:wrap;gap:.5em;margin-top:.8em}.storefront-links a{display:inline-flex;align-items:center;gap:.25em;padding:.3em .9em;border-radius:2em;box-shadow:inset 0 0 0 1px var(--color-border);font-size:.85em;transition:background .3s,color .3s}.storefront-links a:hover{background:var(--color-dark);color:#fff}.timeline .stripe.last{position:static}.about-skills{padding-top:calc(var(--section-padding) * .5)}.skills-head{display:flex;align-items:center;justify-content:space-between;gap:2em;padding-bottom:calc(var(--section-padding) / 2)}.skills-head h2{margin:0}.skill-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:3em var(--container-padding)}.skill-groups h5{font-size:.8em}.skill-groups p{font-size:1.2em;line-height:1.5}.footer-rounded{position:relative;z-index:2;height:0}.footer-rounded .rounded-wrap{position:relative;height:var(--curve, 10vh);overflow:hidden;transform:translateY(-1px)}.footer-rounded span{position:absolute;left:50%;width:150%;height:750%;border-radius:50%;background:var(--color-white);transform:translate(-50%,-86.666%);box-shadow:0 60px 50px #0000001f}.footer-rounded.curve-lightgray span{background:var(--color-lightgray)}.footer-wrap{position:relative;overflow:hidden;background:var(--color-dark)}.site-footer{padding-top:calc(var(--section-padding) * 1.1);transform:translate3d(0,var(--footer-shift, 0),0);will-change:transform}.footer-row{position:relative}.footer-title{padding-bottom:calc(var(--section-padding) / 2)}.footer-title h2{margin:0;font-size:calc(clamp(3.25em,7vw,8em)*.875)}.footer-title h2>span{display:block}.profile-picture{position:relative;display:inline-flex;overflow:hidden;border-radius:50%;background:var(--color-gray);width:clamp(4.5em,6.5vw,8em);height:clamp(4.5em,6.5vw,8em);vertical-align:top}.profile-picture img{width:100%;height:100%;object-fit:cover;object-position:50% 10%;transform:scale(1.25) translateY(9%)}.footer-title .profile-picture{width:.85em;height:.85em;margin-right:.125em;transform:translateY(.09em)}.footer-arrow{position:absolute;right:0;bottom:calc(var(--gap-padding) * 1.5);transform:rotate(var(--arrow-turn, 0deg))}.footer-arrow svg{width:1.4em;height:1.4em}.footer-stripe{padding-bottom:calc(var(--section-padding) * .475)}.btn-fixed{position:absolute;right:0;top:0;z-index:20;transform:translate(-50%,-50%)}.footer-pills{display:flex;flex-wrap:wrap;gap:.75em}.bottom-footer{display:flex;justify-content:space-between;gap:2em;padding:calc(var(--section-padding) / 1.3) calc(var(--gap-padding) / 1.33) calc(var(--gap-padding) / 1.75) var(--gap-padding);color:#fff}.bottom-col{display:flex;gap:var(--gap-padding)}.bottom-col h5{margin-bottom:1em}.bottom-col p{font-size:.85em;text-transform:uppercase;line-height:2.25}.bottom-col.socials{flex-direction:column;gap:0}.bottom-col.socials ul{display:flex;gap:1.5em}.bottom-col.socials a{font-size:.85em}.contact-page{min-height:100vh;background:var(--color-dark)}.contact-header{padding-top:calc(var(--section-padding) * 1.33)}.contact-title{align-items:flex-end;justify-content:space-between;padding-bottom:calc(var(--section-padding) * .66)}.contact-title h1{margin:0}.contact-title h1>span{display:block}.profile-picture.inline{display:none}.contact-portrait{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:calc(var(--section-padding) / 2);padding-bottom:.5em}.profile-picture.large{width:clamp(5em,9vw,9em);height:clamp(5em,9vw,9em)}.contact-arrow svg{width:1.6em;height:1.6em}.contact-body{flex-wrap:nowrap;gap:calc(var(--container-padding) * .8);padding-bottom:var(--section-padding)}.contact-body>.flex-col:first-child{flex:1;min-width:0}.contact-details{width:30%;min-width:14em;padding-top:2.5em}.contact-details h5{margin-bottom:1.2em;color:#fff}.contact-details ul{margin-bottom:3em}.contact-details li{line-height:2}.contact-details li:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:.5em}.copy-button{display:grid;place-items:center;width:2em;height:2em;border-radius:50%;box-shadow:inset 0 0 0 1px var(--color-border-light);transition:background .3s}.copy-button:hover{background:var(--color-blue)}.copy-status{font-size:.75em;opacity:.6}.footer-contact .bottom-footer{padding-top:0}@media(hover:none),(pointer:coarse){.work-row:hover{opacity:1}.work-row:hover .work-col{transform:none}}@media(max-width:1024px){.services-row{grid-template-columns:repeat(2,1fr);row-gap:3em}.timeline-row{grid-template-columns:1fr 1.4fr}.timeline-row p{grid-column:2}}@media(max-width:720px){.nav-bar .links-wrap li:not(.btn-menu){display:none}.btn-menu{display:block}.container.medium{padding-left:var(--container-padding);padding-right:var(--container-padding)}.home-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(12em,1fr) auto;min-height:max(100svh,36em)}.personal-image{height:min(78%,120vw);margin-left:calc(min(78svh,120vw)*-.42)}.big-name{grid-row:1;align-self:end}.big-name h1{font-size:clamp(3.5em,18vw,8em)}.hanger{grid-column:2;grid-row:2;align-self:end;margin-right:var(--container-padding);height:auto;padding:0;background:none}.hanger p{display:none}.hanger .digital-ball{width:4.5em;height:4.5em;background:var(--color-dark)}.hanger .globe{width:2.4em;height:2.4em}.hero-role{grid-column:1;grid-row:2;align-self:end;justify-self:start;margin:0;margin-left:var(--container-padding);padding-top:2.6em}.hero-role-text{font-size:clamp(1.1em,4.5vw,1.55em)}.home-intro .row{flex-direction:column}.home-intro .flex-col:first-child,.home-intro .flex-col:last-child{width:100%;padding:0}.home-intro .flex-col:last-child{padding-top:calc(var(--section-padding) / 2);display:flex;flex-direction:column;align-items:flex-end}.home-intro .fade-in{max-width:none;width:100%;margin-bottom:calc(var(--section-padding) * .66)}.home-intro .intro-btn{position:relative;top:0}.large-work-grid,.small-work-grid{display:none}.work-tiles-home,.section-wrap-work.view-list .work-tiles{display:block}.work-tiles-list li{width:100%;padding-bottom:calc(var(--section-padding) * .75)}.center-grid-btn{padding-bottom:var(--section-padding)}.grid-row{display:none}.filter-row{padding:0}.toggle-row .btn{margin-right:0;font-size:.85em}.horizontal-items{display:none}.line-globe .digital-ball{right:0;transform:translate(-20%,-50%)}.about-image .row{flex-direction:column}.about-image .flex-col:first-child,.about-image .flex-col:last-child{width:100%;padding:0}.about-image .flex-col:first-child{padding-top:calc(var(--section-padding) / 2)}.about-image .flex-col:last-child{padding-top:calc(var(--section-padding) * .5)}.about-arrow{position:relative;margin-bottom:1.5em}.services-row{grid-template-columns:1fr}.services-row h5{display:none}.about-experience .grid-sub-title h5:first-child{padding-left:0}.timeline-row{grid-template-columns:1fr;gap:.6em;padding:1.75em 0}.timeline-row p{grid-column:auto}.skills-head{flex-direction:column;align-items:flex-start}.skill-groups{grid-template-columns:1fr;gap:2em}.footer-rounded .rounded-wrap{height:calc(var(--curve, 10vh) * .75)}.footer-title .profile-picture{width:.95em;height:.95em;transform:translateY(.1em)}.footer-arrow{bottom:1em}.footer-title{padding-bottom:calc(var(--section-padding) * .75)}.footer-stripe{padding-bottom:calc(var(--section-padding) * 1.25)}.btn-fixed{transform:translate(-20%,-50%)}.footer-pills{flex-direction:column}.footer-pills .btn,.footer-pills .btn-click{width:100%}.bottom-footer{flex-direction:column-reverse;padding:5vh var(--container-padding) calc(var(--gap-padding) * .75)}.bottom-col p{font-size:.8em}.contact-title .contact-portrait{display:none}.profile-picture.inline{display:inline-flex;width:.95em;height:.95em;margin-right:.125em;transform:translateY(.1em)}.contact-body{flex-direction:column}.contact-details{width:100%;order:-1;padding-top:0}.fixed-nav{width:100%;transform:translate3d(calc(100% + 20vw),0,0)}.fixed-nav-rounded .rounded-wrap{width:20vw}.fixed-nav-inner{padding:15svh var(--container-padding) calc(var(--gap-padding) * 1.25)}.fixed-nav .nav-row ul{margin-left:0;padding-top:3svh}.fixed-nav .nav-row li,.fixed-nav .nav-row a,.fixed-nav .nav-row .btn-click{width:100%;justify-content:flex-start}.fixed-nav .nav-row .btn-text{padding:0;font-size:3em;line-height:1.25}.fixed-nav .nav-row .btn-click:before{left:auto;right:.4em}}@media(max-width:540px){.work-header h1,.about-header h1,.contact-title h1{font-size:calc(clamp(3.25em,7vw,8em)*.8)}}@media(prefers-reduced-motion:reduce){.big-name h1{font-size:clamp(1.5rem,7vw,7rem);text-align:center}.name-wrap{justify-content:center}.name-wrap+.name-wrap,.name-wrap .spacer{display:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}.is-pending [data-once]{transform:none}}@media(prefers-contrast:more){:root{--color-border: rgba(28, 29, 32, .5);--color-border-light: rgba(255, 255, 255, .5)}h5{opacity:.8}}@media(prefers-reduced-motion:no-preference){.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,2em,0);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1)}.motion-ready [data-reveal][data-visible],.motion-ready [data-reveal]:focus-within{opacity:1;transform:none}.motion-ready .intro-statement[data-reveal]{opacity:1;transform:none}.motion-ready .intro-statement .span-line-inner{transform:translate3d(0,100%,0);transition:transform 1s cubic-bezier(.215,.61,.355,1)}.motion-ready .intro-statement[data-visible] .span-line-inner,.motion-ready .work-items li[data-reveal]{transform:none}}
