:root{--radius:.25rem;--background:oklch(16% .005 60);--foreground:oklch(96% .008 85);--primary:oklch(76% .16 65);--primary-foreground:oklch(17% .02 60);--secondary:oklch(26% .008 60);--muted-foreground:oklch(66% .012 75);--border:oklch(100% 0 0/.12);--hero-fade-mid:oklch(16% .005 60/.7);--hero-image-opacity:.76;--hero-image-filter:contrast(1.04) brightness(.86);--font-display:"Archivo", "Helvetica Neue", sans-serif;--font-sans:"Inter Tight", system-ui, sans-serif;color-scheme:dark;font-synthesis:none}html[data-theme=light]{--background:oklch(96.5% .008 85);--foreground:oklch(19% .008 60);--primary:oklch(67% .16 65);--primary-foreground:oklch(17% .02 60);--secondary:oklch(91% .012 78);--muted-foreground:oklch(48% .014 70);--border:oklch(20% .008 60/.15);--hero-fade-mid:oklch(96.5% .008 85/.72);--hero-image-opacity:.22;--hero-image-filter:invert(1) grayscale(1) contrast(.7) brightness(1.3);color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .35s,color .35s}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}p,h1,h2,h3{margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--primary);color:var(--primary-foreground)}.skip-link{z-index:200;background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius);padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:1.25rem clamp(1.5rem,4vw,3rem);transition:padding .35s,background-color .35s,border-color .35s,box-shadow .35s,color .35s;animation:.8s cubic-bezier(.22,1,.36,1) .8s both header-in;display:flex;position:fixed;inset:0 0 auto}.site-header.is-scrolled{color:oklch(96% .008 85);backdrop-filter:blur(18px)saturate(145%);background:oklch(13% .008 60/.78);border-color:oklch(100% 0 0/.1);padding-top:.8rem;padding-bottom:.8rem;box-shadow:0 .8rem 2.5rem oklch(0% 0 0/.16)}.brand{font:700 clamp(1.25rem, 2vw, 1.5rem)/1 var(--font-display);letter-spacing:-.04em}.brand span,.section-title span,.contact-title span{color:var(--primary)}.site-header nav{align-items:center;gap:1.25rem;display:flex}.header-link{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem}.theme-toggle{border:1px solid var(--border);color:currentColor;cursor:pointer;background:oklch(100% 0 0/.04);border-radius:50%;place-items:center;width:2.6rem;height:2.6rem;padding:0;transition:transform .3s,background .3s,border-color .3s;display:grid}.theme-toggle:hover{background:oklch(100% 0 0/.1);transform:rotate(10deg)scale(.96)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1;width:1rem;transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1)}.sun-icon{opacity:0;transform:rotate(-45deg)scale(.55)}.moon-icon,html[data-theme=light] .sun-icon{opacity:1;transform:rotate(0)scale(1)}html[data-theme=light] .moon-icon{opacity:0;transform:rotate(45deg)scale(.55)}.site-header.is-scrolled .theme-toggle,.site-header.is-scrolled .pill-button{border-color:oklch(100% 0 0/.2)}.pill-button{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.18em;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.7rem;font-weight:600;transition:transform .3s,background .3s;display:inline-flex}.pill-button:hover{background:oklch(100% 0 0/.08);transform:scale(.96)}.intro-overlay{z-index:100;background:var(--background);place-items:center;animation:.85s cubic-bezier(.76,0,.24,1) .72s both intro-away;display:grid;position:fixed;inset:0}.intro-overlay span{font:700 clamp(2rem, 5vw, 4.5rem)/1 var(--font-display);letter-spacing:-.05em;animation:.6s cubic-bezier(.22,1,.36,1) both intro-label}.intro-overlay b{color:var(--primary)}.hero{--hero-progress:0;z-index:0;border-radius:calc(var(--hero-progress) * 2.25rem);min-height:100svh;transform:translate3d(0, calc(var(--hero-progress) * -1rem), 0) scale(calc(1 - (var(--hero-progress) * .055)));transform-origin:top;will-change:transform, border-radius;align-items:flex-end;padding:8rem clamp(1.5rem,4vw,3rem) 4rem;display:flex;position:sticky;top:0;overflow:hidden}.hero-art{animation:28s ease-in-out 1.8s infinite alternate hero-drift;position:absolute;inset:-3%;overflow:hidden;transform:scale(1.035)}.hero-art:before{content:"";z-index:1;mix-blend-mode:screen;background:radial-gradient(circle at 76% 24%,oklch(76% .16 65/.08),#0000 34%);position:absolute;inset:0}.hero-art:after{content:"";z-index:2;background:linear-gradient(90deg, var(--background) 0%, var(--hero-fade-mid) 42%, transparent 78%), linear-gradient(0deg, var(--background) 0%, transparent 32%);position:absolute;inset:0}.hero-art img{object-fit:cover;width:100%;height:100%;opacity:var(--hero-image-opacity);filter:var(--hero-image-filter);animation:1.4s cubic-bezier(.22,1,.36,1) .4s both hero-image}.hero-content{z-index:1;width:100%;transform:translateY(calc(var(--hero-progress) * -1.25rem));opacity:calc(1 - (var(--hero-progress) * .22));will-change:transform, opacity;position:relative}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.32em;font-size:.7rem;font-weight:600}.hero-eyebrow{margin-bottom:2rem;animation:.8s .55s both fade-up}.hero h1{max-width:72rem;font:700 clamp(3.2rem, 6.2vw, 7rem)/.98 var(--font-display);letter-spacing:-.045em}.word-mask{vertical-align:bottom;margin:0 .22em -.1em 0;padding-bottom:.1em;display:inline-block;overflow:hidden}.word-mask>span{animation:word-in .9s var(--word-delay) both cubic-bezier(.22,1,.36,1);display:inline-block}.hero-rule{background:var(--border);transform-origin:0;height:1px;margin-top:3rem;animation:1.2s cubic-bezier(.22,1,.36,1) 1s both rule-in}.hero-disciplines{color:var(--muted-foreground);flex-wrap:wrap;gap:.6rem 2.5rem;margin-top:1.5rem;font-size:.875rem;animation:.8s 1.15s both fade-up;display:flex}.scroll-cue{z-index:2;text-transform:uppercase;letter-spacing:.3em;color:var(--muted-foreground);font-size:.625rem;position:absolute;bottom:1.5rem;right:clamp(1.5rem,4vw,3rem)}.scroll-cue span{color:var(--primary);animation:2.2s ease-in-out infinite bounce;display:inline-block}.marquee{z-index:2;border-block:1px solid var(--border);background:var(--background);padding-block:1.25rem;position:relative;overflow:hidden}.marquee-track{white-space:nowrap;gap:2rem;width:max-content;animation:26s linear infinite marquee;display:flex}.marquee span{font:500 clamp(1.4rem, 2.5vw, 2rem)/1 var(--font-display);text-transform:uppercase;letter-spacing:.18em;color:var(--muted-foreground)}.marquee b{color:var(--primary)}.section{padding:clamp(6rem,10vw,9rem) clamp(1.5rem,4vw,3rem)}.section-title{font:700 clamp(3.2rem, 6vw, 6rem)/.93 var(--font-display);letter-spacing:-.045em;text-wrap:balance}.section-title-wide{max-width:58rem;margin-top:1.5rem}.services{z-index:2;background:var(--background);border-radius:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,3vw,2.5rem) 0 0;position:relative;overflow:clip;box-shadow:0 -1.5rem 5rem oklch(0% 0 0/.18)}.services-intro{border-bottom:1px solid var(--border);grid-template-columns:1.4fr .6fr;align-items:end;gap:clamp(3rem,8vw,8rem);padding-bottom:3rem;display:grid}.services-intro>p{max-width:28rem;color:var(--muted-foreground);padding-bottom:.4rem;line-height:1.65}.service-grid{background:var(--border);border:1px solid var(--border);border-radius:1.1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:1px;display:grid;overflow:hidden}.service-card{background:var(--background);isolation:isolate;flex-direction:column;gap:2rem;min-height:25rem;padding:clamp(1.5rem,3vw,2.5rem);transition:background-color .35s,color .35s;display:flex;position:relative;overflow:hidden}.service-card:before{content:"";z-index:-1;opacity:1;background:radial-gradient(circle at 88% 8%,oklch(76% .16 65/.13),#0000 38%);position:absolute;inset:0}.service-card.featured{color:oklch(97% .006 85);background:linear-gradient(135deg,oklch(10.5% .006 60) 0%,oklch(14.5% .009 60) 52%,oklch(19% .018 62) 100%);grid-column:1/-1;min-height:32rem}.service-card.featured:before{z-index:-1;background:radial-gradient(circle at 84% 18%,oklch(76% .16 65/.11),#0000 42%),linear-gradient(115deg,oklch(100% 0 0/.03),#0000 44%)}.service-card-top{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.service-card.featured .item-index{color:oklch(97% .006 85/.62)}.service-icon{aspect-ratio:1;border:1px solid var(--border);width:3rem;color:var(--primary);background:oklch(100% 0 0/.03);border-radius:.85rem;place-items:center;display:grid}.service-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem}.service-card.featured .service-icon{color:var(--primary);background:oklch(0% 0 0/.28);border-color:oklch(100% 0 0/.22)}.service-card-copy{z-index:1;margin-top:auto;position:relative}.item-index{color:var(--muted-foreground);font:500 .75rem/1.4 var(--font-display);letter-spacing:.2em}.service-card h3{max-width:42rem;font:600 clamp(2rem, 4vw, 4.6rem)/.98 var(--font-display);letter-spacing:-.045em}.service-card:not(.featured) h3{font-size:clamp(1.8rem,3vw,3rem)}.service-card-copy p,.section-heading>p,.faq-intro>p{color:var(--muted-foreground);line-height:1.65}.service-card-copy p{max-width:38rem;margin-top:1.25rem}.service-card.featured .service-card-copy p{color:oklch(97% .006 85/.72)}.tags{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.tags li{border:1px solid var(--border);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.13em;border-radius:999px;padding:.35rem .65rem;font-size:.625rem}.service-card.featured .tags{z-index:1;position:relative}.service-card.featured .tags li{color:oklch(97% .006 85/.76);background:oklch(0% 0 0/.16);border-color:oklch(100% 0 0/.22)}.section-heading{justify-content:space-between;align-items:end;gap:3rem;padding-bottom:2.5rem;display:flex}.section-heading>p{max-width:28rem;font-size:.9rem}.work-list{margin-top:0}.work-item{border-bottom:1px solid var(--border)}.work-item a{grid-template-columns:.65fr 5fr 2fr 0fr 1fr;align-items:center;gap:1.25rem;min-height:7rem;padding:1rem 0;transition:padding .45s,color .3s;display:grid}.work-item a:hover{color:var(--primary);padding-left:1rem}.work-item strong{font:600 clamp(1.4rem, 2.8vw, 2.6rem)/1.05 var(--font-display);letter-spacing:-.025em}.discipline,.explore{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.18em;font-size:.65rem}.explore{text-align:right;transition:color .3s}.work-item a:hover .explore{color:var(--primary)}.site-preview{opacity:0;pointer-events:none;background:#fff;border:1px solid oklch(100% 0 0/.18);border-radius:.65rem;width:0;height:13.5rem;transition:width .55s,opacity .35s,transform .55s cubic-bezier(.22,1,.36,1);overflow:hidden;transform:rotate(-2deg)scale(.88);box-shadow:0 1.5rem 4rem oklch(0% 0 0/.35)}.work-item a:hover .site-preview{opacity:1;width:22rem;transform:rotate(0)scale(1)}.browser-bar{color:#555;background:#e9e9e9;align-items:center;gap:.3rem;height:1.6rem;padding:0 .55rem;display:flex}.browser-bar i{aspect-ratio:1;background:#aaa;border-radius:50%;width:.38rem}.browser-bar i:first-child{background:#ef6a5b}.browser-bar i:nth-child(2){background:#efbd4e}.browser-bar i:nth-child(3){background:#5bc25b}.browser-bar small{font:500 .5rem/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;margin-left:.35rem;overflow:hidden}.site-preview>img{object-fit:cover;object-position:top;width:22rem;height:11.9rem}.site-preview iframe{transform-origin:0 0;border:0;width:1200px;height:720px;transform:scale(.2934)}.works,.faq,.contact{z-index:2;background:var(--background);position:relative}.faq{grid-template-columns:1fr 2fr;gap:clamp(3rem,8vw,8rem);display:grid}.faq-intro .section-title{margin-top:1.5rem;font-size:clamp(3rem,4vw,4.5rem)}.faq-intro>p:last-child{max-width:24rem;margin-top:1.5rem;font-size:.875rem}.story-link{display:inline-block;position:relative}.story-link:after{content:"";background:var(--primary);transform-origin:100%;height:1px;transition:transform .35s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.story-link:hover:after{transform-origin:0;transform:scaleX(1)}.faq-list{border-top:1px solid var(--border)}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{cursor:pointer;font:500 clamp(1.15rem, 2vw, 1.6rem)/1.2 var(--font-display);letter-spacing:-.02em;justify-content:space-between;align-items:center;gap:2rem;padding:1.75rem 0;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{color:var(--primary);font-size:1.8rem;font-weight:400;transition:transform .35s}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details>p{max-width:44rem;color:var(--muted-foreground);padding:0 3rem 2rem 0;line-height:1.65}.contact{padding-top:7rem;padding-bottom:4rem}.contact-title{font:700 clamp(3.5rem, 9vw, 10rem)/.88 var(--font-display);letter-spacing:-.055em;text-wrap:balance}.contact-grid{border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;align-items:start;gap:2rem;margin-top:4rem;padding-top:2.5rem;display:grid}.muted{color:var(--muted-foreground)}.contact-link{margin-top:.75rem;font-size:clamp(1rem,2vw,1.3rem)}.primary-button{background:var(--primary);color:var(--primary-foreground);text-transform:uppercase;letter-spacing:.18em;border-radius:999px;align-items:center;gap:.65rem;padding:1rem 1.75rem;font-size:.75rem;font-weight:700;transition:transform .3s,box-shadow .3s;display:inline-flex}.primary-button:hover{transform:scale(.96);box-shadow:0 0 3rem oklch(76% .16 65/.25)}.site-footer{z-index:2;border-top:1px solid var(--border);background:var(--background);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.2em;justify-content:space-between;gap:1rem;padding:2rem clamp(1.5rem,4vw,3rem);font-size:.625rem;display:flex;position:relative}.reveal-ready [data-reveal]{opacity:0;transition:opacity .75s var(--delay,0s), transform .75s var(--delay,0s);transform:translateY(1.75rem)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}.cursor{z-index:150;pointer-events:none;width:.75rem;height:.75rem;transform:translate(calc(var(--cursor-x,-100px) - 50%), calc(var(--cursor-y,-100px) - 50%));background:var(--primary);color:var(--primary-foreground);border-radius:50%;transition:width .2s,height .2s,opacity .2s;display:none;position:fixed;top:0;left:0}.cursor span{text-transform:uppercase;letter-spacing:.16em;font-size:.55rem;font-weight:700}.cursor.is-active{place-items:center;width:2.75rem;height:2.75rem;display:grid}.cursor.has-label{width:5rem;height:5rem}@media (pointer:fine) and (width>=48rem){.cursor{display:block}main,main a,main summary{cursor:none}}@media (width<=62rem){.services-intro{grid-template-columns:1fr;gap:2rem}.work-item a{grid-template-columns:.5fr 4fr 1.5fr 1fr}.work-item .discipline,.site-preview{display:none}}@media (width<=45rem){.header-link{display:none}.hero{padding-bottom:5rem}.hero-art:after{background:linear-gradient(90deg, var(--background), var(--hero-fade-mid)), linear-gradient(0deg, var(--background), transparent 42%)}.hero h1{font-size:clamp(3.15rem,14vw,5rem)}.service-grid{grid-template-columns:1fr}.service-card.featured{grid-column:auto}.service-card,.service-card.featured{min-height:23rem}.service-card.featured:before{background:radial-gradient(circle at 82% 12%,oklch(76% .16 65/.1),#0000 46%)}.section-heading{flex-direction:column;align-items:flex-start}.work-item a{grid-template-columns:2.5rem 1fr auto;min-height:6.5rem}.work-item strong{font-size:1.3rem}.explore{display:none}.faq{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:2.5rem}.site-footer{flex-direction:column}}@keyframes intro-away{to{visibility:hidden;transform:translateY(-100%)}}@keyframes intro-label{0%{opacity:0;transform:translateY(.9rem)}}@keyframes header-in{0%{opacity:0;transform:translateY(-1.2rem)}}@keyframes hero-image{0%{opacity:0;transform:scale(1.025)}to{opacity:var(--hero-image-opacity);transform:scale(1)}}@keyframes hero-drift{0%{transform:scale(1.035)translate(-.35%,-.2%)}to{transform:scale(1.055)translate(.35%,.25%)}}@keyframes word-in{0%{transform:translateY(110%)rotate(4deg)}}@keyframes rule-in{0%{transform:scaleX(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(1rem)}}@keyframes bounce{50%{transform:translateY(.5rem)}}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero{border-radius:0;position:relative;transform:none}.hero-content{opacity:1;transform:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
