*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--bg:#f4f1ea;--ink:#141414;--muted:#8a8780;--rule:#14141417;--rule-solid:#e0ddd6;--g1:#1ebda5;--g2:#d96e07;--g3:#fedb44;--serif:"Fraunces", Georgia, serif;--sans:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", "SF Mono", monospace;--ease:cubic-bezier(.25, .1, .25, 1);--container:1320px;--gutter:80px}body{font-family:var(--sans);color:var(--ink);background:var(--bg);cursor:none;background-image:radial-gradient(#14141403 1px,#0000 1px);background-size:3px 3px;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--g2);color:var(--bg)}.page-loader{z-index:99999;background:var(--ink);transition:opacity .6s var(--ease), visibility .6s;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.page-loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-content{flex-direction:column;align-items:center;gap:20px;display:flex}.loader-logo{object-fit:cover;opacity:0;width:64px;height:64px;animation:logoEntry .6s var(--ease) .2s forwards, logoPulse 2s ease-in-out .8s infinite;border-radius:50%}.loader-wordmark{font-family:var(--serif);letter-spacing:-.02em;color:var(--bg);opacity:0;animation:loaderFade .5s var(--ease) .6s forwards;font-size:clamp(20px,4vw,32px);font-weight:300}.loader-wordmark em{font-style:italic}@keyframes logoEntry{0%{opacity:0;transform:scale(.5)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes logoPulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.2);transform:scale(1.08)}}@keyframes loaderFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cursor{border:1.5px solid var(--ink);pointer-events:none;z-index:9998;width:20px;height:20px;transition:width .35s var(--ease), height .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease), opacity .2s;mix-blend-mode:exclusion;background:0 0;border-radius:50%;position:fixed;transform:translate(-50%,-50%)}.cursor.active{background:linear-gradient(135deg, var(--g1), var(--g2) 55%, var(--g3));mix-blend-mode:normal;opacity:.85;border-color:#0000;width:56px;height:56px}.cursor-label{pointer-events:none;z-index:9999;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:0;font-size:8px;transition:opacity .25s;position:fixed;transform:translate(-50%,-50%)}.cursor-label.visible{opacity:1}.container{max-width:var(--container);padding:0 var(--gutter);margin:0 auto;position:relative}.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:400}.muted{color:var(--muted)}.gradient-text{background:linear-gradient(135deg, var(--g1), var(--g2) 55%, var(--g3));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(18px)}.reveal.visible{opacity:1;transform:translateY(0)}.top-bar-wrap{z-index:100;padding-top:24px;position:relative}.top-bar{justify-content:space-between;align-items:center;display:flex}.status-dot{background:var(--g1);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:3s ease-in-out infinite statusPulse;display:inline-block}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.4}}.nav{border-bottom:1px solid var(--rule);z-index:100;justify-content:space-between;align-items:center;margin-top:20px;padding:20px 0 32px;display:flex;position:relative}.wordmark{font-family:var(--serif);letter-spacing:-.02em;align-items:center;gap:8px;font-size:22px;font-weight:400;display:flex}.wordmark .logo-icon{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.wordmark em{font-style:italic;font-weight:300}.nav-links{gap:28px;display:flex}.nav-links a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;padding-bottom:2px;font-size:11px;position:relative}.nav-links a:after{content:"";background:var(--ink);width:0;height:1px;transition:width .3s var(--ease);position:absolute;bottom:0;left:0}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-cta{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);transition:background .3s var(--ease), color .3s var(--ease), transform .2s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:11px;display:inline-flex}.nav-cta:hover{background:var(--ink);color:var(--bg)}.nav-cta:hover .cta-arrow{background:var(--bg);color:var(--ink)}.nav-cta:active{transform:scale(.97)}.cta-arrow{background:var(--ink);width:16px;height:16px;color:var(--bg);transition:background .3s var(--ease), color .3s var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.menu-toggle{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;width:32px;height:32px;transition:border-color .3s;display:none;position:relative}.menu-toggle:hover{border-color:var(--ink)}.menu-toggle span{background:var(--ink);width:16px;height:1.5px;transition:all .3s var(--ease);position:absolute;left:8px}.menu-toggle span:first-child{top:11px}.menu-toggle span:nth-child(2){top:16px}.menu-toggle span:nth-child(3){top:21px}.menu-toggle.open span:first-child{top:16px;transform:rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){top:16px;transform:rotate(-45deg)}.mobile-menu{z-index:99;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .4s var(--ease), visibility .4s;flex-direction:column;justify-content:center;align-items:center;gap:32px;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu a{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(28px,8vw,48px);font-weight:300;transition:opacity .3s}.mobile-menu a em{font-style:italic}.mobile-menu a:hover{opacity:.5}.mobile-menu .mobile-cta{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);border-radius:999px;margin-top:20px;padding:12px 20px;font-size:12px}.section-head{grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:60px;display:grid}.section-head h2{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(34px,5vw,60px);font-weight:300;line-height:1}.section-head h2 em{font-style:italic;font-weight:300}.section-head .aside{color:var(--muted);justify-self:end;max-width:380px;font-size:14px;line-height:1.55}.footer{border-top:1px solid var(--rule);padding:80px 0 40px}.footer-top{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:80px;display:grid}.footer h4{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 20px;font-size:10px;font-weight:400}.big-email{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(24px,4vw,52px);font-weight:300;line-height:.95;transition:opacity .3s}.big-email:hover{opacity:.7}.footer ul{list-style:none}.footer li{font-size:13px;line-height:2}.footer li a{transition:opacity .3s}.footer li a:hover{opacity:.5}.footer .studio-address{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.6}.footer-bottom{border-top:1px solid var(--rule);justify-content:space-between;padding-top:24px;display:flex}.back-to-top{z-index:90;border:1px solid var(--rule);background:var(--bg);width:44px;height:44px;font-family:var(--mono);color:var(--ink);cursor:pointer;opacity:0;visibility:hidden;transition:all .4s var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 2px 20px #1414140f}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:translateY(-2px)}.grad-base{position:relative;overflow:hidden}.orb{z-index:1;pointer-events:none;will-change:transform, opacity;border-radius:50%;position:absolute}@keyframes pA{0%{opacity:.2;transform:scale(1)translate(0)}50%{opacity:1;transform:scale(1.3)translate(6%,10%)}to{opacity:.2;transform:scale(1)translate(0)}}@keyframes pB{0%{opacity:.15;transform:scale(1)translate(0)}50%{opacity:.9;transform:scale(1.25)translate(-8%,-6%)}to{opacity:.15;transform:scale(1)translate(0)}}@keyframes pC{0%{opacity:.2;transform:scale(1)translate(0)rotate(0)}50%{opacity:.85;transform:scale(1.2)translate(5%,-8%)rotate(10deg)}to{opacity:.2;transform:scale(1)translate(0)rotate(0)}}.grad-1{background:linear-gradient(135deg,#1ebda5 0%,#d96e07 55%,#fedb44 100%)}.grad-1 .orb-a{background:radial-gradient(#1ebda5b3 0%,#0000 65%);width:75%;height:85%;animation:7s ease-in-out infinite pA;top:-25%;left:-15%}.grad-1 .orb-b{background:radial-gradient(#fedb4499 0%,#0000 60%);width:60%;height:70%;animation:7s ease-in-out 3.5s infinite pB;bottom:-20%;right:-10%}.grad-1 .orb-c{background:radial-gradient(#d96e0766 0%,#0000 55%);width:45%;height:50%;animation:9s ease-in-out 1.5s infinite pA;top:25%;left:35%}.grad-2{background:linear-gradient(150deg,#0a1628 0%,#0e3b5c 50%,#1a6b7a 100%)}.grad-2 .orb-a{background:radial-gradient(#1a6b7ab3 0%,#0000 65%);width:70%;height:80%;animation:8s ease-in-out .5s infinite pA;top:-20%;right:-10%}.grad-2 .orb-b{background:radial-gradient(#1ebda566 0%,#0000 60%);width:55%;height:65%;animation:9s ease-in-out 2s infinite pB;bottom:-15%;left:-10%}.grad-2 .orb-c{background:radial-gradient(#50b4c859 0%,#0000 55%);width:40%;height:45%;animation:11s ease-in-out 4s infinite pC;top:30%;left:25%}.grad-3{background:linear-gradient(135deg,#f2e6d0 0%,#e8c9a8 45%,#c49470 100%)}.grad-3 .orb-a{background:radial-gradient(#c4947080 0%,#0000 65%);width:65%;height:75%;animation:9s ease-in-out 1s infinite pA;top:-15%;left:-10%}.grad-3 .orb-b{background:radial-gradient(#f2e6d0b3 0%,#0000 55%);width:55%;height:60%;animation:7.5s ease-in-out 3s infinite pB;bottom:-20%;right:-15%}.grad-3 .orb-c{background:radial-gradient(#c8a07859 0%,#0000 55%);width:40%;height:40%;animation:10s ease-in-out 2s infinite pC;top:35%;left:40%}.grad-4{background:linear-gradient(140deg,#d4908a 0%,#8a3d5c 50%,#2a1b2e 100%)}.grad-4 .orb-a{background:radial-gradient(#d4908a99 0%,#0000 65%);width:70%;height:80%;animation:8.5s ease-in-out .8s infinite pB;top:-20%;left:-10%}.grad-4 .orb-b{background:radial-gradient(#8a3d5c80 0%,#0000 55%);width:50%;height:60%;animation:10s ease-in-out 4s infinite pA;bottom:-15%;right:-5%}.grad-4 .orb-c{background:radial-gradient(#b4788c59 0%,#0000 50%);width:45%;height:50%;animation:7s ease-in-out 2.5s infinite pC;top:20%;right:15%}.grad-5{background:linear-gradient(130deg,#1a2f1f 0%,#3d5c3a 45%,#8b9e6b 100%)}.grad-5 .orb-a{background:radial-gradient(#8b9e6b99 0%,#0000 65%);width:65%;height:75%;animation:9.5s ease-in-out 1.2s infinite pA;top:-20%;right:-10%}.grad-5 .orb-b{background:radial-gradient(#3d5c3a80 0%,#0000 55%);width:55%;height:65%;animation:8s ease-in-out 3.5s infinite pB;bottom:-20%;left:-10%}.grad-5 .orb-c{background:radial-gradient(#6482504d 0%,#0000 55%);width:40%;height:40%;animation:11s ease-in-out 5s infinite pC;top:40%;left:30%}.grad-6{background:linear-gradient(135deg,#f5c97a 0%,#c47a30 50%,#7a3e12 100%)}.grad-6 .orb-a{background:radial-gradient(#f5c97a99 0%,#0000 65%);width:70%;height:80%;animation:8s ease-in-out .3s infinite pA;top:-20%;left:-10%}.grad-6 .orb-b{background:radial-gradient(#7a3e1280 0%,#0000 60%);width:55%;height:65%;animation:9.5s ease-in-out 2.5s infinite pB;bottom:-15%;right:-10%}.grad-6 .orb-c{background:radial-gradient(#c47a3066 0%,#0000 55%);width:40%;height:45%;animation:10s ease-in-out 4.5s infinite pC;top:30%;left:30%}.case-tile{cursor:pointer;flex-direction:column;gap:0;display:flex}.case-top-meta{color:var(--muted);justify-content:space-between;margin-bottom:8px;display:flex}.case-image{transition:transform .6s var(--ease);border-radius:3px;position:relative;overflow:hidden}.case-tile:hover .case-image{transform:scale(1.015)}.case-tile .case-image{aspect-ratio:4/3}.case-tile.wide .case-image{aspect-ratio:16/9}.case-tile.tall .case-image{aspect-ratio:3/4}.case-name{font-family:var(--serif);letter-spacing:-.02em;z-index:5;transition:transform .4s var(--ease);font-size:30px;font-weight:300;line-height:.95;position:absolute;bottom:28px;left:28px}.case-name em{font-style:italic}.case-tile:hover .case-name{transform:translateY(-4px)}.case-name.light{color:var(--bg)}.case-name.dark{color:var(--ink)}.case-caption{padding-top:16px}.case-caption p{margin:0 0 12px;font-size:14px;line-height:1.5}.case-caption-footer{justify-content:space-between;align-items:baseline;display:flex}.case-tags{color:var(--muted);gap:4px;font-size:13px;display:flex}.case-metric{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:baseline;gap:6px;font-size:10px;display:flex}.case-metric strong{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);text-transform:none;font-size:16px;font-style:italic;font-weight:400}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}@media (width<=1100px){:root{--gutter:48px}}@media (width<=900px){:root{--gutter:32px}.cursor,.cursor-label{display:none}body{cursor:auto}.top-bar{flex-direction:row}.nav-links,.nav-cta{display:none}.menu-toggle{display:flex}.wordmark{font-size:19px}.section-head{grid-template-columns:1fr;gap:20px}.section-head h2{font-size:clamp(28px,7vw,44px)}.section-head .aside{justify-self:start;max-width:100%}.span-4,.span-5,.span-6,.span-7{grid-column:span 6}.footer-top{grid-template-columns:1fr 1fr;gap:32px}.big-email{font-size:clamp(20px,5vw,36px)}.footer-bottom{flex-direction:column;gap:8px}.back-to-top{width:40px;height:40px;bottom:20px;right:20px}}@media (width<=640px){:root{--gutter:20px}.top-bar .mono{font-size:9px}.section-head h2{font-size:clamp(26px,8vw,36px)}.span-4,.span-5,.span-6,.span-7{grid-column:span 12}.case-name{font-size:24px;bottom:20px;left:20px}.footer-top{grid-template-columns:1fr;gap:28px}.mobile-menu a{font-size:clamp(28px,9vw,44px)}}@media (width<=380px){:root{--gutter:16px}.wordmark{font-size:17px}.wordmark .logo-icon{width:22px;height:22px}.case-name{font-size:20px;bottom:16px;left:16px}.big-email{font-size:clamp(18px,6vw,28px)}.footer h4{font-size:9px}.footer li{font-size:12px}.footer-bottom .mono{font-size:8px}.back-to-top{width:36px;height:36px;bottom:16px;right:16px}}
