@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b131a;--surface:#121f27;--surface-raised:#1b2b34;--fg:#eef3ee;--muted:#a8bac1;--line:#344751;--accent:#b8d8be;--heading:"Barlow Condensed",sans-serif;--body:"IBM Plex Sans",sans-serif;--mono:"IBM Plex Mono",monospace;font-family:var(--body);font-synthesis:none;background:var(--bg);color:var(--fg);font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-color:#50616b var(--bg)}body{min-width:min(320px,100%);margin:0}body.dialog-open{overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p,h1,h2,h3,figure{margin:0}img{object-fit:cover;width:100%;height:100%;display:block}button:disabled{cursor:default}a,button{-webkit-user-drag:none}[hidden]{display:none!important}::selection{color:#0b131a;background:#b8d8be}.container{width:min(1440px,90%);margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}#app{flex-direction:column;min-height:100svh;display:flex}#main-content{outline:none;flex:1}.skip-link{clip-path:inset(50%);z-index:1000;background:var(--fg);color:var(--bg);padding:14px 20px;position:fixed;top:12px;left:20px;transform:translateY(-200%)}.skip-link:focus{clip-path:none;transform:none}.eyebrow{font:400 .75rem/1.6 var(--mono);text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.site-header{z-index:30;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;height:96px;display:flex;position:relative}.brand{align-items:center;gap:18px;display:flex}.brand strong{font:500 1.25rem/1.25 var(--heading);letter-spacing:1.2px;text-transform:uppercase;display:block}.brand small{color:var(--muted);margin-top:4px;font-size:.75rem;display:block}.site-navigation{align-items:center;gap:36px;display:flex}.site-navigation a{padding:14px 0;font-size:.875rem;line-height:1.5;position:relative}.site-navigation a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .2s;position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.site-navigation a[aria-current=page]:after,.site-navigation a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}.universe{isolation:isolate;--world:var(--accent);min-height:calc(100svh - 194px);padding-top:27px;position:relative;overflow:hidden}.ambient{z-index:-3;opacity:.21;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ambient img{filter:blur(12px)saturate(.7)brightness(.6);transform:scale(1.08)}.universe:before{content:"";z-index:-2;background:linear-gradient(0deg,var(--bg),transparent 45%,var(--bg)),linear-gradient(90deg,var(--bg),transparent 38%,transparent 62%,var(--bg));opacity:.82;position:absolute;inset:0}.universe-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.universe-count{font:400 .875rem/1.5 var(--mono);letter-spacing:2px;color:var(--world);white-space:nowrap}.universe-count span{color:var(--muted)}.portal-room{perspective:1600px;--portal-width:clamp(260px,28vw,440px);--spread:110%;touch-action:pan-y;max-width:1600px;height:clamp(390px,60svh,710px);margin:2px auto 0;position:relative}.floor-light{background:radial-gradient(ellipse,color-mix(in srgb,var(--world) 24%,transparent),transparent 68%);filter:blur(13px);pointer-events:none;border-radius:50%;height:110px;position:absolute;bottom:24px;left:8%;right:8%;transform:rotateX(69deg)}.portal-room:after{content:"";background:linear-gradient(90deg,transparent,var(--line),transparent);opacity:.55;pointer-events:none;height:1px;position:absolute;bottom:43px;left:5%;right:5%}.portal{left:calc(50% - var(--portal-width)/2);width:var(--portal-width);height:calc(100% - 87px);transform-style:preserve-3d;transform-origin:50% 90%;will-change:transform;isolation:isolate;transition:transform .7s cubic-bezier(.2,.72,.15,1),filter .55s,opacity .45s;position:absolute;top:28px}.portal-frame{border:3px solid var(--portal-color);background:linear-gradient(100deg,#263c44,#b0bdba55 49%,#263c44);border-radius:999px 999px 4px 4px;width:100%;height:100%;padding:6px;display:block;position:relative;overflow:hidden;box-shadow:11px 14px #02080c75,0 0 0 1px #081017,0 26px 50px #03090f90,inset 0 0 8px #ecf7f630}.portal-frame:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:6px;box-shadow:inset 0 0 40px #06121977}.portal img{border-radius:inherit;object-position:var(--crop) center;transform:scale(1.035) translateX(var(--parallax-x,0px));transition:transform .65s cubic-bezier(.2,.72,.15,1)}.portal-name{width:124%;font:500 1.25rem/1.12 var(--heading);letter-spacing:.9px;text-transform:uppercase;text-shadow:0 2px 6px #000;transition:opacity .3s;position:absolute;top:calc(100% + 16px);left:-12%}.portal[data-place=center]{z-index:5;filter:brightness();transform:translate(0)}.portal[data-place=left]{transform:translateX(calc(-1 * var(--spread))) translateY(6px) rotateY(23deg) scale(.7);z-index:3;filter:brightness(.64)saturate(.78)}.portal[data-place=right]{transform:translateX(var(--spread)) translateY(6px) rotateY(-23deg) scale(.7);z-index:3;filter:brightness(.64)saturate(.78)}.portal[data-place=far-left]{z-index:1;opacity:0;pointer-events:none;transform:translate(-190%)translateY(30px)rotateY(40deg)scale(.5)}.portal[data-place=far-right]{z-index:1;opacity:0;pointer-events:none;transform:translate(190%)translateY(30px)rotateY(-40deg)scale(.5)}.portal[data-place=center] .portal-name{opacity:0}.universe.entering .portal[data-place=center]{z-index:20;filter:brightness(1.2);transform:translateZ(950px)scale(1.25)}.universe.entering .portal:not([data-place=center]){opacity:0}.universe.entering .world-detail{opacity:0;transform:translateY(20px)}.world-detail{text-align:center;z-index:6;transition:opacity .3s,transform .3s;position:relative}.world-role{font:400 .75rem/1.6 var(--mono);letter-spacing:1px;color:var(--world);text-transform:uppercase}.world-title-row{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:35px;max-width:820px;margin:10px auto 12px;display:grid}.world-title{font:500 clamp(3rem,5.5vw,5rem)/.98 var(--heading);text-transform:uppercase;letter-spacing:.4px}.world-title.long{font-size:clamp(2.5rem,4vw,3.7rem)}.step{border:1px solid var(--line);place-items:center;width:48px;height:48px;font-size:1.5rem;transition:background .2s,border-color .2s;display:grid}.step:hover{background:var(--surface);border-color:var(--world)}.world-description{color:var(--muted);max-width:560px;margin:auto;font-size:1rem;line-height:1.7}.enter-link{border-bottom:1px solid var(--world);align-items:center;gap:48px;min-height:52px;margin-top:17px;padding:7px 2px;font-weight:500;display:inline-flex}.enter-mark{font-size:1.5rem;transition:transform .25s}.enter-link:hover .enter-mark{transform:translate(4px,-3px)}.universe-bottom{justify-content:space-between;align-items:center;gap:20px;min-height:40px;margin-top:24px;margin-bottom:22px;display:flex}.keyboard-hint{color:var(--muted);align-items:center;gap:6px;font-size:.75rem;display:flex}.keyboard-hint kbd{font:400 .875rem var(--mono);border:1px solid var(--line);text-align:center;width:25px;height:24px;padding-top:1px}.keyboard-hint kbd:last-of-type{margin-right:8px}.swipe-hint{display:none}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:18px;min-height:44px;font-size:.875rem;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.count-label{font:400 .75rem var(--mono);color:var(--muted)}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;margin-top:auto;padding:26px 0;display:flex}.footer-identity{color:var(--muted);flex-direction:column;gap:6px;font-size:.75rem;display:flex}.footer-identity span:first-child{color:var(--fg)}.footer-links{color:var(--muted);align-items:center;gap:25px;font-size:.75rem;display:flex}.footer-links a,.footer-links button{align-items:center;min-height:40px;display:inline-flex}.footer-links a:hover{color:var(--fg)}[data-motion-toggle]{gap:8px}[data-motion-toggle]:before{content:"";border:1px solid var(--muted);border-radius:1px;width:8px;height:8px}[data-motion-toggle][aria-pressed=true]:before{background:var(--accent);border-color:var(--accent)}.page-space{padding-top:56px;padding-bottom:52px}.page-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px;display:flex}.page-heading h1,.about h1,.contact h1,.not-found h1{font:500 clamp(3.5rem,7vw,7rem)/.98 var(--heading);text-transform:uppercase;letter-spacing:.3px;margin-top:17px}.page-heading>p{color:var(--muted);padding-bottom:7px;font-size:1rem;line-height:1.7}.filter-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:37px;display:flex}.filters{gap:30px;display:flex}.filters button{min-height:60px;font-size:.875rem;position:relative}.filters button[aria-pressed=true]{color:var(--accent)}.filters button[aria-pressed=true]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.result-count{font:400 .75rem var(--mono);color:var(--muted);white-space:nowrap}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px;display:grid}.project-card{min-width:0;display:block}.project-card-image{aspect-ratio:16/11;background:var(--surface);position:relative;overflow:hidden}.project-card-image img{filter:saturate(.8);transition:transform .55s,filter .55s}.project-card:hover img{filter:saturate();transform:scale(1.035)}.project-card-image.portrait{background:color-mix(in srgb,var(--card-color) 9%,var(--bg))}.project-card-image.portrait img{object-fit:contain}.project-status{color:var(--fg);background:#0b131aeb;padding:7px 10px;font-size:.75rem;position:absolute;bottom:12px;left:12px}.project-card-meta{font:400 .75rem/1.6 var(--mono);color:var(--muted);justify-content:space-between;gap:12px;margin-top:18px;display:flex}.project-card h2{font:500 2rem/1.08 var(--heading);margin:10px 0}.project-card>p{color:var(--muted);font-size:.875rem;line-height:1.6}.card-tags{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:15px;font-size:.75rem;display:flex}.card-tags span:not(:last-child):after{content:" /";color:var(--line);margin-left:10px}.project-card:hover h2{color:var(--card-color)}.project-path{justify-content:space-between;align-items:center;gap:30px;min-height:80px;padding-top:15px;padding-bottom:15px;display:flex}.back-link{align-items:center;gap:15px;min-height:44px;font-size:.875rem;display:inline-flex}.back-link:hover{color:var(--accent)}.project-path>span{font:400 .75rem var(--mono);color:var(--muted)}.project-path i{color:var(--line);margin:0 14px;font-style:normal}.project-hero{isolation:isolate;background:var(--surface);height:clamp(400px,58svh,680px);position:relative;overflow:hidden}.project-hero>img{z-index:-3;object-position:center 45%;position:absolute;inset:0}.project-hero-shade{z-index:-2;background:linear-gradient(#0000 10%,#07131bf2),linear-gradient(90deg,#07131b60,#0000 65%);position:absolute;inset:0}.project-hero.portrait{background:color-mix(in srgb,var(--world) 8%,var(--bg))}.project-hero.portrait>img{object-fit:contain;object-position:82% 50%;width:40%;padding:20px 0;left:55%}.project-hero.portrait .project-hero-shade{background:linear-gradient(90deg,var(--bg),#0b131af2 38%,transparent 72%)}.project-hero.portrait .project-hero-text{padding-right:43%}.project-hero-text{flex-direction:column;justify-content:end;height:100%;padding-bottom:42px;display:flex;position:relative}.project-hero-text .eyebrow{color:#cbdad9}.project-hero h1{font:500 clamp(3rem,6.5vw,6.7rem)/1 var(--heading);text-transform:uppercase;text-wrap:balance;max-width:1100px;margin:13px 0 18px}.project-summary{color:#dde8e5;max-width:670px;font-size:1rem;line-height:1.75}.project-gallery{padding-top:50px;padding-bottom:65px}.section-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;padding-top:26px;display:flex}.section-heading h2{font:500 2rem/1.1 var(--heading)}.section-heading>span{font:400 .75rem var(--mono);color:var(--muted)}.image-expand{background:var(--bg);border:1px solid var(--line);place-items:center;width:36px;height:36px;font-size:1.5rem;display:grid;position:absolute;bottom:12px;right:12px}.project-next{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:35px;padding-top:30px;padding-bottom:50px;display:flex}.about-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:32px;display:flex}.solid-link{background:var(--accent);min-height:50px;color:var(--bg);justify-content:center;align-items:center;padding:13px 22px;font-size:.875rem;font-weight:500;display:inline-flex}.solid-link:hover{background:#d1e7d5}.contact h1{max-width:1000px}.contact-intro{color:var(--muted);margin-top:30px;font-size:1.1rem;line-height:1.8}.not-found p:not(.eyebrow){color:var(--muted);margin:25px 0;line-height:1.8}.not-found .solid-link{margin-top:10px}.lightbox{border:1px solid var(--line);color:var(--fg);background:#0b131a;width:fit-content;max-width:min(1300px,94vw);max-height:94svh;padding:22px}.lightbox::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#03090ff2}.lightbox-top{min-height:44px;color:var(--muted);justify-content:space-between;align-items:center;gap:30px;margin-bottom:15px;font-size:.875rem;display:flex}.lightbox-top button{min-height:44px;color:var(--fg);align-items:center;gap:20px;display:flex}.lightbox-top button span{font-size:1.7rem}.lightbox figure>img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:68svh;margin:auto}.lightbox figcaption{max-width:850px;color:var(--muted);margin-top:15px;font-size:.875rem;line-height:1.6}.lightbox-controls{justify-content:space-between;align-items:center;gap:20px;margin-top:14px;font-size:.875rem;display:flex}.lightbox-controls button{min-height:44px}@media (width>=1800px){.portal-room{--portal-width:450px}.universe-heading{padding-top:5px}.world-title{font-size:5.5rem}}@media (width<=1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-room{--portal-width:30vw}.site-navigation{gap:25px}.project-hero.portrait .project-hero-text{padding-right:40%}}@media (width<=760px){.site-header{height:82px}.brand{gap:11px}.brand strong{font-size:1.1rem}.brand small{font-size:.75rem}.menu-toggle{z-index:32;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;display:flex}.menu-toggle span{background:var(--fg);width:25px;height:1px;transition:transform .2s;display:block}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.site-navigation{background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:24px 7%;display:none;position:absolute;top:81px;left:-5.56%;right:-5.56%;box-shadow:0 20px 40px #0007}.menu-open .site-navigation{display:flex}.site-navigation a{padding:14px 0;font-size:1.2rem}.site-navigation a:after{width:36px;right:auto}.universe{padding-top:22px}.universe-heading .eyebrow{max-width:240px}.portal-room{--portal-width:39vw;--spread:90%;height:clamp(340px,52svh,500px)}.portal{height:calc(100% - 67px);top:23px}.portal[data-place=left]{transform:translateX(calc(-1 * var(--spread))) translateY(5px) rotateY(20deg) scale(.62)}.portal[data-place=right]{transform:translateX(var(--spread)) translateY(5px) rotateY(-20deg) scale(.62)}.portal-frame{border-width:2px;padding:4px}.portal-name{letter-spacing:.3px;font-size:1.25rem}.floor-light{bottom:7px}.portal-room:after{bottom:24px}.world-title-row{grid-template-columns:44px minmax(0,1fr) 44px;gap:16px}.step{width:44px;height:44px}.world-title{font-size:3.5rem}.world-title.long{font-size:2.6rem}.world-role{letter-spacing:.5px;font-size:.75rem}.world-description{max-width:420px;font-size:.875rem}.universe-bottom{margin-top:25px}.keyboard-hint{display:none}.swipe-hint{color:var(--muted);font-size:.75rem;display:inline}.page-space{padding-top:32px;padding-bottom:36px}.page-heading{flex-direction:column;align-items:start;gap:25px;margin-bottom:30px}.page-heading h1{font-size:4.5rem}.page-heading>p{font-size:.875rem}.project-grid{gap:36px 20px}.project-card h2{font-size:1.8rem}.project-card-meta{flex-wrap:wrap;gap:3px 10px;font-size:.75rem}.project-path{min-height:64px;padding-top:10px;padding-bottom:10px}.project-hero{height:470px}.project-hero h1{font-size:3.8rem}.project-hero-text{padding-bottom:28px}.project-summary{max-width:90%;font-size:.875rem}.project-hero.portrait .project-hero-text{padding-right:20%}.project-hero.portrait>img{opacity:.6;width:52%;left:48%}.project-hero.portrait .project-hero-shade{background:linear-gradient(0deg,var(--bg),#0b131a50 80%)}.project-gallery{padding-top:25px;padding-bottom:40px}.project-next{flex-direction:column;align-items:start;gap:18px;padding-bottom:36px}.contact h1{font-size:4rem}.contact-intro{font-size:1rem}.site-footer{flex-direction:column;align-items:start;gap:22px}.footer-links{flex-wrap:wrap;gap:12px 25px}}@media (width<=480px){.brand strong{letter-spacing:.7px;font-size:1rem}.universe-heading .eyebrow{letter-spacing:.4px;max-width:210px;font-size:.75rem}.universe-count{letter-spacing:1px;font-size:.75rem}.portal-room{--portal-width:46vw;--spread:79%;height:365px}.portal{height:295px;top:25px}.portal[data-place=left]{transform:translateX(calc(-1 * var(--spread))) translateY(1px) rotateY(17deg) scale(.5)}.portal[data-place=right]{transform:translateX(var(--spread)) translateY(1px) rotateY(-17deg) scale(.5)}.portal-name{width:134%;font-size:1.6rem;top:calc(100% + 15px);left:-17%}.world-title-row{grid-template-columns:38px minmax(0,1fr) 38px;gap:8px;margin:12px 0}.step{width:38px;height:44px;font-size:1.3rem}.world-title{font-size:2.7rem}.world-title.long{font-size:2.2rem}.world-role{max-width:290px;margin:auto;font-size:.75rem;line-height:1.7}.world-description{max-width:300px;font-size:.875rem}.enter-link{gap:35px;margin-top:14px;font-size:.875rem}.universe-bottom{flex-direction:column-reverse;align-items:center;gap:14px;margin-bottom:25px}.text-link{font-size:.875rem}.page-heading h1{font-size:3.8rem}.filters{gap:19px}.filters button{min-height:55px;font-size:.875rem}.filter-row{flex-wrap:wrap;gap:8px}.result-count{font-size:.75rem}.project-grid{grid-template-columns:1fr;gap:37px}.project-card h2{font-size:2rem}.project-card-image{aspect-ratio:16/10}.project-path>span{display:none}.project-hero{height:440px}.project-hero h1{font-size:3rem}.project-summary{max-width:100%;font-size:.875rem}.project-hero-text .eyebrow{letter-spacing:.3px;font-size:.75rem}.project-hero.portrait .project-hero-text{padding-right:0}.project-hero.portrait>img{opacity:.5;width:70%;padding:0;left:30%}.contact h1{font-size:3.5rem}.lightbox{max-width:96vw;padding:14px}.lightbox figure>img{max-height:60svh}.lightbox figcaption{font-size:.75rem}.lightbox-controls{font-size:.875rem}.not-found h1{font-size:3.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.portal img{transform:none!important}}.journey-link{align-items:baseline;gap:.4em;max-width:100%;transition:color .24s;display:inline-flex}.journey-link-label{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;min-width:0;padding-bottom:3px;transition:background-size .3s cubic-bezier(.2,.7,.2,1)}.journey-link-arrow{opacity:.55;flex-shrink:0;font-size:.75em;transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .24s}.journey-link:is(:hover,:focus-visible){color:var(--accent)}.journey-link:is(:hover,:focus-visible) .journey-link-label{background-size:100% 1px}.journey-link:is(:hover,:focus-visible) .journey-link-arrow{opacity:1;transform:translate(3px,-3px)}.ambient{opacity:1;inset:-2% 0 14%;-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.ambient .ambient-scene{opacity:0;object-position:center 44%;filter:blur(3px)saturate(.76)brightness(.8);transition:opacity 1.1s;position:absolute;inset:0;transform:scale(1.035)}.ambient .ambient-scene[data-active=true]{opacity:.56}.universe:before{opacity:1;background:linear-gradient(0deg, var(--bg) 2%, #0b131ad9 18%, transparent 55%, #0b131a40 76%, var(--bg)), linear-gradient(90deg, #0b131a96, transparent 35%, transparent 65%, #0b131a96)}.universe-heading{z-index:1;position:relative}.portal-room{--light-x:32%;--light-y:18%;--portal-height:clamp(340px, 50svh, 620px);--portal-width:calc(var(--portal-height) * .48);--spread:148%;height:calc(var(--portal-height) + 86px)}.portal{height:var(--portal-height);top:24px}.floor-light{background:radial-gradient(ellipse, color-mix(in srgb, var(--world) 32%, transparent), transparent 68%);filter:blur(16px);height:145px}.portal{--rim:clamp(5px, .6vw, 9px)}.portal-frame{padding:var(--rim);border:1px solid color-mix(in srgb, var(--portal-color) 45%, #9db0b494);background:linear-gradient(125deg, color-mix(in srgb, var(--portal-color) 38%, #c1cecc), color-mix(in srgb, var(--portal-color) 42%, #6b8087) 25%, color-mix(in srgb, var(--portal-color) 20%, #273c47) 57%, color-mix(in srgb, var(--portal-color) 46%, #8fa3a8) 82%, color-mix(in srgb, var(--portal-color) 24%, #40535e));border-radius:999px 999px 5px 5px;overflow:visible;box-shadow:3px 4px #172934,8px 12px 22px #02070b75,0 25px 45px #02070b80,inset 1px 1px 1px #f2ffff42}.portal-frame:before,.portal-frame:after{content:none}.portal-glass{border-radius:inherit;isolation:isolate;background:#111f29;width:100%;height:100%;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 1px #14273280}.portal-glass img{filter:saturate(.9)contrast(1.06)}.portal-glass:before,.portal-glass:after{content:"";border-radius:inherit;pointer-events:none;z-index:2;position:absolute;inset:0}.portal-glass:before{border:1px solid #e9ffff38;box-shadow:inset 2px 1px 3px #d4ffff30,inset -2px -1px 4px #090f2680,inset 0 0 20px #08162160}.portal-glass:after{background:linear-gradient(108deg, #daeef533, transparent 19%, transparent 80%, #b1dae840), linear-gradient(0deg, color-mix(in srgb, var(--portal-color) 24%, transparent), transparent 22%);mix-blend-mode:screen}.mirror-sheen{z-index:1;pointer-events:none;background:radial-gradient(ellipse at var(--light-x) var(--light-y), #f1fbff45, transparent 48%), linear-gradient(122deg, transparent 16%, #e9f7ff0a 23%, #e9f7ff29 24%, #e9f7ff0a 37%, transparent 38%, transparent 61%, #dcfaff17 62%, #dcfaff06 67%, transparent 68%);background-size:125% 125%;background-position:var(--light-x) var(--light-y);mix-blend-mode:screen;opacity:.72;transition:opacity .6s;position:absolute;inset:-1px}.portal[data-place=center]:hover .mirror-sheen{opacity:.4}.portal.is-fractured .mirror-sheen{opacity:.22}.portal[data-place=center]:hover img{transform:scale(1.035)}.glass-fracture{z-index:4;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .45s;position:absolute;inset:0}.glass-fracture polygon{fill:#e0f4ff;fill-opacity:0;stroke:#e0f4ff;stroke-opacity:.65;stroke-width:.65px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .5s cubic-bezier(.2,.65,.2,1),fill-opacity .5s}.is-fractured .glass-fracture{opacity:1}.is-fractured .glass-fracture polygon{stroke-dashoffset:0;fill-opacity:var(--facet);transition-delay:var(--crack-delay)}html{scrollbar-gutter:stable}.portal-in-flight{overflow:hidden}.portal-passage{z-index:100;pointer-events:auto;isolation:isolate;position:fixed;inset:0;overflow:hidden}.passage-shade{background:var(--bg);opacity:0;will-change:opacity;position:absolute;inset:0}.passage-door{transform-origin:50%;will-change:transform, opacity;position:absolute}.passage-door .portal-frame{padding:var(--rim)}.passage-door .portal-glass img{border-radius:inherit}.passage-door .mirror-sheen{opacity:.3}.passage-door .glass-fracture polygon{stroke:color-mix(in srgb,var(--passage-color) 55%,#fff);stroke-dashoffset:0;fill-opacity:.015}.card-passage-window{will-change:clip-path, opacity;position:absolute;inset:0}.card-passage-window img{object-fit:fill;will-change:transform;max-width:none;position:absolute}.card-passage-aura{background:radial-gradient(ellipse, color-mix(in srgb, var(--passage-color) 25%, transparent), transparent 60%);opacity:0;pointer-events:none;background-repeat:no-repeat;background-size:80% 80%;position:absolute;inset:-10%}.passage-rim{box-shadow:inset 0 0 14px var(--passage-color),0 0 18px var(--passage-color),0 0 48px color-mix(in srgb,var(--passage-color) 45%,transparent);opacity:0;will-change:opacity;border:1px solid #edfcff;border-radius:999px 999px 5px 5px;position:absolute;inset:1px}.passage-membrane{z-index:3;background:radial-gradient(ellipse,transparent 25%,color-mix(in srgb,var(--passage-color) 8%,transparent) 38%,#e1f5ff59 40%,color-mix(in srgb,var(--passage-color) 32%,transparent) 43%,transparent 52%);opacity:0;will-change:transform, opacity;border-radius:50%;position:absolute;inset:-15%}.passage-veil{background:radial-gradient(ellipse at 50% 48%,color-mix(in srgb,var(--passage-color) 42%,#d4e5e8),color-mix(in srgb,var(--passage-color) 53%,#395260) 34%,color-mix(in srgb,var(--passage-color) 28%,#172b39) 70%,#0c1924);opacity:0;will-change:opacity;position:absolute;inset:0}.passage-vignette{opacity:0;will-change:opacity;background:radial-gradient(at 50% 48%,#0000 25%,#04101860 65%,#020a1399);position:absolute;inset:0}.passage-current{pointer-events:none;position:absolute;inset:0;overflow:hidden}.passage-spark{background:linear-gradient(90deg,transparent,var(--passage-color),#effbff);transform-origin:0;opacity:0;will-change:transform, opacity;height:1px;position:absolute}.passage-shards{pointer-events:none;will-change:transform;position:absolute;inset:0}.passage-shard{opacity:0;will-change:transform, opacity;backface-visibility:hidden;position:absolute}.portal-reflection{background-image:linear-gradient(#c9d9e21f, #c9d9e21f), var(--portal-image);filter:blur(3px);opacity:.28;pointer-events:none;background-position:bottom;background-size:cover;width:96%;height:68px;position:absolute;top:calc(100% + 12px);left:3%;transform:scaleY(-1)skew(-7deg);-webkit-mask-image:linear-gradient(#0000,#0009);mask-image:linear-gradient(#0000,#0009)}.portal[data-place=left],.portal[data-place=right]{filter:brightness(.77)saturate(.82)}.portal:hover{filter:brightness()}.portal-name{z-index:6;text-shadow:0 2px 10px #020911,0 0 16px #020911}.world-detail{text-shadow:0 2px 20px #0b131a}@media (width<=760px){.portal-room{--portal-width:clamp(136px, 39vw, 215px);--portal-height:calc(var(--portal-width) * 2.08);--spread:96%;height:calc(var(--portal-height) + 80px)}.portal{--rim:5px}.portal-reflection{opacity:.19;height:46px}.ambient{inset:0 -20% 15%}.ambient .ambient-scene[data-active=true]{opacity:.48}}@media (width<=480px){.portal{--rim:4px}}@media (prefers-reduced-motion:reduce){.ambient .ambient-scene,.mirror-sheen{transition:none}}html[data-reduced-motion=true] .ambient .ambient-scene{transition:opacity .7s}html[data-reduced-motion=true] .mirror-sheen{transition:opacity .3s}.case-study{--case-rule:color-mix(in srgb, var(--world) 18%, var(--bg))}.case-study .project-hero{height:clamp(500px,66svh,760px)}.case-study .project-hero-text{padding-bottom:48px}.case-study .project-hero:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(0deg, var(--bg), color-mix(in srgb, var(--bg) 86%, transparent) 30%, transparent);height:clamp(110px,22%,170px);position:absolute;inset:auto 0 -1px}.case-study .project-hero h1{max-width:1120px;font-size:clamp(3.6rem,6.8vw,7.1rem)}.case-study .project-summary{text-wrap:pretty;max-width:720px}.case-visit-link{border:1px solid var(--world);min-height:44px;color:var(--world);background:#0b131ade;align-self:flex-start;align-items:center;gap:30px;margin-top:20px;padding:10px 18px;font-size:.8125rem;transition:color .2s,background .2s;display:inline-flex}.case-visit-link:hover{background:var(--world);color:var(--bg)}.case-visit-link>span[aria-hidden]{transition:transform .25s}.case-visit-link:is(:hover,:focus-visible)>span[aria-hidden]{transform:translate(2px,-2px)}.case-module-overview{margin-top:44px}.case-module-overview>h3,.case-resources>h3{font:500 1.6rem/1.2 var(--heading);margin-bottom:22px}.case-modules{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;display:grid}.case-modules article{border-top:1px solid var(--case-rule);padding-block:22px}.case-modules h4{font:500 1.4rem/1.2 var(--heading);color:var(--world);margin:0 0 10px}.case-modules p{color:var(--muted);font-size:.875rem;line-height:1.8}.case-resources{border-top:1px solid var(--case-rule);margin-top:40px;padding-top:26px}.case-resources>div{flex-wrap:wrap;gap:8px 28px;display:flex}.case-resource-link{min-height:44px;color:var(--world);text-underline-offset:6px;align-items:center;gap:12px;font-size:.8125rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .2s;display:inline-flex}.case-resource-link:is(:hover,:focus-visible){text-decoration-color:currentColor}@media (width<=480px){.case-modules{grid-template-columns:1fr}}.case-facts{border-bottom:1px solid var(--case-rule);grid-template-columns:1.2fr 1fr .8fr 1.2fr;gap:30px;margin-block:0;padding-block:30px 34px;display:grid}.case-facts dt,.case-sidebar-title,.case-small-label{font:400 .6875rem/1.6 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.case-facts dd{margin:10px 0 0;font-size:.875rem;line-height:1.65}.case-tech-tags{flex-wrap:wrap;gap:3px 14px;display:flex}.case-tech-tags span{white-space:nowrap}.case-status-dot{background:var(--world);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:10px;display:inline-block}.case-layout{grid-template-columns:220px minmax(0,1fr);gap:clamp(50px,7vw,120px);padding-top:48px;display:grid}.case-sidebar-inner{padding-bottom:30px;position:sticky;top:35px}.case-sidebar-title{margin-bottom:20px}.case-nav{border-left:1px solid var(--case-rule);flex-direction:column;display:flex}.case-nav a{min-height:46px;color:var(--muted);border-left:2px solid #0000;align-items:center;gap:17px;margin-left:-1px;padding:8px 16px;font-size:.8125rem;transition:color .2s,border-color .2s;display:flex}.case-nav a span{font:400 .625rem var(--mono);color:#70828d}.case-nav a:hover,.case-nav a[aria-current]{color:var(--world)}.case-nav a[aria-current]{border-left-color:var(--world)}.case-nav a[aria-current] span{color:var(--world)}.case-sidebar-note{border-top:1px solid var(--case-rule);margin-top:42px;padding:22px 0 0 18px}.case-sidebar-note span{color:var(--muted);font-size:.6875rem}.case-sidebar-note p{font:500 1.6rem/1.25 var(--heading);text-wrap:balance;max-width:180px;margin-top:10px}.case-shortcut{min-height:44px;color:var(--world);align-items:center;gap:14px;margin:18px 0 0 18px;font-size:.75rem;display:inline-flex}.case-content{min-width:0;max-width:1000px}.case-section{border-bottom:1px solid var(--case-rule);outline:none;margin-bottom:40px;padding-bottom:48px;scroll-margin-top:35px}.case-section:last-child{border-bottom:0;margin-bottom:0}.case-label{color:var(--world);font:400 .6875rem/1.6 var(--mono);text-transform:uppercase;letter-spacing:1.3px;align-items:center;gap:16px;margin-bottom:25px;display:flex}.case-label span{color:var(--muted)}.case-section h2{font:500 clamp(2.4rem, 3.8vw, 3.9rem)/1.08 var(--heading);text-wrap:balance;max-width:860px}.case-overview h2{font-size:clamp(2.8rem,4.5vw,4.7rem)}.case-introduction{max-width:780px;margin-top:30px}.case-introduction p,.case-section-lead{color:var(--muted);text-wrap:pretty;font-size:1rem;line-height:1.9}.case-introduction p+p{margin-top:18px}.case-section-lead{max-width:800px;margin-top:24px}.case-loop{margin-top:40px}.case-loop>h3{font:400 .6875rem/1.6 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin-bottom:16px}.case-loop ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.case-loop li{border-top:1px solid var(--case-rule);padding-top:14px}.case-loop-number{color:var(--world);font:400 .6875rem var(--mono);justify-content:space-between;display:flex}.case-loop-number>span{color:var(--muted)}.case-loop h4{font:500 1.4rem/1.2 var(--heading);margin:19px 0 8px}.case-loop p{color:var(--muted);font-size:.8125rem;line-height:1.75}.case-contributions{margin-top:35px}.case-contributions article{border-top:1px solid var(--case-rule);grid-template-columns:40px minmax(0,1fr);gap:20px;padding:28px 0;display:grid}.case-contributions article:last-child{padding-bottom:0}.case-row-number{font:400 .75rem/2 var(--mono);color:var(--world);padding-top:4px}.case-contributions h3{font:500 1.8rem/1.2 var(--heading);margin-bottom:13px}.case-contributions p{color:var(--muted);max-width:740px;font-size:.9375rem;line-height:1.85}.case-skill-tags{flex-wrap:wrap;gap:8px 17px;margin:18px 0 0;padding:0;list-style:none;display:flex}.case-skill-tags li{font:400 .625rem/1.6 var(--mono);color:var(--world)}.case-skill-tags li:not(:last-child):after{content:"/";color:var(--case-rule);margin-left:17px}.case-system{background:color-mix(in srgb, var(--world) 4%, var(--bg));border:1px solid var(--case-rule);margin-top:35px}.case-system-heading{align-items:center;gap:13px;padding:22px 26px;display:flex}.case-system-symbol{color:var(--world);font-size:1.3rem}.case-system-heading h3{font-size:.875rem;font-weight:500}.case-system-hint{font:400 .625rem var(--mono);color:var(--muted);margin-left:auto}.case-system-tabs{border-top:1px solid var(--case-rule);border-bottom:1px solid var(--case-rule);display:flex}.case-system-tabs button{min-height:59px;color:var(--muted);border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:10px;margin-bottom:-1px;padding:10px;font-size:.8125rem;transition:color .2s,background .2s;display:flex}.case-system-tabs button+button{border-left:1px solid var(--case-rule)}.case-system-tabs button span{font:400 .625rem var(--mono);opacity:.7}.case-system-tabs button:hover{color:var(--fg);background:#ffffff05}.case-system-tabs button[aria-selected=true]{color:var(--world);border-bottom-color:var(--world);background:color-mix(in srgb, var(--world) 6%, transparent)}.case-system-tabs button:focus-visible{outline-offset:-5px}.case-system-panel{min-height:210px;padding:30px}.case-system-panel:focus-visible{outline:2px solid var(--world);outline-offset:-5px}.case-system-panel h4{font:500 1.6rem/1.2 var(--heading);margin:0 0 13px}.case-system-panel p{color:var(--muted);max-width:730px;font-size:.875rem;line-height:1.85}.case-system-panel code{font:400 .6875rem/1.8 var(--mono);color:var(--world);border-left:2px solid var(--case-rule);overflow-wrap:anywhere;margin-top:20px;padding-left:12px;display:block}.case-system-note{color:var(--muted);padding:0 30px 22px;font-size:.6875rem;line-height:1.7}.case-architecture{margin-top:36px}.case-architecture h3,.case-decisions>h3,.case-credits>h3{font:500 1.6rem/1.2 var(--heading);margin-bottom:22px}.case-architecture dl{grid-template-columns:1fr 1fr;gap:0 30px;margin:0;display:grid}.case-architecture dl>div{border-top:1px solid var(--case-rule);padding:18px 0}.case-architecture dt{font:400 .6875rem/1.6 var(--mono);color:var(--world);overflow-wrap:anywhere}.case-architecture dd{color:var(--muted);margin:8px 0 0;font-size:.8125rem;line-height:1.7}.case-architecture>p{color:var(--muted);margin-top:6px;font-size:.8125rem;line-height:1.8}.case-decisions{margin-top:44px}.case-decisions article{border-top:1px solid var(--case-rule);padding-block:25px}.case-decisions article:last-child{padding-bottom:0}.case-decisions h4{font:500 1.65rem/1.2 var(--heading);margin:0 0 22px}.case-decision-columns{grid-template-columns:1fr 1.35fr;gap:35px;display:grid}.case-decision-columns>div:last-child{border-left:1px solid var(--case-rule);padding-left:26px}.case-decision-columns>div:last-child .case-small-label{color:var(--world)}.case-decision-columns p{color:var(--muted);margin-top:10px;font-size:.875rem;line-height:1.8}.case-gallery-heading{justify-content:space-between;align-items:center;gap:25px;display:flex}.case-gallery-heading>span{font:400 .625rem/1.9 var(--mono);color:var(--muted);text-align:right;flex-shrink:0}.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 26px;margin-top:35px;display:grid}.case-gallery .case-figure:first-child{grid-column:1/-1}.case-figure{min-width:0}.case-figure button{text-align:left;width:100%;display:block}.case-image{aspect-ratio:16/10;border:1px solid var(--case-rule);background:#060d12;display:block;position:relative;overflow:hidden}.case-figure:first-child .case-image{aspect-ratio:16/9}.case-image img{object-fit:contain;transition:transform .4s}.case-figure button:hover img{transform:scale(1.025)}.case-expand{width:34px;height:34px;color:var(--fg);background:#0b131aee;border:1px solid #cadbd440;place-items:center;transition:background .2s;display:grid;position:absolute;bottom:14px;right:14px}.case-figure button:hover .case-expand{background:var(--world);color:var(--bg)}.case-figure figcaption{grid-template-columns:24px minmax(0,1fr);gap:12px;padding-top:16px;display:grid}.case-image-number{font:400 .625rem/1.9 var(--mono);color:var(--world)}.case-figure figcaption h3{margin-bottom:7px;font-size:.8125rem;font-weight:500}.case-figure figcaption p{color:var(--muted);max-width:730px;font-size:.75rem;line-height:1.75}.portrait-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.portrait-gallery .case-figure:first-child{grid-column:auto}.portrait-gallery .case-image,.portrait-gallery .case-figure:first-child .case-image{aspect-ratio:9/17;background:color-mix(in srgb, var(--world) 6%, var(--bg));padding:12px}.portrait-gallery.single-gallery{grid-template-columns:minmax(0,480px)}.portrait-gallery.single-gallery .case-image{aspect-ratio:3/4}.sapify-gallery .case-image,.sapify-gallery .case-figure:first-child .case-image{aspect-ratio:864/1922;padding:0}.sapify-gallery .case-figure button:hover img{transform:none}.case-outcome-columns{grid-template-columns:1fr 1fr;gap:40px;margin-top:32px;display:grid}.case-outcome-columns>div{border-top:1px solid var(--case-rule);padding-top:20px}.case-outcome-columns h3{font:500 1.5rem/1.2 var(--heading)}.case-outcome-columns>div:first-child h3{color:var(--world)}.case-list{color:var(--muted);margin:18px 0 0;padding-left:17px}.case-list li{margin-bottom:8px;padding-left:4px;font-size:.875rem;line-height:1.85}.case-list li::marker{color:var(--world);font-size:.7em}.case-takeaway{border-left:2px solid var(--world);background:color-mix(in srgb, var(--world) 4%, transparent);margin-top:38px;padding:25px 30px}.case-takeaway .case-small-label{color:var(--world)}.case-takeaway p{font:500 clamp(1.6rem, 2.4vw, 2.2rem)/1.35 var(--heading);text-wrap:pretty;max-width:800px;margin-top:13px}.case-credits{margin-top:42px}.case-credits dl{margin:0}.case-credits dl>div{border-top:1px solid var(--case-rule);grid-template-columns:1fr 1.65fr;gap:25px;padding:14px 0;font-size:.8125rem;line-height:1.8;display:grid}.case-credits dd{color:var(--muted);margin:0}.case-contact{border-top:1px solid var(--case-rule);justify-content:space-between;align-items:center;gap:20px;margin-top:38px;padding-top:26px;display:flex}.case-contact p{color:var(--muted);font-size:.875rem}.case-contact .text-link{color:var(--world)}@media (width<=1100px){.case-layout{grid-template-columns:170px minmax(0,1fr);gap:45px}.case-facts{grid-template-columns:1fr 1fr;gap:25px}.case-loop ol{gap:16px}.case-system-tabs button{flex-direction:column;gap:5px}.case-system-panel{min-height:240px}.case-nav a{gap:12px;padding-left:12px}}@media (width<=800px){.case-layout{padding-top:0;display:block}.case-sidebar{z-index:12;background:var(--bg);border-bottom:1px solid var(--case-rule);margin-bottom:28px;position:sticky;top:0}.case-sidebar-inner{padding:0;position:static}.case-sidebar-title,.case-sidebar-note,.case-shortcut{display:none}.case-nav{scrollbar-width:thin;scrollbar-color:var(--case-rule) transparent;border-left:0;flex-direction:row;padding:4px 2px;overflow-x:auto}.case-nav a{border-bottom:2px solid #0000;border-left:0;flex-shrink:0;gap:9px;min-height:52px;margin:0;padding:10px 13px;font-size:.75rem}.case-nav a[aria-current]{border-bottom-color:var(--world)}.case-nav a:focus-visible{outline-offset:-2px}.case-section{margin-bottom:28px;padding-bottom:34px;scroll-margin-top:85px}.case-content{max-width:none}.case-system-tabs button{flex-direction:row}.case-system-panel{min-height:200px}}@media (width<=540px){.case-study .project-hero{height:530px}.case-study .project-hero-text{padding-bottom:30px}.case-study .project-hero h1{font-size:clamp(2.8rem,11vw,3.8rem)}.case-study .project-hero.portrait{height:510px}.case-facts{gap:22px;padding-block:25px}.case-facts dt{font-size:.625rem}.case-facts dd{font-size:.8125rem}.case-tech-tags{gap:4px 10px}.case-tech-tags span{white-space:normal}.case-label{margin-bottom:19px;font-size:.625rem}.case-section h2{font-size:2.5rem}.case-overview h2{font-size:2.9rem}.case-introduction{margin-top:24px}.case-introduction p,.case-section-lead{font-size:.9375rem;line-height:1.85}.case-loop ol{grid-template-columns:1fr 1fr;gap:23px}.case-loop h4{margin-top:12px}.case-contributions article{grid-template-columns:25px minmax(0,1fr);gap:12px}.case-contributions h3{font-size:1.6rem}.case-contributions p{font-size:.875rem}.case-skill-tags{gap:7px 12px}.case-skill-tags li:not(:last-child):after{margin-left:12px}.case-system-heading{gap:10px;padding:20px 17px}.case-system-heading h3{font-size:.8125rem}.case-system-hint{display:none}.case-system-tabs button{flex-direction:column;gap:7px;padding:11px 5px;font-size:.6875rem}.case-system-panel{min-height:260px;padding:25px 20px}.case-system-panel h4{font-size:1.45rem}.case-system-panel p{font-size:.8125rem}.case-system-note{padding-inline:20px}.case-architecture dl{grid-template-columns:1fr}.case-decision-columns{grid-template-columns:1fr;gap:20px}.case-decision-columns>div:last-child{padding-left:17px}.case-gallery-heading{flex-direction:column;align-items:start;gap:13px}.case-gallery-heading>span{text-align:left}.case-gallery-heading>span br{display:block}.case-gallery{grid-template-columns:1fr;gap:30px}.case-gallery .case-figure:first-child{grid-column:auto}.case-figure:first-child .case-image,.case-image{aspect-ratio:16/10}.portrait-gallery{grid-template-columns:1fr}.portrait-gallery .case-image,.portrait-gallery .case-figure:first-child .case-image{aspect-ratio:auto;height:450px}.portrait-gallery.single-gallery .case-image{height:410px}.sapify-gallery .case-image,.sapify-gallery .case-figure:first-child .case-image{aspect-ratio:864/1922;width:min(100%,280px);height:auto;margin-inline:auto;padding:0}.case-outcome-columns{grid-template-columns:1fr;gap:24px}.case-takeaway{padding:22px}.case-credits dl>div{grid-template-columns:1fr;gap:5px}.case-contact{flex-direction:column;align-items:start;gap:12px}}body{isolation:isolate;--atmosphere-accent:var(--accent)}.site-atmosphere{z-index:-1;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.site-atmosphere[data-local=true]{position:absolute}.site-atmosphere canvas{width:100%;height:100%;display:block}.orbital-mark{pointer-events:none;color:var(--atmosphere-accent,var(--accent));opacity:.65;width:350px;height:350px;position:absolute}.orbit-ring{fill:none;stroke:currentColor;stroke-width:.65px;opacity:.28}.orbit-ring-dashed{stroke-dasharray:2 9;opacity:.36}.orbit-track{transform-origin:180px 180px;animation:75s linear infinite orbit-turn}.orbit-track-reverse{animation-duration:105s;animation-direction:reverse}.orbit-point{fill:currentColor}.orbit-star{animation:6s ease-in-out infinite orbit-glimmer}.orbit-star-warm{color:#e6bd81;animation-delay:-3s}.orbit-cross{fill:none;stroke:currentColor;stroke-width:1px}.contact{isolation:isolate;position:relative}.contact>.orbital-mark{z-index:-1;width:380px;height:380px;top:12px;right:-15px}.project-index .page-heading{isolation:isolate;position:relative}.page-heading .orbital-mark{z-index:-1;opacity:.4;width:230px;height:230px;top:-70px;right:29%}.project-card-image:after,.case-image:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(110deg,#0000 40%,#e9fff012 48%,#e9fff02a 50%,#0000 58%);transition:transform 1s cubic-bezier(.2,.65,.2,1),opacity .4s;position:absolute;inset:-25% -55%;transform:translate(-75%)}.project-card:is(:hover,:focus-visible) .project-card-image:after,.case-figure button:is(:hover,:focus-visible) .case-image:after{opacity:1;transform:translate(40%)}.case-system-panel:not([hidden]){animation:.4s cubic-bezier(.2,.65,.2,1) system-arrival}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes orbit-glimmer{0%,to{opacity:.35}50%{opacity:.95}}@keyframes system-arrival{0%{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}html[data-effects-paused=true] :is(.orbit-track,.orbit-star,.case-system-panel){animation-play-state:paused}html[data-reduced-motion=true] :is(.orbit-track,.orbit-star){animation:none}@media (prefers-reduced-motion:reduce){.orbit-track,.orbit-star,.case-system-panel{animation:none}.project-card-image:after,.case-image:after{display:none}}@media (width<=760px){.contact>.orbital-mark{opacity:.35;width:225px;height:225px;top:10px;right:-15px}.page-heading .orbital-mark{opacity:.3;width:160px;height:160px;top:-20px;right:0}}.portal-scenery{inset-block:0;z-index:0;pointer-events:none;width:min(96vw,2100px);height:100%;color:var(--world);position:absolute;left:50%;transform:translate(-50%)}.scene-haze{background:radial-gradient(ellipse at 50% 80%, color-mix(in srgb, var(--world) 9%, transparent), transparent 67%);position:absolute;inset:-8% 9% -5%}.scene-vault{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.scene-orbit{fill:none;stroke:url(#scene-orbit-ink);stroke-width:.8px}.scene-orbit-fine{fill:none;stroke:currentColor;stroke-width:.65px;stroke-dasharray:2 10;opacity:.22}.scene-orbit-ticks{fill:none;stroke:currentColor;stroke-width:1px;opacity:.25}.scene-beacon{fill:currentColor;animation:7s ease-in-out infinite scene-glimmer}.scene-beacon path{stroke:currentColor;stroke-width:.6px;opacity:.5}.scene-beacon-second{animation-delay:-3.5s}.scene-fragments{transform:translate3d(calc(var(--parallax-x,0px) * -.7), 0, 0);position:absolute;inset:0}.scene-fragment{left:var(--x);top:var(--y);width:var(--size);transform:translate(-50%, -50%) rotate(var(--angle));position:absolute}.fragment-drift{width:100%;height:auto;animation:fragment-drift var(--drift) ease-in-out var(--delay) infinite;display:block;overflow:visible}.fragment-world{opacity:.32}.fragment-face{fill:url(#scene-glass-ink);stroke:#d9f0ed;stroke-opacity:.36;stroke-width:.8px}.fragment-facet{fill:none;stroke:#def3eb;stroke-opacity:.18;stroke-width:.7px}.scene-floor{width:90%;height:155px;position:absolute;bottom:-4px;left:5%;overflow:visible}.floor-orbit{fill:none;stroke:currentColor;stroke-width:.8px;opacity:.2}.floor-orbit-outer{opacity:.3}.floor-spokes{fill:none;stroke:currentColor;stroke-width:1px;opacity:.28}.floor-light-trace{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-dasharray:80 1500;opacity:.45;animation:26s linear infinite floor-trace}.portal-room:after{opacity:.15}@keyframes fragment-drift{0%,to{transform:translateY(5px)rotate(-3deg)}50%{transform:translate(5px,-12px)rotate(4deg)}}@keyframes scene-glimmer{0%,to{opacity:.3}50%{opacity:.75}}@keyframes floor-trace{0%{stroke-dashoffset:200px}to{stroke-dashoffset:-1380px}}html[data-effects-paused=true] :is(.fragment-drift,.scene-beacon,.floor-light-trace){animation-play-state:paused}html[data-reduced-motion=true] :is(.fragment-drift,.scene-beacon,.floor-light-trace){animation:none}@media (width>=1800px) and (height>=1200px){.portal-room{--portal-height:min(50svh, 780px)}}@media (prefers-reduced-motion:reduce){.fragment-drift,.scene-beacon,.floor-light-trace{animation:none}}@media (width<=1100px){.scene-fragment{width:calc(var(--size) * .75)}.scene-vault{opacity:.65}}@media (width<=760px){.portal-scenery{width:100%}.scene-vault{opacity:.5;width:136%;height:86%;inset:2% -18% 0}.scene-fragment{width:calc(var(--size) * .55)}.scene-fragment:nth-child(2n),.scene-fragment:nth-child(5){display:none}.scene-fragment:first-child{top:16%;left:13%}.scene-fragment:nth-child(7){top:12%;left:85%}.scene-floor{opacity:.7;width:130%;height:100px;bottom:7px;left:-15%}}.project-mood{pointer-events:none;position:absolute;inset:0;overflow:hidden}.project-mood i{left:var(--x);top:var(--y);background:var(--world);width:3px;height:3px;box-shadow:0 0 12px var(--world);opacity:.5;animation:project-drift var(--duration) var(--delay) ease-in-out infinite alternate;border-radius:50%;position:absolute}.mood-fireflies i{width:4px;height:4px;animation-name:project-firefly}.mood-embers i{background:#ffb975;border-radius:1px;animation-name:project-ember}.mood-orbits i{width:20px;height:1px;transform:rotate(-25deg)}.mood-sparks i{border-radius:0;width:2px;height:9px}@keyframes project-drift{0%{opacity:.15;transform:translateY(10px)}to{opacity:.65;transform:translate(18px,-30px)}}@keyframes project-firefly{0%{opacity:.1;transform:translate(0)}50%{opacity:.7}to{opacity:.2;transform:translate(-25px,-18px)}}@keyframes project-ember{0%{opacity:.1;transform:translateY(25px)}to{opacity:.7;transform:translate(24px,-65px)}}.figure-media{position:relative}.figure-media:has(.image-notes) .case-image{aspect-ratio:auto}.figure-media:has(.image-notes) .case-image img{width:100%;height:auto;display:block;transform:none}.image-notes{pointer-events:none;position:absolute;inset:0}.image-note summary{left:var(--note-x);top:var(--note-y);border:1px solid var(--world);width:36px;min-width:36px;height:36px;color:var(--world);font:500 .8rem var(--mono);cursor:pointer;pointer-events:auto;background:#0b172bee;border-radius:50%;place-items:center;list-style:none;transition:background .2s,box-shadow .2s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #080e1844}.image-note summary::-webkit-details-marker{display:none}.image-note summary:hover,.image-note[open] summary{background:var(--world);color:#081018;box-shadow:0 0 0 6px #ffffff20}.image-note>div{border:1px solid var(--world);z-index:5;pointer-events:auto;background:#101f29;padding:20px;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 16px 40px #0008}.image-note h4{margin-bottom:8px;font-size:.95rem}.image-note p{color:var(--muted);font-size:.85rem;line-height:1.7}.case-video{border-top:1px solid var(--case-rule);margin-top:48px;padding-top:32px}.case-video-screen{aspect-ratio:16/9;border:1px solid var(--case-rule);background:#09121a;position:relative;overflow:hidden}.case-video-screen>img{object-fit:cover;opacity:.3;filter:saturate(.55);width:100%;height:100%}.case-video video{object-fit:contain;width:100%;height:100%}.video-coming{font:400 .75rem var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--world);background:linear-gradient(#0000,#060e1777);place-items:center;display:grid;position:absolute;inset:0}.case-video h3{margin:20px 0 10px;font-size:1.25rem}.case-video p{color:var(--muted);font-size:.9rem;line-height:1.7}.related-worlds{isolation:isolate;border-top:1px solid var(--line);text-align:center;padding-top:65px;padding-bottom:65px;position:relative}.related-worlds:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse,color-mix(in srgb,var(--world) 7%,transparent),transparent 65%);position:absolute;inset:12% 0 20%}.related-worlds h2{font:500 3.5rem var(--heading);margin:12px 0 45px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,7vw,110px);max-width:760px;margin:0 auto 38px;display:grid}.related-link{border-radius:8px;flex-direction:column;align-items:center;gap:26px;min-width:0;padding:8px 0;display:flex}.related-mirror{aspect-ratio:1/2.08;border:1px solid color-mix(in srgb,var(--world) 45%,#9db0b494);background:linear-gradient(125deg,color-mix(in srgb,var(--world) 38%,#c1cecc),color-mix(in srgb,var(--world) 42%,#6b8087) 25%,color-mix(in srgb,var(--world) 20%,#273c47) 57%,color-mix(in srgb,var(--world) 46%,#8fa3a8) 82%,color-mix(in srgb,var(--world) 24%,#40535e));border-radius:999px 999px 5px 5px;flex-shrink:0;width:clamp(150px,16vw,215px);padding:6px;transition:transform .4s,box-shadow .4s;display:block;position:relative;overflow:hidden;box-shadow:3px 4px #172934,8px 12px 22px #02070b75,0 25px 45px #02070b80,inset 1px 1px 1px #f2ffff42}.related-mirror:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,#e5faff24,#0000 32% 65%,#e5faff12);position:absolute;inset:6px;box-shadow:inset 0 0 20px #05111c60}.related-mirror img{object-fit:cover;object-position:var(--crop,50%) center;border-radius:inherit;opacity:.85;width:100%;height:100%;transition:opacity .4s,transform .6s}.related-copy{flex-direction:column;align-items:center;gap:12px;max-width:310px;display:flex}.related-copy strong{font:500 2rem var(--heading)}.related-copy>span:not(.eyebrow){color:var(--muted);font-size:.85rem;line-height:1.7}.related-link:hover .related-mirror,.related-link:focus-visible .related-mirror{transform:translateY(-6px);box-shadow:0 15px 40px #0008}.related-link:hover img{opacity:1;transform:scale(1.04)}.related-copy .related-arrow{font-size:1.4rem}.related-worlds{padding-top:44px;padding-bottom:44px}.related-worlds h2{margin-bottom:24px;font-size:2.75rem}.related-progress{font:400 .72rem/1.6 var(--mono);color:var(--muted);margin:-12px 0 24px}.related-grid{isolation:isolate;gap:80px;max-width:680px;margin-bottom:24px;position:relative}.related-grid-single{grid-template-columns:minmax(0,300px);justify-content:center}.related-link{z-index:1;gap:18px;position:relative}.related-mirror{width:150px;padding:5px}.related-mirror.portal-frame{height:auto}.related-mirror .portal-glass{border-radius:inherit;height:100%;display:block;overflow:hidden}.related-link .glass-fracture{z-index:4}.related-mirror:after{inset:5px}.related-copy{gap:8px;max-width:280px}.related-copy strong{font-size:1.75rem}.related-grid>.portal-scenery{z-index:0;width:min(88vw,1050px);height:330px}.related-grid .scene-floor{height:90px;bottom:-12px}.related-grid .scene-fragment{width:calc(var(--size) * .65)}.related-grid .scene-haze{inset:0 0 -8%}.lightbox{width:min(1400px,96vw);max-width:96vw;max-height:96svh}.lightbox figure>img{max-height:58svh}.lightbox figcaption strong,.lightbox figcaption span{display:block}.lightbox figcaption strong{color:var(--fg);margin-bottom:4px}.lightbox-thumbnails{gap:8px;padding:14px 2px 4px;display:flex;overflow-x:auto}.lightbox-thumbnails button{border:1px solid var(--line);opacity:.55;flex-shrink:0;width:76px;height:48px;padding:3px}.lightbox-thumbnails button[aria-pressed=true]{opacity:1;border-color:var(--accent)}.lightbox-thumbnails img{object-fit:cover;width:100%;height:100%}@media (width<=760px){.related-grid,.related-link{gap:22px}.related-mirror{width:clamp(110px,30vw,170px);padding:4px}.related-mirror:after{inset:4px}.related-worlds{padding-top:40px}.related-copy .eyebrow{letter-spacing:1px;font-size:.6rem}.related-copy>span:not(.eyebrow){font-size:.75rem}.lightbox figure>img{max-height:48svh}.image-note summary{width:32px;min-width:32px;height:32px}.image-note>div{padding:15px}.related-worlds{padding-block:32px}.related-worlds h2{margin-bottom:20px;font-size:2.5rem}.related-mirror{width:clamp(94px,26vw,130px)}.related-link{gap:16px}.related-copy strong{font-size:1.4rem}.related-grid>.portal-scenery{width:100%;height:calc(2.08*clamp(94px,26vw,130px) + 20px)}.related-grid .scene-vault{opacity:.65;width:100%;height:100%;inset:0}.related-grid .scene-floor{width:100%;height:65px;bottom:-10px;left:0}.related-grid .scene-fragment{width:calc(var(--size) * .4)}}html[data-effects-paused=true] .project-mood i{animation-play-state:paused}html[data-reduced-motion=true] .project-mood i{animation:none}html[data-reduced-motion=true] .related-mirror{transition:transform .3s}@media (prefers-reduced-motion:reduce){.project-mood i{animation:none}.related-mirror,.related-mirror img{transition:none;transform:none}}@media (hover:hover) and (pointer:fine){html,body{cursor:url(/cursors/glass.svg) 4 3,default}a,button,summary,[role=button],.image-note summary{cursor:url(/cursors/glass-link.svg) 4 3,pointer}p,figcaption,input,textarea,[contenteditable=true]{cursor:text}button:disabled,[aria-disabled=true]{cursor:not-allowed}video{cursor:auto}}@media (forced-colors:active){html,body{cursor:auto}a,button,summary,[role=button],.image-note summary{cursor:pointer}}.home-identity{text-wrap:balance;max-width:650px;font-weight:400}.home-profile{border-top:1px solid var(--line);padding-block:52px}.home-profile>h2{font:500 clamp(2rem,4vw,3.5rem)/1.1 var(--heading);margin:18px 0 25px}.home-profile>p:not(.eyebrow){max-width:850px;color:var(--muted);line-height:1.9}.home-expertise{grid-template-columns:1fr 1fr;gap:70px;margin-block:40px;display:grid}.home-expertise h3{font:500 1.65rem var(--heading);margin-bottom:15px}.home-expertise p{color:var(--muted);font-size:.9rem;line-height:1.8}.home-expertise ul{margin:24px 0 0;padding:0;list-style:none}.home-expertise li{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:13px 0;display:flex}.home-expertise li a{font-size:.95rem}.home-expertise li a:hover{color:var(--accent)}.home-expertise li span{font:400 .65rem/1.7 var(--mono);color:var(--muted);text-align:right}@media (width<=760px){.home-profile{padding-block:42px}.home-profile>h2{text-wrap:balance}.home-profile-break{display:none}.home-expertise{grid-template-columns:1fr;gap:30px}.home-identity{max-width:270px}.home-expertise li{gap:12px}.home-profile>p:not(.eyebrow){font-size:.9rem}}.project-breadcrumb{flex-wrap:wrap;align-items:center;gap:12px;font-size:.8rem;line-height:1.8;display:flex}.project-breadcrumb a{padding-block:10px}.project-breadcrumb a:hover{color:var(--world)}.project-breadcrumb>span{color:var(--muted)}.universe .portal-room,.universe .portal-room *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.universe .portal-room img{-webkit-user-drag:none}.universe .portal-room.is-dragging .portal{filter:brightness();transition:none}.universe .portal-room.is-dragging .portal[data-place=left],.universe .portal-room.is-dragging .portal[data-place=right]{filter:brightness(.77)saturate(.82)}.universe .portal-room.is-dragging .portal-name{opacity:0;transition:none}.universe .portal-room.is-dragging,.universe .portal-room.is-dragging *{cursor:grabbing}html[data-reduced-motion=true] .universe .portal{filter:none;transition:transform .7s cubic-bezier(.2,.72,.15,1),opacity .45s}html[data-reduced-motion=true] .universe .portal-frame:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:none;opacity:.23;background:#06111b;transition:opacity .45s;position:absolute;inset:0}html[data-reduced-motion=true] .universe .portal[data-place=center] .portal-frame:after,html[data-reduced-motion=true] .universe .portal-room.is-dragging .portal-frame:after{opacity:0}html[data-reduced-motion=true] .universe .portal-room.is-dragging .portal{filter:none;transition:none}.site-footer .footer-identity{margin-right:auto}.universe .portal-room{--mirror-duration:.7s;--mirror-easing:cubic-bezier(.2,.72,.15,1)}.universe .portal-room .portal.portal-cached{filter:none;transform-style:flat;backface-visibility:hidden;transition:transform var(--mirror-duration) var(--mirror-easing), opacity .45s ease;will-change:transform, opacity}.portal-visual{mix-blend-mode:plus-lighter;will-change:opacity;transition:opacity .55s;display:block;position:absolute;inset:0}.portal-visual-bright{opacity:1}.portal-visual-muted{opacity:0;filter:brightness(.77)saturate(.82);pointer-events:none}.portal:is([data-place=left],[data-place=right]) .portal-visual-bright{opacity:0}.portal:is([data-place=left],[data-place=right]) .portal-visual-muted,.portal:hover .portal-visual-bright{opacity:1}.portal:hover .portal-visual-muted{opacity:0}.universe .portal-room.is-dragging .portal.portal-cached,.portal-room.is-dragging .portal-visual{transition:none}html[data-reduced-motion=true] .portal-visual-muted{display:none}html[data-reduced-motion=true] .portal .portal-visual-bright{opacity:1}@media (width<=760px){.universe .portal-room{--mirror-duration:.9s;--mirror-easing:cubic-bezier(.32,.05,.24,1);--mirror-side-y:5px;--mirror-side-angle:20deg;--mirror-side-scale:.62}.portal-visual-muted{display:none}.universe .portal.portal-cached .portal-visual-bright{opacity:1;mix-blend-mode:normal}.universe .portal{filter:none;transform-style:flat;backface-visibility:hidden;will-change:transform, opacity;transition:transform .7s cubic-bezier(.2,.72,.15,1),opacity .45s}.universe .portal[data-place=center]{transform:translate(0,0)rotateY(0)scale(1)}.universe .portal[data-place=left]{transform:translate3d(calc(-1 * var(--spread)), var(--mirror-side-y), 0) rotateY(var(--mirror-side-angle)) scale(var(--mirror-side-scale))}.universe .portal[data-place=right]{transform:translate3d(var(--spread), var(--mirror-side-y), 0) rotateY(calc(-1 * var(--mirror-side-angle))) scale(var(--mirror-side-scale))}.universe .portal[data-place=far-left]{transform:translate(-190%,30px)rotateY(40deg)scale(.5)}.universe .portal[data-place=far-right]{transform:translate(190%,30px)rotateY(-40deg)scale(.5)}.universe .portal-frame:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:none;opacity:.23;background:#06111b;transition:opacity .55s;position:absolute;inset:0}.universe .portal[data-place=center] .portal-frame:after,.universe .portal-room.is-dragging .portal-frame:after{opacity:0}.universe .portal-room.is-dragging .portal[data-place]{filter:none;transition:none}.universe .ambient-scene{will-change:opacity}.site-footer{flex-flow:wrap;align-items:center}.site-footer .footer-links{flex-basis:100%}}@media (width<=480px){.universe .portal-room{--mirror-side-y:1px;--mirror-side-angle:17deg;--mirror-side-scale:.5}}.contact-message{border-top:1px solid var(--line);isolation:isolate;grid-template-columns:.85fr 1.3fr;gap:clamp(32px,5vw,72px);margin-top:30px;padding:28px 0 12px;display:grid;position:relative}.contact-message:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 12% 30%,#9fd5dd0c,#0000 50%);position:absolute;inset:5% 0}.contact h1{text-wrap:balance;max-width:1120px;font-size:clamp(3rem,5.2vw,5.25rem)}.contact-intro{max-width:750px;margin-top:18px}.message-heading{align-items:center;gap:22px;display:flex}.message-intro h2{font:500 clamp(2.2rem, 3vw, 3rem)/1.04 var(--heading);text-transform:uppercase;max-width:380px;margin:16px 0}.message-intro>p:not(.eyebrow){color:var(--muted);max-width:340px;line-height:1.8}.message-mirror{background:linear-gradient(125deg,#dfefec16,#09131d00 60%,#b9dbd91a);border:1px solid #bfdcda5a;border-radius:50px 50px 4px 4px;flex-shrink:0;place-items:center;width:42px;height:56px;margin:0 8px 0 10px;display:grid;position:relative;box-shadow:4px 5px #6d939216,0 15px 50px #b8d8be0b}.message-mirror:after{content:"";pointer-events:none;border:1px solid #b8d8be27;border-radius:50%;width:85px;height:29px;position:absolute;transform:rotate(-25deg)}.message-mirror i{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#c8e4df;width:5px;height:10px;animation:5s ease-in-out infinite alternate message-star;position:absolute}.message-mirror i:first-of-type{top:0;right:-14px}.message-mirror i:nth-of-type(2){animation-delay:-2s;bottom:10px;left:-15px}.message-mirror i:nth-of-type(3){width:3px;height:6px;animation-delay:-4s;top:30px;right:-23px}.message-email{overflow-wrap:anywhere;border-bottom:1px solid #b8d8be66;align-items:center;gap:14px;padding:18px 0 10px;font-size:.92rem;display:inline-flex}.message-email:hover{color:var(--accent)}.message-email-note{color:var(--muted);margin-top:10px;font-size:.75rem;display:block}.message-form{background:linear-gradient(145deg,#152631b8,#0b141cdf);border:1px solid #aacccc38;border-radius:6px 48px 6px 6px;align-self:start;padding:0;position:relative;box-shadow:inset 1px 1px #e0f4f20c,8px 10px #01060b30}.message-form:before{content:"";background:linear-gradient(#0000,#d1e6dbb3,#0000);width:1px;height:80px;position:absolute;top:24px;left:-1px}.message-field-row{grid-template-columns:1fr 1fr;gap:22px;display:grid}.message-field{min-width:0;margin-bottom:20px}.message-field label{color:var(--fg);margin-bottom:10px;font-size:.875rem;display:block}.message-field input,.message-field textarea{width:100%;min-height:48px;font:inherit;color:var(--fg);background:#07121c88;border:1px solid #aacccc30;border-radius:3px;padding:13px 14px;font-size:1rem;transition:border-color .2s,box-shadow .2s;display:block}.message-field textarea{resize:vertical;min-height:145px;line-height:1.6}.message-field input::placeholder,.message-field textarea::placeholder{color:#92a3b2;opacity:.8}.message-field input:focus,.message-field textarea:focus{border-color:#b8d8beaa;outline:2px solid #0000;box-shadow:0 0 0 3px #b8d8be12}.message-privacy{color:var(--muted);margin:-2px 0 24px;font-size:.75rem;line-height:1.7}.message-submit-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.message-submit{min-height:50px;color:var(--fg);font:inherit;background:linear-gradient(120deg,#b8d8be20,#8eafc90c);border:1px solid #b8d8be77;border-radius:3px;justify-content:space-between;align-items:center;gap:28px;padding:14px 20px;transition:background .25s,border-color .25s;display:inline-flex}.message-submit svg{width:23px;height:23px;transition:transform .3s}.message-submit:hover{border-color:var(--accent);background:#b8d8be25}.message-submit:hover svg{transform:translate(2px,-2px)}.message-submit:disabled{opacity:.6;cursor:wait}.message-status{margin:0;font-size:.875rem;line-height:1.7}.message-status:not(:empty){background:#a3c5d710;border-left:2px solid #a3c5d7;margin-top:22px;padding:16px}.message-status[data-state=success]{color:#d1ebd6;border-color:#b8d8be}.message-status[data-state=error]{color:#efc5b0;border-color:#d9ab92}.message-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.message-form [hidden]{display:none}.message-title-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.message-title-row h2{flex:1;min-width:0}.contact-socials{flex-shrink:0;gap:10px;display:flex}.contact-social-link{background:#14252b;border:1px solid #a8c5d444;border-radius:4px 16px 4px 4px;place-items:center;width:54px;height:54px;transition:border-color .2s,background-color .2s,transform .2s;display:inline-grid;position:relative}.contact-social-link img{object-fit:contain;width:32px;height:32px;transition:transform .2s}.social-tooltip{opacity:0;pointer-events:none;background:var(--surface);color:var(--fg);border:1px solid #a8c5d444;border-radius:3px;padding:5px 8px;font-size:.75rem;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,3px)}.contact-social-link:is(:hover,:focus-visible){color:var(--accent);background:#1c3034;border-color:#b8d8be99;transform:translateY(-2px)}.contact-social-link:is(:hover,:focus-visible) img{transform:scale(1.07)}.contact-social-link:is(:hover,:focus-visible) .social-tooltip{opacity:1;transform:translate(-50%)}.contact-social-link:active{transform:translateY(1px)}@keyframes message-star{0%{opacity:.3;transform:translateY(2px)}to{opacity:.9;transform:translateY(-3px)}}html[data-reduced-motion=true] .message-mirror i{animation:none}@media (prefers-reduced-motion:reduce){.message-mirror i{animation:none}}@media (width>=1100px){body[data-page=contact] #main-content{align-items:center;display:flex}.contact.page-space{padding-block:32px}.contact h1{font-size:clamp(3rem,4vw,4.5rem)}.contact-intro{margin-top:14px}.contact-message{margin-top:24px;padding-top:24px;padding-bottom:0}.message-field{margin-bottom:18px}.message-field textarea{height:clamp(136px,16vh,172px);min-height:136px}.message-privacy{margin-bottom:20px}body[data-page=contact] .site-footer{padding-block:18px}}@media (width<=900px){.contact-message{gap:34px}.message-field-row{grid-template-columns:1fr;gap:0}}@media (width<=700px){.contact-message{grid-template-columns:1fr;gap:28px;margin-top:24px;padding-top:24px}.message-intro h2{max-width:none;font-size:2.3rem}.message-mirror{width:34px;height:46px}.message-mirror:after{width:70px;height:24px}.message-title-row{gap:12px}.contact-socials{gap:8px}.contact-social-link{width:44px;height:44px}.contact-social-link img{width:26px;height:26px}.message-form{border-radius:5px 32px 5px 5px;padding:0}.message-submit{width:100%}}.project-index .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.project-index .project-card{border:1px solid color-mix(in srgb,var(--card-color) 24%,#273842);background:linear-gradient(135deg,color-mix(in srgb,var(--card-color) 5%,#101c24),#0b141b 75%);border-radius:5px 44px 5px 5px;flex-direction:column;padding:7px;transition:border-color .35s,box-shadow .35s,transform .35s;display:flex;position:relative;box-shadow:0 16px 44px #02070b26}.project-index .project-card-image{aspect-ratio:16/9;isolation:isolate;border-radius:2px 36px 2px 2px}.project-index .project-card-image:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#06121b66,#0000 36% 64%,#06121bc9);position:absolute;inset:0}.project-index .project-card-image>img{filter:saturate(.94);object-position:center 45%;transition:transform .75s cubic-bezier(.2,.65,.2,1),filter .5s}.project-index .project-card-image.portrait>img:not(.card-backdrop){filter:drop-shadow(0 10px 18px #0007);padding:15px 0;position:absolute;inset:0}.project-index .project-card-image>.card-backdrop{object-fit:cover;filter:blur(24px)brightness(.5)saturate(.75);opacity:.65;width:110%;height:110%;position:absolute;inset:-5%}.card-category{z-index:3;font:400 .68rem/1.4 var(--mono);letter-spacing:.7px;text-transform:uppercase;color:#e6efed;background:#0b141bbd;border:1px solid #d2e5ec3b;border-radius:3px;padding:7px 10px;position:absolute;top:19px;left:19px}.card-number{z-index:3;font:500 1.7rem/1 var(--heading);color:#f0f5efb3;position:absolute;top:18px;right:24px}.project-index .project-status{z-index:3;color:#e1ebe8;text-shadow:0 2px 8px #000;background:0 0;align-items:center;gap:8px;padding:0;font-size:.75rem;display:flex;bottom:16px;left:19px}.project-status i{background:var(--card-color);width:5px;height:5px;box-shadow:0 0 12px var(--card-color);border-radius:50%}.card-body{flex-direction:column;flex:1;padding:23px 24px 0;display:flex}.card-title-row{justify-content:space-between;align-items:start;gap:20px;display:flex}.project-index .project-card h2{font:500 clamp(1.9rem,2.5vw,2.65rem)/1.08 var(--heading);text-wrap:balance;max-width:90%;margin:0;transition:color .3s}.card-arrow{border:1px solid color-mix(in srgb,var(--card-color) 38%,#2e4149);height:39px;color:var(--card-color);border-radius:50%;flex:0 0 39px;place-items:center;font-size:1.4rem;transition:transform .35s,background .35s;display:grid}.card-summary{color:#d6e0df;margin-top:15px;font-size:.95rem;line-height:1.65}.card-role{color:var(--muted);margin-top:8px;font-size:.8rem;line-height:1.65}.project-index .card-tags{font:400 .68rem/1.5 var(--mono);gap:7px;margin:19px 0 24px}.project-index .card-tags span{background:#a9c4d207;border:1px solid #a9c4d21c;border-radius:3px;padding:5px 8px}.project-index .card-tags span:after{content:none}.card-bottom{border-top:1px solid color-mix(in srgb,var(--card-color) 13%,#203039);font:400 .68rem/1.5 var(--mono);color:var(--muted);justify-content:space-between;align-items:center;gap:15px;margin-top:auto;padding:17px 0 18px;display:flex}.card-discover{color:var(--card-color);flex-shrink:0}.card-discover>span{margin-left:8px;transition:transform .35s;display:inline-block}.project-index .project-card:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--card-color) 68%,#526570);box-shadow:0 18px 50px #0005,0 0 26px color-mix(in srgb,var(--card-color) 7%,transparent)}.project-index .project-card:is(:hover,:focus-visible) .card-arrow{background:color-mix(in srgb,var(--card-color) 12%,transparent);transform:rotate(8deg)}.project-index .project-card:is(:hover,:focus-visible) .card-discover>span{transform:translate(4px)}.project-index .project-card:is(:hover,:focus-visible) h2{color:var(--card-color)}.project-index .project-card:is(:hover,:focus-visible) .project-card-image>img:not(.card-backdrop){transform:scale(1.035)}html[data-reduced-motion=true] .project-index .project-card{transition:border-color .25s,transform .3s}html[data-reduced-motion=true] .project-index .project-card-image>img{transition:transform .45s}@media (hover:hover) and (prefers-reduced-motion:no-preference){.project-index .project-card:hover{transform:translateY(-4px)}}@media (width<=760px){.project-index .project-grid{gap:22px}.card-body{padding:20px 17px 0}.card-bottom{flex-wrap:wrap;gap:8px}.card-category{top:14px;left:14px}.card-number{top:15px;right:20px}}@media (width<=600px){.project-index .project-grid{grid-template-columns:1fr}.project-index .project-card h2{font-size:2.25rem}.card-body{padding:23px 20px 0}.project-index .project-card-image{aspect-ratio:16/10}}.world-title-slot{align-items:center;min-width:0;display:grid}.world-title-slot>*{grid-area:1/1}.world-title-sizer{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.world-title{text-wrap:balance}.world-description{min-height:1.7em}.universe .ambient{transform:translate3d(var(--scene-x,0px), var(--scene-y,0px), 0);inset:0;-webkit-mask-image:linear-gradient(#0000,#000 12% 38%,#0009 54%,#0000 78%);mask-image:linear-gradient(#0000,#000 12% 38%,#0009 54%,#0000 78%)}.universe .ambient-scene{width:106%;height:106%;inset:-3%}.scene-haze{-webkit-mask-image:linear-gradient(#0000,#000 22% 58%,#0000);mask-image:linear-gradient(#0000,#000 22% 58%,#0000)}.world-detail{overflow-anchor:none}.enter-link,.solid-link,.message-submit{border:1px solid color-mix(in srgb, var(--world,var(--accent)) 65%, var(--line));background:color-mix(in srgb, var(--world,var(--accent)) 13%, var(--bg));color:var(--fg);border-radius:4px 16px 4px 4px;padding:13px 21px;font-weight:500;transition:transform .24s,background-color .24s,border-color .24s}.enter-link:is(:hover,:focus-visible),.solid-link:is(:hover,:focus-visible),.message-submit:is(:hover,:focus-visible){background:color-mix(in srgb, var(--world,var(--accent)) 23%, var(--bg));border-color:var(--world,var(--accent));transform:translateY(-2px)}.enter-link:active,.solid-link:active,.message-submit:active{transform:translateY(1px)}.message-submit:disabled{transform:none}.step{background:#172730;border-color:#8ba6b166;border-radius:4px 12px 4px 4px;transition:transform .2s,background-color .2s,border-color .2s}.step:is(:hover,:focus-visible){border-color:var(--world);background:color-mix(in srgb, var(--world) 18%, #111e27);transform:translateY(-2px)}.step:active{transform:translateY(1px)}.filters{flex-wrap:wrap;gap:8px;padding-block:11px}.filters button{background:#14232c;border:1px solid #aac4ce32;border-radius:4px;min-height:42px;padding:9px 16px;transition:background-color .2s,border-color .2s,transform .2s}.filters button[aria-pressed=true]{color:#d4ead8;background:#b8d8be1c;border-color:#b8d8be99}.filters button[aria-pressed=true]:after{content:none}.filters button:is(:hover,:focus-visible){border-color:#b8d8be88;transform:translateY(-1px)}.case-system-tabs button{border-radius:3px;transition:background-color .2s,border-color .2s,color .2s}.card-discover{border:1px solid color-mix(in srgb, var(--card-color) 30%, transparent);background:color-mix(in srgb, var(--card-color) 6%, transparent);border-radius:3px;align-items:center;padding:8px 11px;display:inline-flex}.footer-links [data-motion-toggle]{background:#12212a;border:1px solid #a8bac144;border-radius:4px;padding:8px 11px;transition:border-color .2s,color .2s}.footer-links [data-motion-toggle]:hover{border-color:var(--accent);color:var(--fg)}.contact-message .message-form{box-shadow:none;isolation:isolate;background:0 0;border-color:#0000}.contact-message:before{background:radial-gradient(at 30% 45%,#9fd5dd08,#0000 65%);inset:-40px 0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}.contact-message .message-form:before{z-index:-1;pointer-events:none;background:radial-gradient(at 50% 48%,#23414b55,#152a3530 42%,#0000 70%);width:auto;height:auto;inset:-48px -36px}.contact-message .message-field input,.contact-message .message-field textarea{background:#0a1721b8;border-color:#a8c5d44a}.contact-message .message-field input:focus,.contact-message .message-field textarea:focus{border-color:#b8d8beaa}#main-content :is(p,li,dd) strong{color:color-mix(in srgb, var(--copy-accent,var(--world,var(--accent))) 72%, #eef3ee);font-weight:600;transition:color .35s}.case-introduction strong,.case-section-lead strong,.case-contributions p strong,.about-opening strong{letter-spacing:.005em}.case-facts>div:first-child dd{color:var(--world);font-weight:500}.case-facts dt,.case-label,.case-small-label{color:color-mix(in srgb, var(--world) 40%, var(--muted))}.project-index .project-card{--copy-accent:var(--card-color)}.project-index .card-role{color:color-mix(in srgb, var(--card-color) 65%, var(--muted));font-weight:500}.home-profile>.eyebrow,.about .eyebrow,.contact>.eyebrow{color:var(--accent)}html[data-reduced-motion=true] .ambient .ambient-scene{filter:saturate(.76)brightness(.8)}html[data-reduced-motion=true] .project-index .project-card-image>.card-backdrop{filter:brightness(.4)saturate(.75);opacity:.35}html[data-reduced-motion=true] .project-index .project-card:is(:hover,:focus-visible){box-shadow:0 16px 44px #02070b26}html[data-reduced-motion=true] .project-index .project-card-image>img:not(.card-backdrop){filter:none}html[data-reduced-motion=true] .lightbox::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}html[data-reduced-motion=true] .universe .portal{transform-style:flat}@media (width<=760px){.world-description{min-height:3.4em}.filters button{padding-inline:13px}}@media (width<=700px){.contact-message .message-form:before{inset:-36px 0}}@media (width<=480px){.world-role{justify-content:center;align-items:center;min-height:3.4em;display:flex}.world-title.long{font-size:clamp(1.8rem,8.5vw,2.2rem)}.world-title-row{margin-block:8px 12px}.filter-row{align-items:center}.filters{gap:6px}.filters button{padding-inline:11px;font-size:.8rem}}.about-hero{grid-template-columns:.9fr 1.1fr;align-items:center;gap:64px;padding-block:8px 42px;display:grid}.about-identity{z-index:1;position:relative}.about-identity h1{margin:22px 0;font-size:clamp(4.5rem,6.4vw,7.5rem);line-height:.96}.about-profession{gap:4px;font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.5;display:grid}.about-profession span:first-child{color:#91c7f3}.about-profession span:last-child{color:#efbe7d}.about-opening{max-width:470px;color:var(--muted);margin-top:22px;line-height:1.8}.about-collage{isolation:isolate;perspective:1200px;height:clamp(390px,32vw,510px);position:relative}.about-collage-depth{position:absolute;inset:0}.about-window{--window-angle:0deg;--window-depth:1;--window-lift:0px;isolation:isolate;perspective:1200px;transform:rotate(var(--window-angle));display:block;position:absolute}.about-window-surface{isolation:isolate;border-radius:inherit;pointer-events:none;border:1px solid color-mix(in srgb, var(--window-color) 45%, #344751);transform:translate3d(calc(var(--collage-x,0) * var(--window-depth) * 4px), calc(var(--collage-y,0) * var(--window-depth) * 3px), 0) rotateX(calc(var(--collage-y,0) * -1deg)) rotateY(calc(var(--collage-x,0) * 1.5deg));translate:0 var(--window-lift);background:#0e1a23;transition:translate .3s cubic-bezier(.2,.65,.2,1),border-color .12s,box-shadow .2s;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 16px 32px #02080b66}.about-window-media{border-radius:inherit;background:#0c1b25;width:100%;height:100%;display:block;overflow:hidden}.about-window img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.65,.2,1)}.about-window-caption{z-index:3;color:#f0f5f1;background:linear-gradient(#0000,#07121ae8);border-radius:0 0 3px 3px;justify-content:space-between;align-items:flex-end;gap:12px;padding:38px 16px 13px;display:flex;position:absolute;inset:auto 0 0}.about-window-caption small{color:var(--window-color);font:400 .6rem/1.6 var(--mono);margin-bottom:4px;display:block}.about-window-caption strong{font:500 1.65rem/1.1 var(--heading);display:block}.about-window-arrow{width:24px;height:24px;font:400 1.05rem var(--mono);color:var(--window-color);flex-shrink:0;place-items:center;transition:transform .2s;display:grid}.about-window-main{--window-color:#91c7f3;--window-angle:-5deg;--window-depth:.55;border-radius:5px 72px 5px 5px;inset:5% 17% 13% 2%}.about-window-main img{object-position:27% center}.about-window-main .about-window-caption{background:linear-gradient(#07121ade,#0000);border-radius:3px 66px 0 0;align-items:center;padding:16px 18px 48px;top:0;bottom:auto}.about-window-main .about-window-caption>span{max-width:70%}.about-window-main .about-window-arrow{margin-right:25%}.about-window-main .about-window-caption strong{font-size:2rem}.about-window-game{--window-color:#ef9994;--window-angle:7deg;--window-depth:1.3;border-radius:5px 38px 5px 5px;width:37%;height:51%;top:2%;right:0}.about-window-game img{object-position:39% center}.about-window-game .about-window-caption{padding-inline:11px}.about-window-game .about-window-caption strong{font-size:1.4rem}.about-window-game .about-window-caption small{font-size:.52rem}.about-window-game .about-window-arrow{width:25px;height:25px}.about-window-web{--window-color:#efbe7d;--window-angle:3deg;--window-depth:1.8;border-radius:7px 30px 5px 5px;width:64%;height:43%;bottom:-1%;right:1%}.about-window-web .about-window-surface{padding-top:28px}.about-window-web img{object-position:center 38%}.about-window-web .about-window-media{border-radius:2px}.about-browser-bar{color:#b6c6ce;height:20px;font:400 .56rem var(--mono);align-items:center;gap:4px;display:flex;position:absolute;inset:5px 8px auto}.about-browser-bar>i{background:#b2c6cf69;border-radius:50%;width:4px;height:4px}.about-browser-bar>i:first-child{background:#efbe7d9c}.about-browser-bar>span{text-align:center;flex:1;padding-right:20px}.about-window:is(:hover,:focus-visible){--window-lift:-3px}.about-window:is(:hover,:focus-visible) .about-window-surface{border-color:var(--window-color);box-shadow:0 20px 36px #02080b80}.about-window:is(:hover,:focus-visible) img{transform:scale(1.02)}.about-window:is(:hover,:focus-visible) .about-window-arrow{transform:translate(2px,-2px)}.about-window{animation:.65s ease-out backwards about-window-arrival}.about-window-game{animation-delay:90ms}.about-window-web{animation-delay:.17s}@keyframes about-window-arrival{0%{opacity:0}to{opacity:1}}html[data-effects-paused=true] .about-window{animation-play-state:paused}html[data-reduced-motion=true] .about-window{animation-duration:.4s;animation-delay:0s}html[data-reduced-motion=true] .about-window-surface{transition:translate .3s,border-color .12s}.about-section-heading{margin-bottom:28px}.about-section-heading h2{font:500 clamp(2.4rem, 3.4vw, 3.4rem)/1.12 var(--heading);margin-top:10px}.about-practice{border-top:1px solid var(--line);padding-block:32px 42px}.practice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;display:grid}.practice-grid article{border-left:2px solid color-mix(in srgb, var(--copy-accent) 60%, transparent);background:linear-gradient(110deg, color-mix(in srgb, var(--copy-accent) 5%, transparent), transparent 70%);padding:20px 0 0 22px}.practice-number{color:var(--copy-accent);font:400 .75rem var(--mono)}.practice-grid h3{font:500 1.9rem var(--heading);color:var(--copy-accent);margin:12px 0}.practice-grid p,.journey-story>p:not(.eyebrow):not(.journey-role){color:var(--muted);font-size:.95rem;line-height:1.85}.practice-tools{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.practice-tools span{font:400 .65rem/1.5 var(--mono);color:color-mix(in srgb,var(--copy-accent) 80%,#eef3ee);border:1px solid color-mix(in srgb,var(--copy-accent) 24%,transparent);border-radius:3px;padding:5px 7px}.about .journey{padding-top:20px}.about .journey-chapter{border-top:1px solid color-mix(in srgb,var(--copy-accent) 24%,var(--line));border-bottom:0;grid-template-columns:1fr 1.05fr;align-items:center;gap:72px;margin:0;padding:32px 0;display:grid}.journey-story h3{font:500 clamp(2rem, 3vw, 3rem)/1.15 var(--heading);margin:12px 0}.journey-story .eyebrow,.journey-link:is(:hover,:focus-visible){color:var(--copy-accent)}.journey-role{color:var(--copy-accent);margin-bottom:20px;font-size:.9rem}.journey-story>p+p:not(.journey-role){margin-top:14px}.journey-project{aspect-ratio:16/9;border:1px solid color-mix(in srgb,var(--copy-accent) 40%,var(--line));background:#15232c;border-radius:4px 42px 4px 4px;display:block;position:relative;overflow:hidden}.journey-project img{object-fit:cover;object-position:center 43%;width:100%;height:100%;transition:transform .55s cubic-bezier(.2,.65,.2,1)}.journey-project>span{color:#d5e0e4;background:linear-gradient(#0000,#06111af5);gap:5px;padding:48px 24px 20px;font-size:.8rem;display:grid;position:absolute;inset:auto 0 0}.journey-project b{font:500 1.8rem var(--heading);color:var(--copy-accent)}.journey-project i{color:var(--copy-accent);font-size:1.4rem;font-style:normal;position:absolute;bottom:24px;right:24px}.journey-project:is(:hover,:focus-visible) img{transform:scale(1.035)}.journey-project-mobile img{object-fit:contain;padding:14px 0 58px}.about-end{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding-block:28px 0;display:flex}.about-end p{font:500 1.9rem var(--heading)}@media (width<=1100px){.about-hero{gap:34px}.about-identity h1{font-size:5.5rem}.about-collage{height:390px}.about-window-main .about-window-caption strong{font-size:1.65rem}.about-window-game .about-window-caption strong{font-size:1.2rem}.practice-grid{gap:24px}.about .journey-chapter{gap:40px}}@media (width<=760px){.about-hero{grid-template-columns:1fr;gap:42px;padding-bottom:28px}.about-identity h1{font-size:clamp(4rem,12vw,5.5rem)}.about-opening{margin-top:16px}.about .about-actions{gap:22px;margin-top:24px}.about-collage{overflow-clip-margin:12px;width:min(100%,540px);height:clamp(295px,79vw,410px);margin:8px auto 10px;overflow:clip}.about-window-caption{gap:5px;padding:30px 9px 9px;inset:auto 0 0}.about-window-caption strong{font-size:1.3rem}.about-window-caption small,.about-window-arrow{display:none}.about-window-main{border-top-right-radius:48px;inset:5% 16% 13% 2%}.about-window-main .about-window-caption{border-top-right-radius:45px;padding:11px 11px 30px;inset:0 0 auto}.about-window-main .about-window-caption strong{font-size:1.6rem}.about-window-main .about-window-caption>span{max-width:80%}.about-window-main .about-window-arrow{display:none}.about-window-game{--window-angle:5deg;border-top-right-radius:24px;width:38%;height:51%;right:2%}.about-window-game .about-window-caption{padding-inline:7px}.about-window-game .about-window-caption strong{font-size:1.25rem;line-height:1.15}.about-window-web{--window-angle:2deg;border-top-right-radius:22px;right:2%}.about-window-web .about-window-surface{padding-top:0}.about-window-web .about-window-caption strong{font-size:1.5rem}.about-browser-bar{display:none}.about-practice{padding-block:28px}.practice-grid{grid-template-columns:1fr;gap:24px}.practice-grid article{padding-top:10px}.about .journey-chapter{grid-template-columns:1fr;gap:24px;padding-block:26px}.journey-story h3{font-size:2.3rem}.journey-project>span{padding-inline:18px}.journey-project b{font-size:1.65rem}.journey-project-detail{display:none}.about-end p{font-size:1.6rem}}@media (prefers-reduced-motion:reduce){.about-window-surface,.about-window img,.about-window-arrow,.journey-project img{transition:none}.about-window:is(:hover,:focus-visible){--window-lift:0px}.about-window:is(:hover,:focus-visible) img,.journey-project:is(:hover,:focus-visible) img,.about-window:is(:hover,:focus-visible) .about-window-arrow{transform:none}.about-window{animation:none}}.universe-stage{position:relative}.owl-discovery{z-index:12;pointer-events:none;position:absolute;bottom:24px;left:max(3%,50% - 720px)}.stolas-star-button{color:#b9c9d177;pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:10px;transition:color .25s,filter .25s;display:grid}.stolas-star-button svg{fill:none;stroke:currentColor;stroke-width:1px;width:22px;height:22px}.stolas-star-button svg circle{fill:currentColor;stroke:none}.stolas-star-button:hover,.stolas-star-button:focus-visible{color:#e7c88d;filter:drop-shadow(0 0 7px #e7c88d88)}.stolas-star-button:focus-visible{outline-offset:2px;outline:1px dashed #d9b77a}.stolas-dialog{width:min(540px,100% - 32px);color:var(--fg);background:#101b27;border:1px solid #bca17377;border-radius:8px 70px 8px 8px;padding:32px;overflow:visible;box-shadow:0 20px 100px #0008}.stolas-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#030b13bb}.stolas-dialog-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:26px;position:absolute;top:14px;right:18px}.stolas-dialog .stolas-portrait{width:120px;margin:0 auto 12px}.stolas-exit-mirror{z-index:0;opacity:0;transform-origin:50%;background:linear-gradient(130deg,#dac39c66,#19303e 48%,#b9d9e755);border:1px solid #dfc38cb0;border-radius:50px 50px 2px 2px;width:70px;height:115px;padding:5px;position:absolute;top:12%;left:calc(50% + 34px);box-shadow:0 0 22px #afcde733}.stolas-exit-mirror:before{content:"";border-radius:inherit;background:radial-gradient(at 50% 44%,#b4d5ea77,#142537 70%);width:100%;height:100%;display:block;box-shadow:inset 0 0 16px #05101c}.stolas-is-leaving .stolas-dialog-actions{opacity:.4;pointer-events:none}.stolas-traveler{z-index:1;transform-origin:70%;display:block;position:relative}.stolas-annoyed-mark{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif;font-size:28px;line-height:1;position:absolute;top:12%;right:-14px}.stolas-dialog h2{font-family:var(--heading);margin:10px 0 18px;font-size:40px;line-height:1.12}.stolas-dialog p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.75}.stolas-dialog .eyebrow{color:#d9b77a}.stolas-dialog-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px;display:flex}.stolas-dialog .solid-link{--accent:#d9b77a}.mirror-effects{z-index:70;pointer-events:none;contain:layout paint;position:fixed;inset:0;overflow:clip}.mirror-cameo{pointer-events:none;will-change:transform,opacity;width:72px;height:88px;position:absolute;top:0;left:0;transition:none!important}.mirror-cameo img{object-fit:contain;filter:drop-shadow(0 8px 7px #0008);-webkit-user-select:none;user-select:none;width:100%;height:100%}.mirror-cameo.frog-cameo{width:66px;height:62px}.stolen-letter{font:600 30px/1 var(--heading);color:#f1d19b;text-shadow:0 0 12px #b58562;opacity:0;position:absolute;top:53%;left:75%;transform:rotate(12deg)}.letter-gap{opacity:0}.letter-dizzy{pointer-events:none;width:60px;height:28px;position:absolute;transform:translate(-50%,-100%)}.letter-dizzy>span{width:18px;height:18px;animation:1.2s linear infinite chick-orbit;position:absolute;top:7px;left:21px}.letter-dizzy>span:nth-child(2){animation-delay:-.4s}.letter-dizzy>span:nth-child(3){animation-delay:-.8s}.letter-dizzy svg{filter:drop-shadow(0 1px 3px #0008);width:100%;height:100%;display:block}.mirror-effects.is-suspended .letter-dizzy>span{animation-play-state:paused}html[data-reduced-motion=true] .letter-dizzy>span{animation:none;transform:translate(-20px)}html[data-reduced-motion=true] .letter-dizzy>span:nth-child(2){transform:translateY(-7px)}html[data-reduced-motion=true] .letter-dizzy>span:nth-child(3){transform:translate(20px)}@keyframes chick-orbit{0%,to{transform:translate(-22px)scale(.85)}25%{transform:translateY(-8px)scale(.75)}50%{transform:translate(22px)scale(.85)}75%{transform:translateY(7px)scale(1)}}.workshop{--accent:#d9b77a;padding-top:32px;padding-bottom:44px}.workshop-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:25px;display:flex}.workshop-heading .eyebrow{color:#d9b77a;margin-bottom:14px;font-size:11px}.workshop-heading h1{font:500 clamp(36px,4.3vw,64px)/1.05 var(--heading);margin:0}.workshop-heading .text-link{white-space:nowrap;font-size:13px}.workshop-layout{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);align-items:center;gap:clamp(28px,4vw,72px);padding-top:30px;display:grid}.workshop-story{max-width:400px}.stolas-portrait{width:150px;margin:0 0 20px;position:relative}.stolas-portrait img{z-index:1;filter:drop-shadow(0 0 28px #b5a47f15);width:100%;height:auto;display:block;position:relative}.stolas-orbit{border:1px solid #d9b77a33;border-radius:50%;position:absolute;inset:30% -15%;transform:rotate(-25deg)}.stolas-orbit:before,.stolas-orbit:after{content:"";background:#dfc389;border-radius:50%;width:5px;height:5px;position:absolute;top:12%;left:12%;box-shadow:0 0 10px #dfc38988}.stolas-orbit:after{width:3px;height:3px;inset:auto 14% 10% auto}.workshop-story .eyebrow{color:#d9b77a;font-size:10px}.workshop-story h2{font:500 clamp(26px,2.3vw,36px)/1.12 var(--heading);margin:16px 0}.workshop-story>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.85}.workshop-story .workshop-tip{border-left:1px solid #d9b77a77;margin-top:22px;padding-left:14px}.workshop-story strong{color:#e7c88d}.workshop-story .stolas-aside{min-height:52px;margin-top:22px;font-style:italic;color:#d5c3a4!important;font-size:13px!important}.mirror-game{background:radial-gradient(at 50% 47%,#31506435,#0000 65%),linear-gradient(145deg,#14233055,#0000 70%);border:1px solid #ad987c38;border-radius:12px 80px 12px 12px;position:relative;overflow:clip}.game-toolbar{z-index:3;border-bottom:1px solid #ad987c22;align-items:center;gap:20px;padding:20px 26px;display:flex;position:relative}.game-progress{color:var(--muted);align-items:center;gap:10px;margin-right:auto;font-size:11px;display:flex}.game-progress>[data-game-count]{font:400 18px var(--mono);color:#e7c88d}.game-toolbar button{color:var(--fg);cursor:pointer;background:#b5b4a411;border:1px solid #adb9be44;border-radius:4px;padding:7px 10px;font-size:11px}.game-toolbar button span{padding-left:4px}.game-stage{isolation:isolate;height:clamp(410px,42vw,560px);position:relative;overflow:clip}.workshop-orbit{border:1px solid #9ac7de18;border-radius:50%;position:absolute;inset:12% 7%;transform:rotate(-20deg)}.workshop-orbit:after{content:"";border:1px dashed #d9b77a22;border-radius:50%;position:absolute;inset:20% -3%;transform:rotate(45deg)}.workshop-star{color:#8cbed277;pointer-events:none;font-size:20px;position:absolute}.star-one{top:12%;left:32%}.star-two{color:#d9b77a88;bottom:31%;right:16%}.star-three{font-size:13px;bottom:27%;left:28%}.repair-mirror{background:linear-gradient(135deg,#a6c6d572,#2c495c 36%,#d2b98a66 68%,#162c3d);border:1px solid #b0c7d294;border-radius:120px 120px 3px 3px;width:clamp(145px,28%,225px);height:67%;padding:7px;transition:box-shadow .5s;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 40px #9ac7de0d,inset 0 0 0 2px #07141b77}.repair-glass{border-radius:inherit;background:radial-gradient(at 50% 40%,#344e6266,#0b1a25);border:1px solid #b4ced24d;width:100%;height:100%;position:relative;overflow:hidden}.repaired-piece{opacity:0;background:linear-gradient(160deg,#eddaa616,#0b192b28),url(/images/drop.webp) 50%/cover;transition:opacity .3s;position:absolute;inset:0}.repaired-piece.is-restored{opacity:1}.repair-cracks{stroke:#9bc8df66;stroke-width:.35px;fill:none;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.repair-mark{font:400 10px var(--mono);letter-spacing:4px;color:#b7c5ca77;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}.repair-shine{opacity:.45;pointer-events:none;background:linear-gradient(115deg,#0000 30%,#daedf530 45%,#0000 55%);position:absolute;inset:0}.mirror-game[data-state=won] .repair-cracks{opacity:0}.mirror-game[data-state=won] .repair-mirror{transition:transform .6s,box-shadow .6s;transform:translate(-50%,-66%)scale(.88);box-shadow:0 0 50px #b6dcea33}.mirror-game[data-state=won] .game-overlay{background:linear-gradient(#0000 35%,#0b141bee 70%,#0b141bf5 90%);align-items:end}.mirror-game[data-state=won] .game-overlay h2{margin:10px 0;font-size:34px}.mirror-game[data-state=won] .game-overlay p:not(.eyebrow){margin-bottom:14px;font-size:12px}.loose-piece{left:var(--piece-x);top:var(--piece-y);z-index:2;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:clamp(50px,9vw,78px);height:clamp(60px,10vw,90px);animation:shard-drift 5s ease-in-out var(--piece-delay) infinite;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:9px;position:absolute;transform:translate(-50%,-50%)}.loose-piece:hover,.loose-piece:focus-visible{animation-play-state:paused}.loose-piece:focus-visible{outline-offset:3px;border-radius:6px;outline:1px dashed #e7c88d}.shard-face{width:100%;height:100%;transform:rotate(var(--piece-angle));filter:drop-shadow(0 0 4px #a2cbdc55);background:linear-gradient(135deg,#d6eefaee,#799bc37a 24%,#122b3e 42%,#a9d0e5b0 78%,#f0e6c9);transition:filter .2s;display:block}.shard-face>span{background:linear-gradient(120deg,#0000 30%,#e1f4ffaa 31%,#0000 34% 60%,#e1f4ff66 61%,#0000 65%);width:100%;height:100%;display:block}.shard-glint{color:#e9ddbf;pointer-events:none;font-size:10px;position:absolute;top:9px;right:7px}.loose-piece:hover .shard-face{filter:brightness(1.3)}.flying-piece{z-index:4;pointer-events:none;padding:9px;position:absolute}.game-overlay{z-index:5;background:radial-gradient(#0b141beb 35%,#0b141bbc 65%,#0b141b44);place-items:center;padding:28px;display:grid;position:absolute;inset:0}.game-overlay-content{text-align:center;width:min(440px,100%)}.game-overlay .eyebrow{color:#d9b77a;letter-spacing:1.5px;font-size:10px}.game-overlay h2{font:500 clamp(32px,3.6vw,46px)/1.1 var(--heading);margin:14px 0}.game-overlay p:not(.eyebrow){color:#b6c5cc;font-size:13px;line-height:1.7}.game-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.game-actions .solid-link{cursor:pointer;font-size:13px}.game-reward{--accent:#ffdc36;--world:#ffdc36}.game-actions .text-link{cursor:pointer;font-size:12px}.game-meter{background:#b1c6d51c;height:2px}.game-meter span{background:linear-gradient(90deg,#93bbd8,#e3c693);width:0;height:100%;transition:width .3s;display:block}.game-bottom{text-align:center;color:#95aab5;margin:0;padding:12px 16px;font-size:11px;line-height:1.5}.mirror-game:not([data-state=playing]) .loose-piece{animation-play-state:paused}.mirror-game [hidden]{display:none!important}html[data-reduced-motion=true] .loose-piece{animation:none}@keyframes shard-drift{0%,to{transform:translate(-50%,-50%)translateY(-4px)}50%{transform:translate(-50%,-50%)translateY(5px)}}@media (width>=1600px){.owl-discovery{left:calc(50% - 660px)}}@media (width<=900px){.owl-discovery{left:2%}.workshop-layout{grid-template-columns:1fr}.workshop-story{grid-template-columns:100px 1fr;gap:0 22px;max-width:none;display:grid}.workshop-story .stolas-portrait{grid-row:1/5;align-self:center;width:100px;margin:0}.workshop-story h2{margin:8px 0}.workshop-story .eyebrow{margin:0}.workshop-story>p:not(.eyebrow){margin:6px 0;font-size:13px}.workshop-story .workshop-tip{grid-column:1/-1;margin-top:16px!important}.workshop-story .stolas-aside{grid-column:1/-1;min-height:0;margin-top:6px!important}.game-stage{height:460px}.repair-mirror{width:190px}}@media (width<=600px){.owl-discovery{bottom:16px;left:3%}.workshop{padding-top:24px;padding-bottom:25px}.workshop-heading{flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:22px}.workshop-heading h1{font-size:40px}.workshop-heading .eyebrow{max-width:250px;line-height:1.6}.workshop-layout{gap:22px;padding-top:24px}.workshop-story{grid-template-columns:72px 1fr;column-gap:15px}.workshop-story .stolas-portrait{width:72px}.workshop-story .eyebrow{letter-spacing:1px;font-size:8px}.workshop-story h2{font-size:27px}.workshop-story>p:not(.eyebrow){font-size:12px;line-height:1.6}.game-toolbar{gap:12px;padding:15px}.game-progress{gap:7px;font-size:9px}.game-progress>[data-game-count]{font-size:16px}.game-toolbar button{padding:6px;font-size:10px}.game-stage{height:410px}.repair-mirror{width:130px;height:61%}.loose-piece{width:52px;height:64px}.game-overlay{padding:19px}.game-overlay h2{font-size:34px}.game-overlay p:not(.eyebrow){font-size:12px}.game-actions .solid-link{padding:12px 16px;font-size:12px}.game-bottom{font-size:10px}.mirror-game{border-top-right-radius:45px}.stolas-dialog{padding:25px}.stolas-dialog h2{font-size:34px}.stolas-dialog p:not(.eyebrow){font-size:13px}.mirror-cameo{width:54px;height:68px}.mirror-cameo.frog-cameo{width:48px;height:45px}.stolen-letter{font-size:24px}}@media (prefers-reduced-motion:reduce){.loose-piece{animation:none}.stolas-star-button{transition:none}}@media (width<=600px){.mirror-game[data-state=won] .game-stage{height:auto;min-height:410px}.mirror-game[data-state=won] .repair-mirror{width:110px;height:176px;top:20px;transform:translate(-50%)}.mirror-game[data-state=won] .game-overlay{background:linear-gradient(#0000 10%,#0b141bf5 60%);padding:214px 19px 24px;position:relative;inset:auto}.mirror-game[data-state=won] .game-overlay h2{font-size:30px}.mirror-game[data-state=won] .game-overlay-content{position:relative}}.music-toggle{--music-color:var(--atmosphere-accent,var(--accent));top:max(15px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:75;width:46px;height:60px;color:var(--muted);-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:4px;transition:color .22s,filter .22s;display:grid;position:fixed}.music-toggle svg{width:36px;height:49px;overflow:visible}.music-door-glass{fill:#101c25;fill-opacity:.88;stroke:currentColor;stroke-width:1.2px}.music-door-inner{fill:none;stroke:currentColor;stroke-width:.55px;opacity:.35}.music-note{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round}.music-note-head{fill:currentColor}.music-off{stroke:var(--bg);stroke-width:5px}.music-off-line{stroke:currentColor;stroke-width:1.2px}.music-off,.music-off-line{transition:opacity .18s}.music-toggle[aria-pressed=true]{color:var(--music-color);filter:drop-shadow(0 0 8px color-mix(in srgb, var(--music-color) 30%, transparent))}.music-toggle[aria-pressed=true] .music-off,.music-toggle[aria-pressed=true] .music-off-line{opacity:0}.music-toggle:hover,.music-toggle:focus-visible{color:var(--music-color)}.music-toggle:focus-visible{outline:1px solid var(--music-color);outline-offset:3px;border-radius:22px 22px 4px 4px}.music-tooltip{white-space:nowrap;background:var(--bg);color:var(--fg);border:1px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;padding:7px 10px;font-size:.72rem;transition:opacity .18s,visibility .18s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}.music-toggle:is(:hover,:focus-visible) .music-tooltip{opacity:1;visibility:visible}.cv-link{align-items:center;gap:10px;display:inline-flex}.cv-link svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}@media (width>=761px) and (width<=1150px){.site-header{padding-right:40px}}@media (width<=760px){.music-toggle{top:max(14px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));width:44px;height:50px}.music-toggle svg{width:30px;height:41px}.site-header{gap:12px;padding-right:44px}.site-header .menu-toggle{flex-shrink:0}.music-tooltip{display:none}}@media (prefers-reduced-motion:reduce){.music-toggle,.music-off,.music-off-line,.music-tooltip{transition:none}}.language-control{top:max(15px, env(safe-area-inset-top));right:max(72px, calc(env(safe-area-inset-right) + 56px));z-index:76;position:fixed}.language-toggle{width:46px;height:60px;color:var(--muted);-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:4px;transition:color .22s,filter .22s;display:grid}.language-toggle svg{width:36px;height:49px;overflow:visible}.language-toggle text{fill:currentColor;font-family:var(--mono);letter-spacing:.4px;font-size:11px;font-weight:500}.language-toggle:is(:hover,:focus-visible,[aria-expanded=true]){color:var(--atmosphere-accent,var(--accent));filter:drop-shadow(0 0 8px color-mix(in srgb, currentColor 25%, transparent))}.language-toggle:focus-visible{outline-offset:3px;border-radius:22px 22px 4px 4px;outline:1px solid}.language-options{border:1px solid var(--line);background:#101c25f5;border-radius:5px 26px 5px 5px;min-width:170px;padding:7px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 35px #0005}.language-options[hidden]{display:none}.language-options a{color:var(--fg);border-radius:3px;align-items:center;gap:12px;padding:12px;font-size:.86rem;transition:background .18s,color .18s;display:flex}.language-options a span{font-family:var(--mono);color:var(--atmosphere-accent,var(--accent));font-size:.72rem}.language-options a:is(:hover,:focus-visible,[aria-current]){background:#91c7f312}html:lang(ja){--heading:"Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;--body:"Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif}html:lang(ja) :is(h1,h2,h3,.world-title){letter-spacing:.015em;font-weight:600;line-height:1.5}html:lang(ja) :is(.page-heading h1,.about-identity h1,.contact h1){font-size:clamp(2rem,4.1vw,4rem)}html:lang(ja) .world-title{font-family:Barlow Condensed,sans-serif;line-height:1.02}html:lang(ja) :is(.brand strong,.portal-name,.about-identity h1,.project-hero h1,.project-card h2){font-family:Barlow Condensed,sans-serif}html:lang(ja) .about-identity h1{font-size:clamp(4rem,7.8vw,7.5rem);line-height:1.02}html:lang(ja) .case-section h2{font-size:clamp(1.6rem,2.7vw,2.8rem)}html:lang(ja) .home-profile h2{font-size:clamp(1.65rem,3.5vw,3rem)}html:lang(ja) .workshop-heading h1{font-size:clamp(2rem,4vw,3.4rem)}html:lang(ja) .message-title-row h2{font-size:clamp(1.5rem,3vw,2.7rem)}html:lang(ja) :is(p,h1,h2,h3,h4){line-break:strict}@media (width>=761px) and (width<=1150px){.site-header{padding-right:98px}}@media (width<=760px){.language-control{top:max(14px, env(safe-area-inset-top));right:max(59px, calc(env(safe-area-inset-right) + 51px))}.language-toggle{width:40px;height:50px}.language-toggle svg{width:30px;height:41px}.site-header{padding-right:94px}.site-header .brand{flex:1;min-width:0}.brand strong{font-size:clamp(.95rem,4vw,1.15rem)}.brand small{max-width:190px}html:lang(ja) .brand small{font-size:.62rem}html:lang(ja) .about-identity h1{font-size:3.9rem}html:lang(ja) .case-nav a{font-size:.76rem}}@media (prefers-reduced-motion:reduce){.language-toggle,.language-options a{transition:none}}
