:root{--bg:#f6f1e8;--paper:#fffdf8;--paper-2:#f8f2e7;--ink:#11100d;--muted:#68635a;--line:#11100d24;--line-strong:#11100d6b;--orange:#ff6b35;--blue:#9ecdf4;--yellow:#f6d676;--green:#bddfc9;--shadow:0 24px 60px #322b231c;--radius:26px;--ease:cubic-bezier(.22, 1, .36, 1);--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{min-height:100vh;color:var(--ink);font-family:var(--sans);background:linear-gradient(#11100d0a 1px, transparent 1px), linear-gradient(90deg, #11100d0a 1px, transparent 1px), radial-gradient(circle at 82% 12%, #9ecdf442, transparent 26rem), radial-gradient(circle at 8% 28%, #ff6b3521, transparent 22rem), var(--bg);background-size:48px 48px,48px 48px,auto,auto,auto;margin:0;overflow-x:clip}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 50% 18%,#ffffff6b,#0000 30rem);position:fixed;inset:0}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.skip-link{z-index:200;background:var(--ink);color:var(--bg);border-radius:999px;padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.page-progress{width:calc(var(--scroll,0) * 100%);background:var(--ink);z-index:150;transform-origin:0;height:3px;position:fixed;inset:0 auto auto 0}.cursor-glow{pointer-events:none;width:19rem;height:19rem;transform:translate3d(calc(var(--mx,50vw) - 50%), calc(var(--my,50vh) - 50%), 0);z-index:-1;background:radial-gradient(circle,#ff6b351f,#0000 62%);border-radius:999px;transition:transform .18s linear;position:fixed;top:0;left:0}.site-header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f1e8d6;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;padding:.9rem clamp(1rem,3vw,2.4rem);display:grid;position:sticky;top:0}.brand{align-items:center;gap:.75rem;min-width:0;display:inline-flex}.brand__mark{border:1px solid var(--ink);letter-spacing:-.05em;background:var(--paper);border-radius:999px;place-items:center;width:2.55rem;height:2.55rem;font-weight:850;display:grid}.brand__copy{min-width:0;line-height:1.05;display:grid}.brand__copy strong{font-size:.92rem}.brand__copy small{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;margin-top:.18rem;font-size:.68rem}.nav{border:1px solid var(--line);background:#fffdf8b3;border-radius:999px;justify-content:center;align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.nav a,.header-link{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:color .25s ease, background .25s ease, transform .25s var(--ease);white-space:nowrap;border-radius:999px;padding:.68rem .86rem;font-size:.72rem;position:relative}.nav a:hover,.nav a.is-active,.header-link:hover{color:var(--ink);background:#11100d0f}.header-link{border:1px solid var(--line);background:var(--paper);justify-self:end}main{overflow:clip}.hero{min-height:calc(100svh - 4.6rem);padding:clamp(3rem,6vw,5.5rem) clamp(1rem,3vw,2.4rem) clamp(4rem,7vw,6.5rem);position:relative}.hero__meta{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:.55rem;margin-bottom:clamp(2rem,5vw,4.1rem);font-size:clamp(.7rem,1.1vw,.82rem);display:flex}.hero__meta span{border:1px solid var(--line);background:#fffdf8a6;border-radius:999px;padding:.56rem .72rem}.hero__grid{grid-template-columns:minmax(0,1fr) minmax(17rem,30rem);align-items:end;gap:clamp(1.5rem,4vw,4rem);display:grid}.hero-title{letter-spacing:-.074em;text-wrap:balance;max-width:13ch;margin:0;font-size:clamp(4rem,12vw,12.4rem);font-weight:900;line-height:.92;overflow:visible}.hero-title span{transform-origin:0 100%;opacity:0;animation:titleIn .85s var(--ease) forwards;animation-delay:calc(.1s * var(--i,0) + .1s);padding:.03em .02em .07em 0;display:block;overflow:visible;transform:translateY(22px)}@keyframes titleIn{to{opacity:1;transform:translateY(0)}}.hero__intro{color:var(--muted);margin:0 0 .65rem;font-size:clamp(1.08rem,1.8vw,1.44rem);line-height:1.45}.hero-stack{border:1px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);background:radial-gradient(circle at 83% 20%,#9ecdf473,#0000 18rem),radial-gradient(circle at 12% 80%,#ff6b3521,#0000 16rem),#fffdf8d1;margin-top:clamp(2rem,5vw,3.8rem);overflow:hidden}.hero-stack__top{border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--muted);align-items:center;gap:.5rem;padding:1rem clamp(1rem,2vw,1.35rem);font-size:.72rem;display:flex}.hero-stack__top span{background:var(--ink);border-radius:50%;width:.72rem;height:.72rem}.hero-stack__top span:nth-child(2){background:var(--orange)}.hero-stack__top span:nth-child(3){background:var(--blue)}.hero-stack__top strong{margin-left:auto;font-weight:600}.flow-map{grid-template-columns:minmax(9rem,1fr) 2.2rem minmax(9rem,1fr) 2.2rem minmax(9rem,1fr) 2.2rem minmax(9rem,1fr);align-items:stretch;gap:.75rem;padding:clamp(1rem,2vw,1.35rem);display:grid}.flow-map i{background:var(--line-strong);align-self:center;height:1px;position:relative}.flow-map i:after{content:"";border-top:1px solid var(--line-strong);border-right:1px solid var(--line-strong);width:.45rem;height:.45rem;position:absolute;top:50%;right:0;transform:translateY(-50%)rotate(45deg)}.flow-step{border:1px solid var(--line);min-height:8rem;transition:transform .35s var(--ease), background .35s ease;background:#fffdf8b8;border-radius:20px;align-content:space-between;padding:1rem;display:grid}.flow-step:hover{background:var(--paper);transform:translateY(-4px)}.flow-step small{color:var(--orange);font-family:var(--mono);font-size:.7rem}.flow-step strong{letter-spacing:-.045em;margin-top:.9rem;font-size:clamp(1.25rem,2.4vw,2.15rem);line-height:.95}.flow-step span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-top:.5rem;font-size:.7rem;line-height:1.35}.hero-stack__caption{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.hero-stack__caption span{border-right:1px solid var(--line);color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;text-align:center;padding:.9rem 1rem;font-size:.72rem}.hero-stack__caption span:last-child{border-right:0}.section{border-top:1px solid var(--line);padding:clamp(4.5rem,9vw,8rem) clamp(1rem,3vw,2.4rem)}.section-label{color:var(--orange);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.25rem;font-size:.78rem}.section-title{letter-spacing:-.058em;text-wrap:balance;margin:0;font-size:clamp(2.55rem,7vw,7.4rem);font-weight:880;line-height:.98}.profile-grid,.work-heading,.method-heading{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.profile-copy,.work-heading p,.method-heading p,.cowork-panel p{color:var(--muted);font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.65}.profile-copy p{margin:0 0 1.15rem}.profile-copy a{border-bottom:1px solid}.capability-band{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--ink);color:var(--bg);grid-template-columns:minmax(16rem,.45fr) minmax(0,1fr);align-items:center;gap:clamp(1rem,4vw,4rem);padding:clamp(1.25rem,3vw,2.1rem) clamp(1rem,3vw,2.4rem);display:grid}.capability-band p{color:#f6f1e8b8;max-width:24rem;margin:0;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.45}.capability-band__grid{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.capability-band__grid span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;background:#f6f1e80d;border:1px solid #f6f1e838;border-radius:999px;padding:.62rem .78rem;font-size:.72rem}.work-section{padding-top:clamp(4.5rem,8vw,7rem)}.work-cards{gap:1.15rem;margin-top:clamp(2.5rem,5vw,4.5rem);display:grid}.work-card{border:1px solid var(--ink);border-radius:calc(var(--radius) + 8px);transition:transform .45s var(--ease), box-shadow .45s var(--ease), background .45s ease;background:#fffdf8c2;grid-template-columns:minmax(19rem,.95fr) minmax(0,1.05fr);align-items:stretch;gap:0;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff8c}.work-card:hover{box-shadow:var(--shadow);background:#fffdf8f0;transform:translateY(-4px)}.work-card__visual{border-right:1px solid var(--ink);background:linear-gradient(135deg,#ff6b351f,#9ecdf429 70%,#bddfc92e);min-height:19rem;padding:clamp(.7rem,1.4vw,1rem);position:relative;overflow:hidden}.work-card__visual img{object-fit:contain;width:100%;height:100%;min-height:17.5rem;transition:transform .65s var(--ease);border-radius:20px}.work-card:hover .work-card__visual img{transform:scale(1.015)}.work-card__visual:after{content:"Open site";border:1px solid var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;background:#fffdf8e0;border-radius:999px;padding:.52rem .7rem;font-size:.66rem;position:absolute;bottom:1rem;right:1rem}.work-card__body{flex-direction:column;padding:clamp(1.35rem,3vw,3rem);display:flex}.work-card__index{border:1px solid var(--line);width:fit-content;color:var(--muted);font-family:var(--mono);border-radius:999px;margin-bottom:1.2rem;padding:.52rem .68rem;font-size:.72rem}.work-card h3{letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,4.7vw,5.1rem);line-height:.94}.work-card__role{color:var(--orange);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:.75rem 0 1.15rem;font-size:.76rem;line-height:1.55}.work-card__body p:not(.work-card__role){color:var(--muted);margin:0 0 1.25rem;font-size:1.04rem;line-height:1.65}.work-card ul{border-top:1px solid var(--line);gap:.72rem;margin:auto 0 0;padding:1.1rem 0 0;list-style:none;display:grid}.work-card li{color:var(--ink);grid-template-columns:auto 1fr;align-items:start;gap:.65rem;display:grid}.work-card li:before{content:"";background:var(--orange);border-radius:50%;width:.48rem;height:.48rem;margin-top:.48rem}.method-visuals{grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:clamp(2rem,4vw,3.2rem);display:grid}.method-card{border:1px solid var(--ink);border-radius:calc(var(--radius) + 6px);transition:transform .4s var(--ease), box-shadow .4s var(--ease);background:#fffdf8c7;overflow:hidden;box-shadow:inset 0 1px #ffffff80}.method-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.method-card img{aspect-ratio:1.22;object-fit:contain;border-bottom:1px solid var(--ink);background:linear-gradient(135deg,#ff6b3514,#9ecdf41f 72%,#bddfc921);width:100%;padding:clamp(.45rem,1vw,.8rem)}.method-card h3{letter-spacing:-.04em;margin:1.1rem 1.15rem .5rem;font-size:clamp(1.35rem,2.6vw,2.1rem)}.method-card p{color:var(--muted);margin:0 1.15rem 1.35rem;line-height:1.55}.cowork-section{border-top:0;padding-top:0}.cowork-panel{border:1px solid var(--ink);border-radius:calc(var(--radius) + 10px);background:radial-gradient(circle at 80% 10%, #bddfc9b8, transparent 18rem), var(--paper);box-shadow:var(--shadow);grid-template-columns:minmax(0,.72fr) minmax(16rem,1fr) auto;align-items:center;gap:clamp(1.4rem,3.5vw,3rem);padding:clamp(1.35rem,3.4vw,3rem);display:grid}.cowork-panel .section-label{margin-bottom:.8rem}.cowork-panel h2{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4.6vw,4.8rem);line-height:.96}.cowork-panel p{margin:0}.button-link{border:1px solid var(--ink);background:var(--paper);width:fit-content;min-height:3.1rem;color:var(--ink);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;transition:transform .25s var(--ease), background .25s ease, color .25s ease;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.1rem;font-size:.75rem;display:inline-flex}.button-link:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}.button-link--dark{background:var(--ink);color:var(--bg)}.button-link--dark:hover{background:var(--paper);color:var(--ink)}.contact-section{align-content:center;min-height:74svh;display:grid}.contact-title{letter-spacing:-.07em;text-wrap:balance;max-width:13ch;margin:0;font-size:clamp(3.1rem,10vw,11rem);line-height:.9}.contact-copy{max-width:40rem;color:var(--muted);margin:clamp(1rem,2vw,1.5rem) 0 0;font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.55}.contact-actions{flex-wrap:wrap;gap:.75rem;margin-top:clamp(1.7rem,4vw,3rem);display:flex}.footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:#fffdf87a;flex-wrap:wrap;justify-content:flex-start;gap:1rem;padding:1.4rem clamp(1rem,3vw,2.4rem);font-size:.72rem;display:flex}[data-reveal]{opacity:0;transition:opacity .76s var(--ease), transform .76s var(--ease);transform:translateY(22px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.work-card:nth-child(2),.method-card:nth-child(2){transition-delay:40ms}.work-card:nth-child(3),.method-card:nth-child(3){transition-delay:80ms}.work-card:nth-child(4){transition-delay:.12s}@media (width<=1120px){.site-header{grid-template-columns:1fr auto}.nav{order:3;grid-column:1/-1;justify-content:flex-start;justify-self:stretch;overflow-x:auto}.header-link{justify-self:end}.hero__grid,.profile-grid,.work-heading,.method-heading{grid-template-columns:1fr}.hero-title{max-width:12ch;font-size:clamp(4rem,15vw,10rem)}.flow-map{grid-template-columns:1fr}.flow-map i{justify-self:center;width:1px;height:1.25rem}.flow-map i:after{top:auto;bottom:0;right:50%;transform:translate(50%)rotate(135deg)}.hero-stack__caption{grid-template-columns:repeat(2,1fr)}.hero-stack__caption span:nth-child(2){border-right:0}.hero-stack__caption span:nth-child(-n+2){border-bottom:1px solid var(--line)}.work-card{grid-template-columns:1fr}.work-card__visual{border-right:0;border-bottom:1px solid var(--ink);min-height:auto}.work-card__visual img{height:auto;min-height:0}.method-visuals,.cowork-panel{grid-template-columns:1fr}}@media (width<=760px){body{background-size:34px 34px,34px 34px,auto,auto,auto}.site-header{padding:.7rem .8rem}.brand__copy small{display:none}.brand__mark{width:2.35rem;height:2.35rem}.header-link{display:none}.nav a{padding:.62rem .7rem}.hero{min-height:auto;padding-top:2.4rem}.hero-title{letter-spacing:-.066em;font-size:clamp(3.5rem,18vw,6.8rem)}.hero-stack__top strong{display:none}.hero-stack__caption{grid-template-columns:1fr}.hero-stack__caption span{border-right:0;border-bottom:1px solid var(--line)}.hero-stack__caption span:last-child{border-bottom:0}.capability-band{grid-template-columns:1fr}.capability-band__grid{justify-content:flex-start}.section{padding-inline:.85rem}.work-card__body{padding:1.1rem}.work-card h3{font-size:clamp(2.4rem,15vw,4.3rem)}.contact-title{font-size:clamp(3rem,15vw,6.2rem)}.button-link{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.cursor-glow{display:none}}
