@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto}body,h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}svg{max-width:100%;display:block}}@layer base{:root{--paper:#f5f5f2;--ink:#0a0a0a;--muted:#686864;--line:#cdcdc7;--page-gutter:clamp(1.25rem, 4vw, 4.5rem);--page-max:94rem;--parallax-x:0px;--parallax-y:0px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica Neue,Helvetica,sans-serif}body{background:radial-gradient(circle at 50% 15%, #ffffffe6, transparent 28rem), var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-width:20rem;font-size:1rem;line-height:1.5;overflow-x:hidden}::selection{color:var(--paper);background:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:.75rem 1rem;font-size:.8rem;font-weight:700;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}}@layer layout{.site-shell{isolation:isolate;position:relative;overflow:clip}.scroll-progress{--scroll-progress:0;z-index:30;background:var(--line);pointer-events:none;width:1px;height:5rem;position:fixed;top:50%;right:1.15rem;overflow:hidden;transform:translateY(-50%)}.scroll-progress span{width:100%;height:100%;transform:scaleY(var(--scroll-progress));transform-origin:top;background:var(--ink);display:block}.page-width{width:min(100%, var(--page-max));padding-inline:var(--page-gutter);margin-inline:auto}.section{z-index:2;position:relative}.site-header{z-index:20;justify-content:space-between;align-items:center;padding-top:clamp(1.5rem,4vh,2.75rem);display:flex;position:absolute;inset:0 0 auto}.site-header nav{gap:clamp(1.25rem,3vw,3rem);display:flex}.header-actions{align-items:center;gap:clamp(1.5rem,3vw,3rem);display:flex}.site-header nav a{letter-spacing:.09em;text-transform:uppercase;font-size:.8rem;font-weight:700;position:relative}.site-header nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s;position:absolute;bottom:-.3rem;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.wordmark{letter-spacing:-.03em;font-size:clamp(1.08rem,1.2vw,1.3rem);font-weight:900}.menu-toggle,.mobile-menu{display:none}.hero{z-index:3;align-items:center;min-height:max(45rem,100svh);display:grid;position:relative}.hero-copy{z-index:4;width:min(54rem,68vw);padding-top:4rem;position:relative}.eyebrow,.section-index,.project-type{letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:700}.eyebrow{margin-bottom:clamp(1.5rem,3.2vh,2.75rem)}.hero h1,.hero-title-inverse,.section-heading h2,.contact h2{letter-spacing:-.075em;overflow-wrap:break-word;text-wrap:balance;max-width:100%;font-weight:800;line-height:.88}.hero-title-wrap{width:100%;max-width:100%;position:relative}.hero h1,.hero-title-inverse{font-size:clamp(3.65rem,8.6vw,8.5rem)}.hero-title-inverse{--moon-x:100%;--moon-y:50%;--moon-radius:0px;z-index:1;width:100%;clip-path:circle(var(--moon-radius) at var(--moon-x) var(--moon-y));color:#fff;pointer-events:none;display:block;position:absolute;inset:0}.hero-disciplines{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;gap:clamp(.65rem,1vw,1rem);margin-top:clamp(1.75rem,4vh,3.25rem);font-size:clamp(.78rem,1.2vw,.95rem);font-weight:700;display:flex}.hero-disciplines span{color:var(--ink)}.hero-cta{margin-top:clamp(2rem,4vh,3.5rem)}.hero-moon-wrap{z-index:1;aspect-ratio:1;width:clamp(25rem,47vw,46rem);position:absolute;top:13%;right:max(-14rem,-13vw)}.hero-moon{z-index:1;background:#090909;border-radius:50%;position:absolute;inset:0;overflow:hidden;box-shadow:inset 1.5rem 1.25rem 2.8rem #ffffff06,inset -2.6rem -2.4rem 4.5rem #00000057,0 2rem 5rem #0000001a}.moon-orbits{z-index:2;pointer-events:none;animation:17s linear infinite orbit-assembly;position:absolute;inset:-7%}.moon-orbit{border:1px solid #0a0a0a3d;border-color:#f5f5f2d1 #0a0a0a3d #0a0a0a3d #f5f5f25c;border-radius:50%;display:block;position:absolute}.moon-orbit--one{inset:0}.moon-orbit--two{opacity:.52;inset:8% -1%;transform:rotate(31deg)scaleY(.79)}.moon-orbit--three{opacity:.36;inset:3% 7%;transform:rotate(-38deg)scaleX(.82)}.moon-satellite{aspect-ratio:1;border:2px solid var(--paper);background:var(--ink);border-radius:50%;width:clamp(.62rem,.9vw,.9rem);display:block;position:absolute;top:16%;left:3.5%;box-shadow:0 0 0 1px #0a0a0a38}.moon-surface{border-radius:inherit;background:radial-gradient(at 31% 28%,#ffffff0b,#0000 37%),radial-gradient(at 70% 72%,#ffffff05,#0000 45%);animation:12s ease-in-out infinite alternate orb-breathe;position:absolute;inset:0}.moon-terminator{border-left:1px solid #ffffff1f;border-radius:50%;width:95%;height:118%;animation:16s ease-in-out infinite alternate terminator-drift;position:absolute;top:-9%;right:-27%;transform:rotate(-13deg);box-shadow:-1.25rem 0 2.8rem #ffffff03}.scroll-cue{z-index:4;bottom:2rem;left:var(--page-gutter);color:var(--muted);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.65rem;font-weight:700;display:flex;position:absolute}.scroll-cue i{background:var(--line);width:3.5rem;height:1px;overflow:hidden}.scroll-cue i:after{content:"";background:var(--ink);width:45%;height:100%;animation:2.2s ease-in-out infinite scroll-line;display:block}.services{min-height:105vh;padding-top:clamp(8rem,17vh,14rem);padding-bottom:clamp(8rem,16vh,13rem)}.section-heading{grid-template-columns:minmax(9rem,.35fr) 1fr;align-items:end;margin-bottom:clamp(5rem,11vh,9rem);display:grid}.section-index{color:var(--muted);padding-bottom:.7rem}.section-heading h2{font-size:clamp(4rem,9vw,9rem)}.service-list{width:min(100%,72rem);margin-left:auto}.service-item{border-top:1px solid var(--ink);grid-template-columns:4rem minmax(12rem,.7fr) 1fr;align-items:baseline;gap:2rem;padding-block:clamp(2rem,4.5vh,3.5rem);display:grid}.service-item:last-child{border-bottom:1px solid var(--ink)}.item-index{color:var(--muted);letter-spacing:.1em;font-size:.66rem;font-weight:700}.service-item h3{letter-spacing:-.045em;font-size:clamp(1.65rem,2.7vw,2.8rem);font-weight:700;line-height:1}.service-item p{max-width:29rem;color:var(--muted);font-size:clamp(.95rem,1.4vw,1.12rem)}.work{padding-top:clamp(8rem,16vh,13rem);padding-bottom:clamp(9rem,20vh,18rem)}.work-heading{margin-bottom:clamp(7rem,15vh,13rem)}.project-list{gap:clamp(9rem,18vh,16rem);display:grid}.project{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:center;gap:clamp(3rem,8vw,9rem);display:grid}.project--reverse .project-visual{order:2}.project--reverse .project-copy{order:1;padding-left:clamp(0rem,5vw,5rem)}.project-visual{min-width:0;position:relative}.project-visual-inner{position:relative}.project-number{color:var(--muted);letter-spacing:.1em;font-size:.65rem;font-weight:700;position:absolute;top:1.1rem;right:1.25rem}.project-copy{position:relative}.project-type{color:var(--muted);margin-bottom:1.5rem}.project-copy h3{letter-spacing:-.06em;overflow-wrap:break-word;text-wrap:balance;max-width:32rem;font-size:clamp(2.25rem,4.7vw,4.9rem);font-weight:700;line-height:.98}.project-transformation{max-width:32rem;margin-top:clamp(1.5rem,3.5vh,2.5rem);font-size:clamp(1rem,1.55vw,1.28rem);line-height:1.5}.tag-list{z-index:3;flex-wrap:wrap;gap:.65rem;margin-top:2rem;display:flex;position:relative}.tag-list li{border:1px solid var(--line);background:var(--paper);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.45rem .75rem;font-size:.65rem;font-weight:700}.contact{min-height:min(62rem,100svh);padding-top:clamp(8rem,18vh,14rem);padding-bottom:clamp(7rem,13vh,10rem)}.contact-content{z-index:3;position:relative}.contact h2{max-width:66rem;margin-top:clamp(2.5rem,6vh,5rem);font-size:clamp(4.15rem,10.2vw,10rem)}.about-copy{max-width:39rem;margin-top:clamp(3rem,7vh,6rem);margin-left:min(34vw,28rem);font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.55}.signature{color:var(--muted);margin-top:1.75rem;margin-left:min(34vw,28rem);font-size:.8rem}.contact-actions{grid-template-columns:min(34vw,28rem) 1fr;column-gap:clamp(2rem,4vw,4rem);margin-top:clamp(3.5rem,8vh,6.5rem);display:grid}.contact-cta{background:var(--ink);color:var(--paper);justify-self:start;padding:1.1rem 1.35rem}.contact-links{flex-wrap:wrap;align-items:center;gap:1.25rem 2.5rem;display:flex}.contact-links a{border-bottom:1px solid var(--ink);font-size:clamp(.86rem,1.3vw,1rem);font-weight:700}.contact-links span{margin-left:.25rem}.contact-orb{z-index:1;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;width:clamp(30rem,55vw,54rem);position:absolute;top:13%;right:-20rem}.contact-orb span{aspect-ratio:1;background:var(--ink);border-radius:50%;width:12%;position:absolute;top:10%;left:13%}.site-footer{z-index:3;border-top:1px solid var(--ink);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding-top:1.5rem;padding-bottom:1.5rem;font-size:.66rem;font-weight:700;display:flex;position:relative}.site-footer div{gap:.65rem;display:flex}}@layer components{.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.language-switcher{color:var(--muted);letter-spacing:.08em;align-items:center;gap:.32rem;font-size:.68rem;font-weight:700;display:flex}.language-switcher button{color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;background:0 0;border:0;border-bottom:1px solid #0000;padding:.2rem 0;transition:color .18s,border-color .18s}.language-switcher button:hover,.language-switcher button:focus-visible,.language-switcher button[aria-pressed=true]{border-bottom-color:var(--ink);color:var(--ink)}.menu-toggle{color:var(--ink);cursor:pointer;font:inherit;letter-spacing:.09em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:.55rem;padding:.25rem 0;font-size:.68rem;font-weight:700;position:relative}.menu-toggle-label--close{display:none}.menu-toggle-icon{width:1rem;height:.65rem;display:block;position:relative}.menu-toggle-icon i{background:currentColor;width:100%;height:1px;transition:top .24s,transform .24s;display:block;position:absolute;right:0}.menu-toggle-icon i:first-child{top:.12rem}.menu-toggle-icon i:last-child{top:.5rem}.menu-open .menu-toggle-label--open{display:none}.menu-open .menu-toggle-label--close{display:inline}.menu-open .menu-toggle-icon i:first-child,.menu-open .menu-toggle-icon i:last-child{top:.32rem}.menu-open .menu-toggle-icon i:first-child{transform:rotate(45deg)}.menu-open .menu-toggle-icon i:last-child{transform:rotate(-45deg)}.arrow-link{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.85rem;width:fit-content;font-size:.78rem;font-weight:700;display:inline-flex}.arrow-link svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-width:1.5px;width:1.15rem;transition:transform .22s}.arrow-link:hover svg,.arrow-link:focus-visible svg{transform:translate(.35rem)}.parallax{transform:translate3d(var(--parallax-x), var(--parallax-y), 0);will-change:transform}.motion-ready [data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s), transform 1s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s);transform:translateY(2.75rem)}.motion-ready [data-reveal].is-visible{opacity:1;transform:translate(0,0)}.space-backdrop{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.continuous-orbit{fill:none;width:100%;height:2850px;stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke;position:absolute;top:62vh;left:0;overflow:visible}.space-dot,.space-ring,.space-star{display:block;position:absolute}.space-dot{background:var(--ink);border-radius:50%}.space-dot--one{width:.42rem;height:.42rem;top:35rem;left:12%}.space-dot--two{width:1rem;height:1rem;top:112rem;right:13%}.space-dot--three{width:.32rem;height:.32rem;top:245rem;left:8%}.space-star{width:1.15rem;height:1.15rem}.space-star:before,.space-star:after{content:"";background:var(--ink);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.space-star:before{width:100%;height:1px}.space-star:after{width:1px;height:100%}.space-star--one{top:69rem;right:31%}.space-star--two{width:.75rem;height:.75rem;top:205rem;left:16%}.space-ring{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;width:15rem;top:148rem;left:-7rem}.project-diagram{aspect-ratio:8/5;border:1px solid var(--line);isolation:isolate;contain:paint;background:var(--paper);place-items:center;display:grid;position:relative;overflow:hidden}.project-diagram:before{z-index:0;aspect-ratio:1;border:1px solid var(--line);content:"";border-radius:50%;width:48%;transition:transform .7s cubic-bezier(.16,1,.3,1);position:absolute}.project:hover .project-diagram:before{transform:scale(1.12)translate(5%,-3%)}.project-diagram svg{z-index:1;width:85%;position:relative}.shape-fill{fill:var(--ink)}.shape-line,.shape-outline,.shape-orbit,.shape-cross{fill:none;stroke:var(--ink);stroke-width:2px;vector-effect:non-scaling-stroke}.shape-line--light{stroke:var(--paper);stroke-width:1.5px}.shape-orbit{stroke:var(--muted);stroke-width:1px}.shape-orbit--dash{stroke-dasharray:4 7}.shape-cross{stroke:var(--paper)}@keyframes scroll-line{0%{transform:translate(-110%)}50%,to{transform:translate(240%)}}@keyframes orb-breathe{0%{opacity:.72;transform:scale(.985)}to{opacity:1;transform:scale(1.02)}}@keyframes orbit-assembly{to{transform:rotate(1turn)}}@keyframes terminator-drift{0%{transform:rotate(-15deg)translate(-.8%)}to{transform:rotate(-9deg)translate(1.2%)}}}@layer responsive{@media (width<=900px){.hero-copy{width:min(42rem,80vw)}.hero-moon-wrap{opacity:.96;width:clamp(27rem,68vw,38rem);top:22%;right:-16rem}.section-heading{grid-template-columns:1fr;gap:1.5rem}.section-index{padding-bottom:0}.service-item{grid-template-columns:3rem minmax(10rem,.7fr) 1fr;gap:1rem}.project{gap:3rem}.project-copy h3{font-size:clamp(2rem,5.3vw,3.5rem)}.about-copy,.signature{margin-left:22vw}.contact-actions{grid-template-columns:22vw 1fr}}@media (width<=680px){:root{--page-gutter:1.25rem}html.menu-open,html.menu-open body{overflow:hidden}.site-header nav{display:none}.header-actions{gap:1rem}.language-switcher{gap:.22rem;font-size:.62rem}.menu-toggle{z-index:2;font-size:.62rem;display:inline-flex}.mobile-menu{z-index:15;visibility:hidden;background:var(--paper);opacity:0;pointer-events:none;transition:opacity .32s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1),visibility 0s linear .42s;display:block;position:fixed;inset:0;overflow:hidden;transform:translateY(-1.25rem)}.menu-open .mobile-menu{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.mobile-menu-content{z-index:2;flex-direction:column;min-height:100svh;padding-top:8.5rem;padding-bottom:2rem;display:flex;position:relative}.mobile-menu-content>.section-index{margin-bottom:clamp(2rem,7vh,4rem)}.mobile-menu nav{display:block}.mobile-menu nav a{border-top:1px solid var(--ink);grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding-block:clamp(1.4rem,4.5vh,2.4rem);display:grid}.mobile-menu nav a:last-child{border-bottom:1px solid var(--ink)}.mobile-menu nav a>span{color:var(--muted);letter-spacing:.1em;font-size:.62rem;font-weight:700}.mobile-menu nav strong{letter-spacing:-.065em;min-width:0;font-size:clamp(2.7rem,14vw,4.25rem);font-weight:800;line-height:.95}.mobile-menu nav i{font-size:1.2rem;font-style:normal;transition:transform .2s}.mobile-menu nav a:hover i,.mobile-menu nav a:focus-visible i{transform:translate(.2rem,.2rem)}.mobile-menu-email{border-bottom:1px solid var(--ink);width:fit-content;margin-top:auto;font-size:.76rem;font-weight:700}.mobile-menu-email span{margin-left:.2rem}.mobile-menu-orbit{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;width:23rem;position:absolute;bottom:-11rem;right:-10rem}.mobile-menu-orbit:before{border:1px solid var(--line);border-radius:inherit;content:"";position:absolute;inset:14%}.mobile-menu-orbit i{aspect-ratio:1;background:var(--ink);border-radius:50%;width:1.15rem;position:absolute;top:8%;left:21%}.hero{align-items:end;min-height:max(40rem,100svh);padding-bottom:8.5rem}.hero-copy{width:100%;padding-top:0}.eyebrow{width:10rem;margin-bottom:1.5rem}.hero h1,.hero-title-inverse{font-size:clamp(3.3rem,15vw,5.7rem)}:lang(es) .hero h1,:lang(es) .hero-title-inverse{letter-spacing:-.065em;font-size:clamp(2.5rem,11.5vw,4.6rem);line-height:.92}.hero-moon-wrap{opacity:.94;width:24rem;top:auto;bottom:14rem;right:-11rem}.hero-disciplines{letter-spacing:.08em;gap:.5rem;font-size:.67rem}.scroll-cue{bottom:1.4rem}.services,.work,.contact{min-height:auto;padding-top:7.5rem;padding-bottom:7.5rem}.section-heading,.work-heading{margin-bottom:4.5rem}.section-heading h2{font-size:clamp(3.5rem,17vw,5rem)}:lang(es) .section-heading h2{letter-spacing:-.065em;font-size:clamp(2.4rem,10.8vw,4rem);line-height:.92}.service-item{grid-template-columns:2rem 1fr;gap:.75rem;padding-block:1.75rem}.service-item p{grid-column:2;font-size:.9rem}.project-list{gap:8rem}.project,.project--reverse{grid-template-columns:1fr;gap:2.25rem}.project--reverse .project-visual,.project--reverse .project-copy{order:initial}.project--reverse .project-copy{padding-left:0}.project-diagram--clinical{min-height:13.5rem}.project-diagram--clinical svg{width:72%;max-height:12rem}.project-copy h3{font-size:clamp(2.25rem,11vw,3.5rem)}.project-transformation{margin-top:1.35rem;font-size:1rem}.contact h2{font-size:clamp(3.65rem,17vw,5.8rem)}:lang(es) .contact h2{letter-spacing:-.065em;font-size:clamp(2.4rem,10.8vw,4rem);line-height:.92}.about-copy,.signature{margin-left:0}.about-copy{margin-top:3.5rem;font-size:1.08rem}.contact-actions{grid-template-columns:1fr;gap:3rem}.contact-links{flex-direction:column;align-items:flex-start;gap:1rem}.contact-orb{width:32rem;top:10%;right:-21rem}.continuous-orbit{width:180%;margin-left:-40%}.space-ring{opacity:.65}.space-star--one,.space-star--two,.scroll-progress{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.parallax{will-change:auto;transform:none!important}[data-reveal]{opacity:1!important;transform:none!important}}}
