@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--paper:#09080f;--ink:#f7f4ff;--muted:#ada5bd;--line:#413a4e;--accent:#ae79ff;--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--sans:'Space Grotesk','Noto Sans SC',Arial,sans-serif}
body{background:var(--paper);color:var(--ink);font-family:var(--sans)}
::selection{background:#8752da;color:#fff}
.eyebrow,.section-heading,.hero-kicker,.hero-base,.site-nav,.footer-top,.project-caption p,.archive-meta span,.detail-back,.detail-cover-overlay>span{font-family:var(--sans);letter-spacing:.13em}
.site-header{position:sticky;top:0;z-index:1000;height:78px;background:#08070d;border-bottom-color:#312b3b}
html{scroll-padding-top:90px}
.skip-link{z-index:1100}
.wordmark{color:#fff;font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:.04em}
.wordmark-mark{color:#b983ff;font-size:27px}
.site-nav{color:#f2ecfb}
.site-nav a:hover,.site-nav a[aria-current=page]{color:#c69aff}
.site-nav a:after{background:#b983ff}
.section-heading{color:#bcb3ca}
.section-heading .eyebrow{color:#fff}
.text-link{border-color:#aaa1ba;color:#fff}
.text-link:hover{color:#cda6ff}
.hero{position:relative;isolation:isolate;min-height:calc(100svh - 78px);background:#050408;overflow:hidden}
.hero:before{content:'';position:absolute;z-index:-1;left:20%;top:0;width:70vw;height:95%;background:radial-gradient(ellipse at center,rgba(129,64,238,.53) 0%,rgba(87,38,167,.27) 38%,transparent 70%);filter:blur(24px);pointer-events:none}
.hero:after{content:'';position:absolute;z-index:-1;right:-12%;bottom:-45%;width:50vw;height:80%;background:radial-gradient(ellipse at center,rgba(38,104,203,.24),transparent 64%);filter:blur(35px);pointer-events:none}
.hero-kicker{color:#d0c8dc;font-size:11px}
.hero-layout{display:block;position:relative;flex:1;min-height:610px}
.hero-copy{position:absolute;z-index:1;top:20%;left:0;right:0;padding:0}
.hero-copy .eyebrow{color:#e6d8f8;margin-bottom:32px}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(118px,16.8vw,290px);line-height:.68;letter-spacing:-.035em;white-space:nowrap;color:#a777ed;text-transform:uppercase;text-shadow:0 0 70px rgba(153,86,254,.29)}
.hero h1 span{display:inline-block;margin-left:19vw;color:#f3efff}
.hero-manifesto{font-size:clamp(17px,1.6vw,24px);letter-spacing:.15em;text-transform:uppercase;margin-top:65px;max-width:580px}
.hero-name{display:block;margin-top:23px;font-size:12px;color:#b5adc4}
.hero-name strong{color:#fff;margin-left:15px;font-size:13px}
.hero-image{position:absolute;z-index:2;right:7%;top:9%;width:28%;height:78%;align-self:auto;transform:rotate(5deg);border:1px solid rgba(244,231,255,.32);border-radius:20px;box-shadow:0 30px 95px rgba(0,0,0,.62),0 0 65px rgba(110,67,221,.43)}
.hero-image .art,.hero-image .art-photo{height:100%;width:100%;border-radius:19px;object-fit:cover}
.hero-image-label{right:0;bottom:-30px;color:#d0c1e3;white-space:nowrap}
.hero-base{color:#eee8f8;margin-top:10px}
.hero-base a{border-color:#b88eed}
.hero-base span{color:#a79bba}
.home-intro{background:#09080f}
.home-intro .section-heading{border-color:#544867}
.home-intro-copy>.eyebrow{color:#c998ff}
.home-intro h2,.works-intro h2,.practice-heading h2,.about-opening h1,.page-opening h1,.about-fields h2,.about-experience h2,.detail-concept h2,.system-intro h2,.application-title h2,.next-project h2{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.015em;line-height:.82}
.home-intro h2 em,.works-intro h2 em,.practice-heading h2 em,.about-opening h1 em,.page-opening h1 em,.about-fields h2 em,.about-experience h2 em,.detail-concept h2 em,.system-intro h2 em,.application-title h2 em{font-family:inherit;font-weight:inherit;font-style:normal;color:#b782fc}
.home-intro h2{font-size:clamp(82px,9.6vw,160px);margin-bottom:45px}
.home-intro-copy>p:not(.eyebrow){font-family:var(--sans);font-size:clamp(22px,2vw,30px);line-height:1.38;letter-spacing:-.035em;color:#eee8f6}
.home-intro-copy strong{color:#c08fff;font-weight:600}
.home-intro-copy .home-intro-note{color:#b2aabd!important}
.portrait-placeholder{background:#171321;border:1px solid #514268;color:#bda9d2}
.portrait-placeholder:before{border-color:#655577}
.portrait-placeholder:after{border-color:#655577}
.portrait-placeholder>span{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.02em}
.portrait-placeholder small{color:#b6a7c8}
.works-intro .section-heading{border-color:#554a65}
.works-intro h2{font-size:clamp(95px,11.6vw,185px)}
.works-intro>p{color:#beb6c9}
.project-stage{position:relative;isolation:isolate;display:flex;align-items:flex-start;gap:clamp(14px,1.35vw,24px);width:100%;max-width:none;margin:0;min-height:700px;padding:100px 5vw 110px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#7d589e transparent;background:radial-gradient(ellipse at 50% 50%,rgba(142,78,242,.42),rgba(68,33,128,.25) 36%,transparent 69%),#08060d}
.stage-backdrop{position:absolute;z-index:-1;left:19%;top:17%;font-family:var(--display);font-weight:800;font-size:clamp(160px,22vw,360px);line-height:.65;letter-spacing:-.035em;text-transform:uppercase;color:rgba(184,130,255,.18);white-space:nowrap;pointer-events:none}
.project-stage .project-feature{flex:0 0 clamp(180px,17.3vw,260px);min-width:0;max-width:none;grid-column:auto;margin:0!important;scroll-snap-align:center}
.project-stage .project-feature:nth-of-type(1){padding-top:95px}
.project-stage .project-feature:nth-of-type(2){padding-top:30px}
.project-stage .project-feature:nth-of-type(3){padding-top:0}
.project-stage .project-feature:nth-of-type(4){padding-top:40px}
.project-stage .project-feature:nth-of-type(5){padding-top:110px}
.project-stage .project-art-link{height:clamp(340px,33vw,500px);border:1px solid rgba(243,233,255,.3);border-radius:18px;box-shadow:0 25px 60px rgba(0,0,0,.55)}
.project-stage .project-art-link::after{content:'';position:absolute;z-index:1;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82));pointer-events:none}
.project-stage .project-art-link .art,.project-stage .project-art-link .art-photo{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:17px}
.project-stage .project-art-link .art{display:flex}
.project-stage .project-view{z-index:3;top:14px;right:14px;bottom:auto;height:34px;width:34px;padding:5px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(13,10,20,.45);color:#fff;text-align:center;font-size:18px;line-height:23px;opacity:1;transform:none;backdrop-filter:blur(8px)}
.project-card-details{position:absolute;z-index:3;left:16px;right:14px;bottom:16px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.project-card-details small{display:block;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;line-height:1.3}
.project-card-details strong{display:block;margin-top:7px;font-family:var(--display);font-weight:700;font-size:clamp(31px,3.2vw,48px);line-height:.85;text-transform:uppercase}
.project-stage .project-caption{display:flex;justify-content:space-between;gap:10px;border:0;padding:0;margin-top:15px}
.project-stage .project-caption h3,.project-stage .caption-arrow{display:none}
.project-stage .project-caption p{margin:0;color:#bcb1ce;font-size:10px}
.project-stage .project-number{color:#c393ff;font-size:12px}
.all-work-link{padding-top:45px;padding-bottom:145px}
.all-work-link>span{color:#aaa0b8}
.practice-section{background:radial-gradient(ellipse at 55% 0%,rgba(99,53,180,.22),transparent 50%),#11101a;color:#f5f1fb}
.practice-heading{border-color:#5c516b}
.practice-heading h2{font-size:clamp(85px,10.2vw,170px);white-space:normal}
.practice-heading>p{color:#c2b9ce}
.practice-controls button{border-color:#8c7c9f;color:#fff}
.practice-controls button:hover:not(:disabled){background:#b184ef;color:#0d0a13}
.practice-controls button:disabled{color:#9c91aa}
.practice-track{scrollbar-color:#8b68b4 transparent}
.practice-card{flex-basis:clamp(260px,27vw,420px)}
.practice-art{aspect-ratio:.78}
.practice-art .art,.practice-art .art-photo{border-radius:16px}
.practice-card-caption{border-color:#746984}
.practice-card-caption h3{font-family:var(--display);font-weight:700;font-size:clamp(43px,4vw,64px);text-transform:uppercase}
.practice-card-caption>span:last-child,.practice-foot{color:#a9a0b8}
.site-footer{background:#050408;color:#fff}
.footer-top .eyebrow{color:#fff}
.site-footer h2{font-family:var(--display);font-weight:800;letter-spacing:-.015em;line-height:.72;text-transform:uppercase}
.site-footer h2 em{font-family:inherit;font-weight:inherit;font-style:normal;color:#b789ff}
.footer--thanks h2{font-size:clamp(110px,15vw,245px);margin-block:115px 105px}
.footer-note,.footer-actions p,.footer-bottom{color:#b4a9c1}
.contact-placeholder{border-color:#8c719f}
.footer-bottom{border-color:#423747}
.page-opening .section-heading,.about-opening .section-heading{border-color:#564c64}
.page-opening h1,.about-opening h1{font-size:clamp(110px,14vw,220px)}
.page-opening-bottom{border-color:#544b60}
.page-opening-bottom p{color:#c0b5ce}
.filter{color:#ada3bc}
.filter:hover,.filter.is-active{color:#fff}
.archive-image-link{border-radius:15px}
.archive-image-link .art,.archive-image-link .art-photo{border-radius:15px}
.archive-meta{border-color:#62566f}
.archive-meta h2{font-family:var(--display);font-weight:700;font-size:clamp(46px,5vw,78px);line-height:.85;text-transform:uppercase}
.archive-meta span:last-child{color:#b5a9c6}
.archive-note{border-color:#66596f}
.archive-note p{font-family:var(--sans);font-size:clamp(25px,3vw,43px);line-height:1.28}
.detail-cover{background:#0c0816;overflow:hidden}
.detail-cover-overlay h1{font-family:var(--display);font-weight:800;font-size:clamp(100px,15vw,245px);line-height:.75;text-transform:uppercase;letter-spacing:-.02em;mix-blend-mode:normal}
.detail-cover .art-photo{filter:brightness(.58)}
.detail-side dl div,.detail-concept,.detail-applications,.system-specs,.system-specs>div{border-color:#64566e}
.detail-side dt,.detail-main>p:not(.lead-text),.detail-concept p,.system-intro p,.application-grid>div>span,.detail-visual-caption{color:#bcb3c8}
.lead-text{font-family:var(--display);font-weight:700;font-size:clamp(65px,6vw,110px);line-height:.9;text-transform:uppercase}
.detail-concept h2,.system-intro h2,.application-title h2{font-size:clamp(75px,8vw,125px)}
.placeholder-disclosure{color:#bd8cff}
.swatches i{border-color:#756482}
.next-project{background:#211732}
.next-project h2{font-size:clamp(95px,12vw,180px)}
.next-project .eyebrow{color:#d0a7ff}
.about-intro>p{font-family:var(--sans);font-size:clamp(25px,2.8vw,42px);line-height:1.2}
.about-intro>p:last-child{color:#bdb4c9}
.about-intro strong{color:#c695ff;font-weight:600}
.about-philosophy{background:#20172f;color:#f4eefc}
.about-philosophy blockquote{font-family:var(--display);font-weight:700;font-size:clamp(80px,9vw,150px);line-height:.9;text-transform:uppercase}
.about-philosophy blockquote em{font-family:inherit;font-style:normal;color:#bf94fa}
.fields-list,.fields-list>div,.about-experience{border-color:#5f516b}
.fields-list h3{font-family:var(--display);font-size:clamp(45px,4vw,68px);font-weight:700;text-transform:uppercase}
.fields-list p,.about-experience p{color:#b7afc3}
.not-found h1{font-family:var(--display);font-weight:800;text-transform:uppercase}
@media(max-width:1000px){.hero h1{font-size:16vw}.hero-image{width:33%;right:3%}.project-stage .project-feature{flex-basis:21vw}.practice-card{flex-basis:36vw}}
@media(max-width:760px){.site-header{height:72px}.hero{min-height:730px}.hero-layout{min-height:590px}.hero-copy{top:11%}.hero h1{font-size:clamp(71px,16vw,122px);line-height:.77}.hero h1 span{margin-left:9vw}.hero-manifesto{font-size:15px;margin-top:38px;max-width:300px}.hero-name{font-size:11px}.hero-image{top:43%;right:10%;height:330px;width:49%;transform:rotate(5deg)}.hero-image-label{font-size:9px}.home-intro h2{font-size:clamp(75px,13vw,110px)}.home-intro-copy>p:not(.eyebrow){font-size:21px}.works-intro h2{font-size:clamp(90px,14vw,130px)}.project-stage{min-height:600px;padding:70px 5vw 100px;gap:18px;scroll-padding-left:5vw}.stage-backdrop{left:8%;top:26%;font-size:33vw}.project-stage .project-feature{flex-basis:48vw;max-width:none;margin:0!important}.project-stage .project-feature:nth-of-type(1){padding-top:80px}.project-stage .project-feature:nth-of-type(2){padding-top:20px}.project-stage .project-feature:nth-of-type(3){padding-top:0}.project-stage .project-feature:nth-of-type(4){padding-top:35px}.project-stage .project-feature:nth-of-type(5){padding-top:75px}.project-stage .project-art-link{height:365px}.project-card-details strong{font-size:38px}.practice-section{padding-top:100px}.practice-heading h2{font-size:clamp(80px,13vw,125px)}.practice-heading>p{color:#c6bdd0}.practice-card{flex-basis:58vw}.footer--thanks h2{font-size:clamp(91px,15vw,140px)}.page-opening h1,.about-opening h1{font-size:clamp(100px,16vw,150px)}.detail-cover-overlay h1{font-size:clamp(95px,17vw,150px)}.lead-text{font-size:clamp(65px,10vw,95px)}.detail-concept h2,.system-intro h2,.application-title h2{font-size:clamp(68px,11vw,100px)}.about-philosophy blockquote{font-size:clamp(70px,12vw,110px)}}
@media(max-width:480px){.site-header{height:100px}.wordmark{font-size:18px}.hero{min-height:720px}.hero-layout{min-height:570px}.hero-copy{top:8%}.hero h1{font-size:15.8vw;line-height:.83;letter-spacing:-.03em}.hero h1 span{margin-left:12vw}.hero-manifesto{margin-top:30px;font-size:13px;max-width:250px}.hero-name{margin-top:13px}.hero-name strong{display:block;margin:4px 0 0}.hero-image{top:43%;right:14%;width:58%;height:310px}.hero-base{margin-top:0}.home-intro h2{font-size:clamp(68px,14vw,82px)}.works-intro h2{font-size:clamp(78px,16vw,104px)}.project-stage{min-height:535px;padding-top:55px;padding-bottom:70px;gap:15px}.project-stage .project-feature{flex-basis:62vw}.project-stage .project-art-link{height:355px}.project-stage .project-feature:nth-of-type(1){padding-top:62px}.project-stage .project-feature:nth-of-type(5){padding-top:65px}.project-card-details strong{font-size:35px}.practice-heading h2{font-size:clamp(77px,16vw,95px)}.practice-card{flex-basis:78vw}.practice-art{aspect-ratio:.75}.practice-art .art-title{font-size:85px}.footer--thanks h2{font-size:clamp(72px,16vw,96px)}.page-opening h1,.about-opening h1{font-size:clamp(91px,17vw,115px)}.detail-cover-overlay h1{font-size:clamp(84px,17vw,105px)}.about-philosophy blockquote{font-size:72px}}
@media(prefers-reduced-motion:reduce){.hero-image{transform:none}.project-stage{scroll-behavior:auto}}
@media(max-width:480px){.hero{min-height:790px}.hero-layout{min-height:650px}.hero-image{top:48%}.hero-image-label{right:12px;bottom:12px;padding:6px 8px;border-radius:4px;background:rgba(7,5,13,.62);color:#fff;font-size:8px}.detail-cover-overlay h1{font-size:clamp(62px,14vw,75px);overflow-wrap:normal;word-break:normal}.next-project a>div{grid-template-columns:minmax(0,1fr) auto}.next-project h2{min-width:0;font-size:58px;overflow-wrap:anywhere}}
@media(max-width:760px){html{scroll-padding-top:84px}}
@media(max-width:480px){html{scroll-padding-top:112px}}
@media(prefers-reduced-motion:no-preference){
  .reveal.micro-reveal{transform:translateY(18px);transition:opacity .82s cubic-bezier(.22,1,.36,1),transform .82s cubic-bezier(.22,1,.36,1)}
  .reveal.micro-reveal.is-visible{transform:none}
  .hero h1 span{animation:micro-rise .85s .22s both}
  .hero-manifesto{animation:micro-rise .8s .34s both}
  .hero-name{animation:micro-rise .8s .44s both}
  .detail-cover-overlay h1{animation:micro-rise .95s .12s both}
  .detail-cover .art-photo{animation:cover-settle 1.4s cubic-bezier(.22,1,.36,1) both}
  .hero-image .art-photo,.project-art-link .art-photo,.archive-image-link .art-photo,.practice-card .art-photo{transition:transform .75s cubic-bezier(.22,1,.36,1),filter .75s cubic-bezier(.22,1,.36,1)}
  .hero-image:hover .art-photo{transform:scale(1.025)}
  .project-art-link:hover .art-photo,.project-art-link:focus-visible .art-photo,.archive-image-link:hover .art-photo,.archive-image-link:focus-visible .art-photo{transform:scale(1.035);filter:saturate(1.06) brightness(1.04)}
  .project-card-details strong,.practice-card-caption h3,.text-link span{transition:transform .48s cubic-bezier(.22,1,.36,1)}
  .project-art-link:hover .project-card-details strong,.project-art-link:focus-visible .project-card-details strong{transform:translateY(-3px)}
  .practice-card.is-hovered .art-photo{transform:scale(1.012);filter:saturate(1.04)}
  .practice-card.is-hovered .practice-card-caption h3{transform:translateY(-3px)}
  .text-link:hover span,.text-link:focus-visible span{transform:translate(3px,-3px)}
}
@keyframes micro-rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes cover-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.hero-image:hover .art-photo,.project-art-link:hover .art-photo,.archive-image-link:hover .art-photo,.practice-card.is-hovered .art-photo{transform:none;filter:none}}
