@font-face{font-family:Suisse Intl;src:url(/fonts/suisse-intl-light.ttf) format("truetype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Suisse Intl;src:url(/fonts/suisse-intl-regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Suisse Intl;src:url(/fonts/suisse-intl-bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{font-family:Suisse Intl,Arial,sans-serif;color:#f2f1ec;background:#0f0f0e;font-synthesis:none;text-rendering:optimizeLegibility;font-smooth:always;font-optical-sizing:auto;font-weight:400;--ink: #f2f1ec;--paper: #0f0f0e;--muted: #9a9a92;--accent: #c6f135;--line: rgba(242, 241, 236, .25);--footer-bg: #c6f135;--footer-ink: #0f0f0e;--footer-radius: clamp(24px, 3vw, 48px);--page-gutter: clamp(24px, 7.5vw, 144px)}html.theme-works{--ink: #1a1a18;--paper: #faf6ef;--muted: #6f6a60;--line: rgba(26, 26, 24, .18);color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit}.site-header{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:16px;margin:0 var(--page-gutter);padding:20px 0 16px;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:-.02em;line-height:1.5;text-transform:uppercase;view-transition-name:site-header}::view-transition-group(site-header){animation:none}::view-transition-old(root){animation:page-out .2s ease both}::view-transition-new(root){animation:page-in .42s cubic-bezier(.22,1,.36,1) both}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}}.site-nav{display:flex;align-items:center;gap:24px}.brand{font-weight:700;text-decoration:none;white-space:nowrap}.nav-link{text-decoration:none}.nav-link[data-label]{display:inline-grid}.nav-link[data-label]:before{height:0;content:attr(data-label);font-weight:700;overflow:hidden;visibility:hidden}.nav-link[aria-current=page]{font-weight:700}.nav-contact{justify-self:end}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.project img{transition:none}.works-nav,.works-nav a:after,.works-nav span,.carousel-dashes button,.carousel-dashes button:after{transition:none}}.project img{opacity:0;transition:opacity .5s ease}.project img.is-loaded{opacity:1}.project-index,.works-nav-current,.project-carousel-wrap{display:none}.works-nav{position:fixed;top:50%;right:clamp(4px,2vw,32px);z-index:5;display:flex;flex-direction:column;align-items:flex-end;color:var(--accent);transform:translateY(-50%);transition:color .24s ease}.works-nav a{position:relative;display:flex;align-items:center;justify-content:flex-end;width:clamp(18px,3vw,44px);height:26px;color:inherit;text-decoration:none}.works-nav a:after{width:clamp(8px,1.2vw,16px);height:2px;background:currentColor;content:"";opacity:.35;transition:width .24s ease,opacity .24s ease}.works-nav a:hover:after,.works-nav a:focus-visible:after{opacity:.7}.works-nav a[aria-current]:after{width:clamp(14px,2.4vw,34px);opacity:1}.works-nav span{position:absolute;right:calc(100% + 8px);padding:4px 8px;color:var(--accent);background:var(--paper);font-size:12px;letter-spacing:-.02em;opacity:0;pointer-events:none;text-transform:uppercase;transition:opacity .16s ease;white-space:nowrap}.works-nav a:hover span,.works-nav a:focus-visible span{opacity:1}.project{padding:0 var(--page-gutter) clamp(96px,10vw,160px);color:var(--ink);background:var(--project-bg)}.project-cusi{--ink: #1c1412;--paper: #faf6ef;--accent: #9b1220;--project-bg: #faf6ef}.project-cusi .project-heading h2{font-family:Georgia,Times New Roman,serif;font-weight:400}.project-gbcc{--ink: #2a1a6e;--paper: #ffffff;--accent: #5b3fd1;--accent-fill: linear-gradient(90deg, #2f63e0, #c8358f);--project-bg: linear-gradient(100deg, #dfe9ff, #efe3fb 50%, #fde2f0)}.project-gbcc .project-heading h2{color:transparent;background:var(--accent-fill);background-clip:text;-webkit-background-clip:text}.project-gbcc img{border-radius:20px}.project-siq{--ink: #131a2e;--paper: #ffffff;--accent: #2f5fe3;--project-bg: #e3e9f4}.project-siq img{border-radius:clamp(16px,2.6vw,36px);box-shadow:0 18px 44px #131a2e29}.project-radura{--ink: #111111;--paper: #fdfcfa;--accent: #111111;--project-bg: #e8e6e1}.project-radura .project-heading h2{font-weight:400;text-transform:uppercase}.project-radura .role-tags span{border:1px solid var(--ink);border-radius:0;color:var(--ink);background:transparent}.project+.project{padding-top:43px}.project-heading{position:relative;display:flex;align-items:flex-start;padding-top:55px}.project-heading h2{margin:0;color:var(--accent);font-family:Suisse Intl,sans-serif;font-size:clamp(60px,10vw,120px);font-weight:700;letter-spacing:normal;line-height:1}.project-year{position:absolute;top:35px;right:0;margin:0;color:var(--accent);font-size:27px;font-weight:700}.project-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:start;column-gap:10%;row-gap:0;margin-top:134px}.project-left-column{min-width:0}.project-layout-1 .project-left-column{width:100%}.project-info{display:flex;flex-direction:column;gap:36px}.project-info section h3,.project-info section p{margin:0;font-size:16px;line-height:1.27}.project-info section h3{margin-bottom:16px;font-weight:400}.project-info section p{font-weight:300}.project-left-gallery{margin-top:95px}.project-left-gallery img{display:block;width:100%;height:auto}.role-tags{display:flex;flex-wrap:wrap;gap:20px}.role-tags span{min-width:clamp(80px,6.65vw,100px);padding:5px 4px;border-radius:999px;color:var(--paper);background:var(--accent-fill, var(--accent));font-size:8px;font-weight:400;text-align:center;text-transform:uppercase}.project-links{display:flex;flex-wrap:wrap;gap:18px}.project-link{display:block;color:var(--accent);transition:transform .16s ease}.project-link svg{display:block;width:30px;height:30px}.project-link:hover{transform:translateY(-3px)}.project-gallery{display:flex;flex-direction:column;gap:97px;min-width:0}.project-gallery img{display:block;width:100%;height:auto}.project-full-gallery{display:flex;flex-direction:column;grid-column:1 / -1;gap:26px}.project-layout-1{margin-bottom:48px}.project-layout-1 .project-full-gallery{margin-top:134px}.project-layout-2 .project-full-gallery,.project-layout-3 .project-full-gallery{margin-top:26px}.project-full-gallery img{display:block;width:100%;height:auto}.site-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:clamp(140px,15vw,280px);padding:85px var(--page-gutter) 50px;color:var(--footer-ink);background:var(--footer-bg);border-radius:var(--footer-radius) var(--footer-radius) 0 0}.works-page+.site-footer{position:relative;margin-top:calc(-1 * var(--footer-radius))}.site-footer .eyebrow{margin:0 0 20px;font-size:13px;font-weight:600;letter-spacing:.12em}.site-footer h2{margin:0;font-family:Suisse Intl,sans-serif;font-size:clamp(40px,6vw,96px);letter-spacing:-.07em;line-height:1}.site-footer>a{display:flex;align-items:center;gap:12px;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:17px;text-decoration:none}.home-page{padding:0 var(--page-gutter)}.home-hero{position:relative;min-height:min(840px,calc(100vh - 58px));padding-top:clamp(100px,10vw,190px);overflow:hidden}.hero-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:40px;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.1em}.home-hero h1{position:relative;z-index:1;margin:0;color:var(--ink);font-family:Suisse Intl,sans-serif;font-size:clamp(76px,12.6vw,230px);font-weight:500;letter-spacing:-.05em;line-height:.95}.home-hero h1 span{color:var(--accent)}.hero-bottom{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-top:64px}.hero-bottom p{max-width:440px;margin:0;font-size:clamp(18px,1.5vw,25px);line-height:1.45}.intro-section,.capabilities-section,.stack-section{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.7fr);gap:clamp(44px,8vw,150px);padding:95px 0;border-top:1px solid rgba(242,241,236,.32)}.section-label{display:flex;align-items:flex-start;gap:20px;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.1em}.intro-copy h2,.stack-content h2{max-width:920px;margin:-12px 0 38px;font-family:Suisse Intl,sans-serif;font-size:clamp(38px,5vw,80px);font-weight:500;letter-spacing:-.065em;line-height:1.05}.intro-copy>p{max-width:650px;margin:0;font-size:clamp(18px,1.55vw,25px);line-height:1.55}.text-link{display:inline-flex;gap:16px;margin-top:36px;font-size:17px;text-decoration-thickness:1px;text-underline-offset:6px}.capability-list article{display:grid;grid-template-columns:58px 1fr 30px;align-items:start;gap:24px;padding:26px 0;border-top:1px solid rgba(242,241,236,.3)}.capability-list article:last-child{border-bottom:1px solid rgba(242,241,236,.3)}.capability-index{padding-top:10px;font-size:13px}.capability-list h3{margin:0 0 8px;font-family:Suisse Intl,sans-serif;font-size:clamp(28px,3vw,48px);font-weight:500;letter-spacing:-.05em}.capability-list p{max-width:520px;margin:0;font-size:17px;line-height:1.5}.capability-arrow{padding-top:6px;font-size:24px}.stack-content h2{max-width:650px;margin-bottom:34px}.stack-tags{display:flex;flex-wrap:wrap;gap:12px}.stack-tags span{padding:11px 18px;border:1px solid rgba(242,241,236,.35);border-radius:999px;font-size:16px}.learning-note{margin:28px 0 0;font-size:16px}@media(max-width:850px){:root{--page-gutter: 6vw}.home-hero{min-height:min(760px,calc(100vh - 58px))}.intro-section,.capabilities-section,.stack-section{grid-template-columns:1fr;gap:42px;padding:70px 0}}@media(max-width:560px){:root{--page-gutter: 22px}.site-header{column-gap:8px;font-size:12px}.site-nav{gap:12px}.site-footer{align-items:flex-start;flex-direction:column;margin-top:120px;padding-top:55px;padding-bottom:34px}.site-footer>a{font-size:14px}.home-hero{min-height:680px;padding-top:100px}.hero-meta{flex-direction:column;gap:9px;margin-bottom:36px;font-size:10px}.home-hero h1{font-size:clamp(44px,14.4vw,90px)}.hero-bottom{align-items:flex-start;flex-direction:column;gap:24px;margin-top:44px}.hero-bottom p{max-width:320px;font-size:17px}.intro-section,.capabilities-section,.stack-section{padding:58px 0}.intro-copy h2,.stack-content h2{font-size:39px}.intro-copy>p{font-size:17px}.capability-list article{grid-template-columns:32px 1fr 20px;gap:12px}.capability-list h3{font-size:30px}.capability-list p{font-size:15px}}@media(max-width:380px){.site-header{margin:0 16px;font-size:11px}.site-nav{gap:10px}}@media(min-width:851px){.project-layout-phones .project-full-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(12px,3vw,44px);margin-top:clamp(44px,6vw,90px)}}@media(max-width:850px){.project{padding-top:30px;padding-bottom:76px}.project+.project{padding-top:30px}.project-cusi{--title-size: min(23vw, 170px)}.project-gbcc{--title-size: min(28vw, 200px)}.project-radura{--title-size: min(20vw, 170px)}.project-siq{--title-size: min(46vw, 260px)}.project-heading{display:grid;grid-template-columns:1fr auto;align-items:baseline;padding-top:0}.project-index{display:block;margin:0;color:var(--accent);font-size:13px;letter-spacing:-.02em}.project-year{position:static;font-size:13px;font-weight:400;letter-spacing:-.02em}.project-heading h2{grid-column:1 / -1;margin-top:16px;font-size:var(--title-size);letter-spacing:-.04em;line-height:.94}.project-carousel-wrap{display:block;margin:24px calc(-1 * var(--page-gutter)) 0}.project-carousel{display:flex;gap:10px;padding:0 var(--page-gutter);overflow-x:auto;scroll-padding:0 var(--page-gutter);scroll-snap-type:x mandatory;scrollbar-width:none}.project-carousel::-webkit-scrollbar{display:none}.project-carousel img{flex:0 0 auto;width:min(82vw,520px);height:min(112vw,62vh);object-fit:cover;object-position:50% 0;scroll-snap-align:start}.project-radura .project-carousel img{object-position:25% 0}.project-radura .project-carousel img:first-child{object-position:38% 0}.project-gbcc .project-carousel img{height:calc(min(82vw,520px)*1.087);object-fit:contain;object-position:center}.project-gbcc .project-carousel img:last-child{background:linear-gradient(90deg,#4d7ded,#7774dd,#9b69c9,#bd5bb4,#e04ea1) top / 100% 50% no-repeat,linear-gradient(90deg,#577be9,#7e71d7,#a266c4,#c559b0,#e64a9d) bottom / 100% 50% no-repeat}.project-siq .project-carousel{margin-top:-18px;padding-top:18px;padding-bottom:38px}.project-siq .project-carousel img{box-shadow:0 10px 24px #131a2e24}.project-siq .project-carousel img:not(:first-child){width:auto}.carousel-dashes{display:flex;gap:6px;padding:0 var(--page-gutter)}.project-siq .carousel-dashes{margin-top:-26px}.carousel-dashes button{display:flex;align-items:center;width:22px;height:34px;padding:0;border:0;color:var(--accent);background:none;cursor:pointer;transition:width .24s ease}.carousel-dashes button:after{width:100%;height:2px;background:currentColor;content:"";opacity:.3;transition:opacity .24s ease}.carousel-dashes button[aria-current]{width:40px}.carousel-dashes button[aria-current]:after{opacity:1}.project-layout{display:block;margin-top:14px}.project-layout-1{margin-bottom:0}.project-left-gallery,.project-gallery,.project-full-gallery{display:none}.project-info{display:block}.project-info section{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:13px 0;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.project-info section:first-child{display:block;padding-top:0;padding-bottom:20px;border-top:0}.project-info section:first-child h3{display:none}.project-info section h3{margin:0;font-size:13px;letter-spacing:-.02em}.project-info section p{font-size:15px;font-weight:400;line-height:1.4}.project-info section:first-child p{font-size:17px;line-height:1.38}.role-tags{gap:6px}.role-tags span{min-width:0;padding:5px 10px;font-size:10px}.project-link svg{width:26px;height:26px}.works-nav{top:auto;right:auto;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;flex-direction:row;align-items:center;padding:2px 14px 2px 18px;border-radius:999px;background:var(--paper);box-shadow:0 10px 30px #0f0f0e2e;transform:translate(-50%);transition:color .24s ease,opacity .2s ease,visibility .2s ease}.works-nav.is-at-footer{visibility:hidden;opacity:0}.works-nav-current{display:block;margin:0 12px 0 0;font-size:12px;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}.works-nav a{justify-content:center;width:20px;height:36px}.works-nav a:after{width:12px}.works-nav a[aria-current]:after{width:18px}.works-nav span{display:none}}
