:root{--void:#06060b;--plum:#2b2436;--stain:#4a3a63;--bronze:#9b8794;--mist:#9a8fab;--peri:#a599d8;--glow:#f0b4dc;--silver:#ece8f4;--night:#0d0c14;--dusk:#1a1724;--lilac:#cfc8de;--rose:#b68;--text:#d4cee0;--text-soft:#cbc4d9;--text-muted:#bdb5cc;--iron:#221c2b;--iron-deep:#12101a;--note:#5b4680;--note-rose:#7a4870;--petal:#fff4fb;--hair:#cfc8de24;--serif:"Shippori Mincho", "Hiragino Mincho ProN", serif;--sans:"Zen Kaku Gothic New", "Hiragino Sans", system-ui, sans-serif;color:var(--silver);background:var(--void);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font:400 17px/1.75 var(--sans);-webkit-font-smoothing:antialiased;background:radial-gradient(1100px 700px at 15% 0%, color-mix(in srgb, var(--stain) 22%, transparent), transparent 70%), radial-gradient(900px 700px at 100% 60%, color-mix(in srgb, var(--plum) 35%, transparent), transparent 70%), var(--void);margin:0}#root{isolation:isolate;position:relative}.night-sky{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.night-sky-band{width:100%;position:absolute;left:0}.night-sky-band svg{width:100%;height:100%;position:absolute}.night-sky .twinkles{animation:5s ease-in-out infinite star-twinkle}.night-sky-band.is-paused .twinkles{animation:none}@keyframes star-twinkle{50%{opacity:.08}}h1,h2,h3,h4{font-family:var(--serif);font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit}svg{stroke-width:1.65px}.site-header{z-index:10;color:var(--silver);background:linear-gradient(#06060beb,#06060b00);align-items:center;gap:32px;padding:18px max(24px,50vw - 600px);display:flex;position:relative}.identity{font:500 18px/1 var(--serif);white-space:nowrap;align-items:center;gap:10px;margin-right:auto;display:flex}.identity-mark{flex:none;width:30px;height:30px}.site-header nav{gap:22px;display:flex}.site-header nav a{color:var(--mist);white-space:nowrap;font-size:14px;transition:color .2s}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--silver)}.clock{color:var(--mist);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:15px}.clock b{font:500 17px/1 var(--serif);color:var(--silver);margin-left:6px}.menu-button{color:var(--silver);background:0 0;border:0;display:none}@media (width<=1140px){.site-header{gap:20px}.site-header nav{gap:18px}}@media (width<=1060px){.site-header{gap:16px;padding:14px 20px}.menu-button{place-items:center;width:38px;height:38px;margin-right:-8px;display:grid}.menu-button svg{width:20px}.site-header nav{background:var(--night);border-bottom:1px solid var(--hair);flex-direction:column;gap:0;padding:8px 20px 18px;display:none;position:absolute;top:100%;left:0;right:0}.site-header nav.open{display:flex}.site-header nav a{padding:10px 0;font-size:16px}}@media (width<=560px){.clock span{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}:focus-visible{outline:2px solid var(--glow);outline-offset:4px;border-radius:3px}main:focus{outline:none}.skip-link{z-index:20;background:var(--silver);color:var(--void);border-radius:6px;padding:10px 14px;font-weight:500;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.staff-divider{width:min(1200px,100vw - 48px);height:44px;color:var(--bronze);margin:0 auto;display:block}.staff-divider path{fill:none;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(18px)}.reveal.is-shown{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.hero{align-items:center;min-height:max(700px,100svh);display:grid;position:relative;overflow:hidden}.hero-scene{width:100%;height:100%;position:absolute;inset:0}.hero-scene>*{will-change:transform;position:absolute}.hero-scene>[data-band=bloom]{will-change:transform, opacity}.hero-lily>svg{position:absolute}.hero-lily>.hero-twinkle{will-change:opacity}.hero-pane{animation:7s ease-in-out infinite hero-shimmer}.hero-twinkle{animation:5s ease-in-out infinite star-twinkle}.hero-glint{animation:7s ease-in-out infinite glint-breathe}.hero-lily{animation:11s ease-in-out infinite alternate lily-sway}.hero-scene.is-paused :is(.hero-pane,.hero-twinkle,.hero-glint,.hero-lily){animation-play-state:paused}@keyframes hero-shimmer{50%{opacity:.55}}@keyframes glint-breathe{0%,to{opacity:.55;transform:scale(.8)rotate(-4deg)}50%{opacity:1;transform:scale(1)rotate(0)}}@keyframes lily-sway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.hero-copy{z-index:1;width:min(1200px,100% - 48px);text-shadow:0 0 3px var(--void), 0 0 10px var(--void), 0 0 22px #06060bcc;margin:0 auto;padding:64px 0 80px;position:relative}.hero-copy:before{content:"";z-index:-1;background:radial-gradient(72% 60% at 32%,#06060be0,#0000 75%);position:absolute;inset:40px -60px 0 -120px}.hero-name{color:var(--mist);margin:0 0 28px;font-size:16px}.hero-name strong{color:var(--silver);font-weight:500}.hero h1{max-width:9.5em;font:400 clamp(46px, 6vw, 86px)/1.02 var(--serif);letter-spacing:-.015em;margin:0}.hero h1 em{color:var(--glow);font-style:normal}.hero-lede{max-width:34em;color:var(--text-soft);margin:34px 0 0;font-size:19px}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.hero-action{border-radius:999px;align-items:center;min-height:48px;padding:0 24px;font-size:16px;font-weight:500;transition:all .2s;display:inline-flex}.hero-action-solid{text-shadow:none;background:var(--silver);color:var(--void)}.hero-action-solid:hover{background:#fff;box-shadow:0 0 30px #f0b4dc59}.hero-action-line{color:var(--silver);border:1px solid #ece8f452}.hero-action-line:hover{border-color:var(--glow);color:var(--glow)}@media (width>=760px) and (width<=1279.98px){.hero{min-height:max(600px, calc(100svh - var(--header-h,66px)));align-items:start}.hero-copy{padding:clamp(40px,6svh,72px) 0 0}.hero-copy:before{background:radial-gradient(72% 60%,#06060be0,#0000 75%)}}@media (width>=760px) and (width<=1279.98px) and (orientation:landscape){.hero-lede{max-width:min(34em,58vw)}}@media (width<=560px){.hero{align-items:end;min-height:max(900px,100svh)}.hero-copy{padding:0 0 64px}.hero-copy:before{background:linear-gradient(#0000,#06060beb 30%);inset:-40px -40px -20px}.hero-lede{font-size:17px}.hero-action{flex:1;justify-content:center}}.work{padding-bottom:72px;position:relative}.work-inner{width:min(1200px,100vw - 48px);margin:0 auto}.work-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:48px;padding:130px 0 70px;display:grid}.work-heading h2{font:400 clamp(36px, 4.6vw, 64px)/1.08 var(--serif);letter-spacing:-.01em;margin:0}.work-heading p{max-width:30em;color:var(--text-muted);margin:0}.work-case{border-top:1px solid var(--hair);flex-direction:column;padding:64px 0;display:flex}.work-case:first-child{border-top:0}.work-case-kind{color:var(--mist);align-items:baseline;gap:14px;margin:0 0 10px;font-size:15px;display:flex}.work-case-kind span{font:400 40px/1 var(--serif);color:#0000;-webkit-text-stroke:1px #9b8794b3}.work-case h3{font:500 clamp(30px, 3vw, 42px)/1.12 var(--serif);margin:0}.work-case-for{max-width:24em;font:400 19px/1.55 var(--serif);color:var(--mist);margin:14px 0 0}.work-case-note{color:var(--glow);border:1px dashed #f0b4dc8c;border-radius:10px;align-self:flex-start;margin:18px 0 0;padding:8px 14px;font-size:15px;line-height:1.5}.work-case-problem{font:400 22px/1.55 var(--serif);color:var(--silver);margin:26px 0 22px}.work-case dl{margin:0}.work-case dl div{border-top:1px solid var(--hair);grid-template-columns:140px minmax(0,1fr);gap:22px;padding:16px 0;display:grid}.work-case dt{color:var(--mist);padding-top:2px;font-size:15px}.work-case dd{color:var(--text);margin:0;font-size:16px}.work-case-holds dt{color:var(--peri)}.work-case dl .work-case-changed{border-top-color:#f0b4dc73}.work-case-changed dt{color:var(--glow);align-items:center;gap:8px;display:flex}.work-case-changed dt svg{width:13px;height:13px;fill:var(--glow);filter:drop-shadow(0 0 6px #f0b4dccc);flex:none}.work-case-changed dd{color:var(--silver)}.work-case-ideas{color:var(--mist);margin:20px 0 0;font-size:15px}.work-case-ideas span{color:var(--text-soft)}.work-case-link{color:var(--peri);text-underline-offset:5px;align-self:flex-start;margin-top:22px;text-decoration:underline;text-decoration-thickness:1px}.work-case-link:hover{color:var(--silver)}@media (width<=900px){.work-heading{grid-template-columns:1fr;gap:20px;padding:100px 0 44px}.work-case{padding:52px 0}}@media (width<=560px){.work-case-problem{font-size:20px}.work-case dl div{grid-template-columns:1fr;gap:4px}}.work-window{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;display:grid}.work-rose{flex-direction:column;justify-content:center;align-self:start;align-items:center;gap:10px;height:78vh;display:flex;position:sticky;top:11vh}.rose-window{aspect-ratio:1;width:min(100%,64vh);height:auto;display:block}.work-rose-for{min-height:1.3em;font:400 22px/1.3 var(--serif);text-align:center;margin:0}.work-rose-for span{color:var(--mist);font-size:17px}.work-rose-for b{color:var(--glow);font-weight:400;animation:.6s rose-for-in}@keyframes rose-for-in{0%{opacity:0}}.rose-glass{opacity:.42;transition:opacity .9s}.rose-lit{opacity:0;transition:opacity .9s}.rose-pane.is-lit .rose-glass,.rose-pane.is-lit .rose-lit{opacity:1}.rose-numeral{font:400 26px var(--serif);fill:var(--lilac);opacity:.7;transition:fill .9s,opacity .9s}.rose-pane.is-lit .rose-numeral{fill:var(--petal);opacity:1}.rose-records{font:500 14px var(--sans);letter-spacing:.02em;fill:var(--mist);paint-order:stroke;stroke:var(--void);stroke-width:3px;stroke-linejoin:round;transition:fill .9s}.rose-pane.is-lit .rose-records{fill:var(--silver)}.rose-hand{transition:transform 1.5s cubic-bezier(.5,0,.15,1)}.work-case-kind span{transition:color .9s,text-shadow .9s}.work-case.is-lit .work-case-kind span{color:#4a3a6380;-webkit-text-stroke-color:var(--glow);text-shadow:0 0 24px #f0b4dc66}.work-lunette{display:none}@media (width<=900px){.work-window{display:block}.work-rose{display:none}.work-lunette{z-index:5;pointer-events:none;border-bottom:1px solid #9b87948c;height:102px;margin:24px -24px 0;display:block;position:sticky;bottom:0;overflow:hidden}.work-case a{scroll-margin-bottom:122px}.rose-lunette{width:524px;position:absolute;top:0;left:50%;transform:translate(-50%)}.rose-lunette .rose-numeral{display:none}.rose-turn{transition:transform 1.5s cubic-bezier(.5,0,.15,1)}.work-lunette-for{padding:8px 0 calc(4px + env(safe-area-inset-bottom));font:400 17px/1.3 var(--serif);text-align:center;background:radial-gradient(220px 60px at 50% 100%,#06060bf0 70%,#06060b00);margin:0;position:absolute;bottom:0;left:0;right:0}.work-lunette-for span{color:var(--mist);font-size:14px}.work-lunette-for b{color:var(--glow);font-weight:400;animation:.6s rose-for-in}}@media (prefers-reduced-motion:reduce){.work-rose-for b,.work-lunette-for b{animation:none}.rose-glass,.rose-lit,.rose-numeral,.rose-records,.rose-hand,.rose-turn,.work-case-kind span{transition:none}}.progress{padding-bottom:72px;position:relative}.progress-inner{width:min(1200px,100vw - 48px);margin:0 auto}.progress-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:48px;padding:130px 0 0;display:grid}.progress-heading h2{font:400 clamp(36px, 4.6vw, 64px)/1.08 var(--serif);letter-spacing:-.01em;margin:0}.progress-heading p{max-width:30em;color:var(--text-muted);margin:0}.progress-pieces{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:44px 28px;padding-top:100px;display:grid}.progress-piece{background:linear-gradient(180deg, var(--iron), var(--iron-deep));border:1px solid #9b879473;border-top:0;border-radius:0 0 6px 6px;padding:34px 36px 36px}.progress-piece h3{font:400 34px/1.15 var(--serif);margin:0}.progress-piece .progress-status{color:var(--mist);align-items:center;gap:9px;margin:0 0 18px;font-size:15px;display:flex}.progress-status svg{width:13px;height:13px;fill:var(--glow);flex:none}.progress-for{color:var(--text-soft);margin:14px 0 0}.progress-facts{border-top:1px solid var(--hair);margin:26px 0 0}.progress-facts dt{color:var(--mist);padding-top:18px;font-size:15px}.progress-facts dd{color:var(--text-soft);margin:4px 0 0;font-size:16px}.progress-facts dt:last-of-type{color:var(--peri)}.progress-ideas{color:var(--silver);flex-wrap:wrap;gap:10px 0;margin:22px 0 0;padding:0;font-size:15px;list-style:none;display:flex}.progress-ideas li{align-items:center;display:flex}.progress-ideas li+li:before{content:"";border:1.3px solid var(--bronze);border-radius:50%;width:5px;height:5px;margin:0 9px}.progress-link{color:var(--peri);text-underline-offset:5px;margin-top:26px;text-decoration:underline;text-decoration-thickness:1px;display:inline-block}.progress-link:hover{color:var(--silver)}@media (width<=900px){.progress-heading{grid-template-columns:1fr;gap:20px;padding-top:100px}.progress-pieces{grid-template-columns:minmax(0,1fr);padding-top:84px}}@media (width<=560px){.progress-piece{padding:28px 22px 30px}}.after{padding-bottom:72px;position:relative;overflow-x:clip}.after:before{content:"";pointer-events:none;background:linear-gradient(118deg,#0000 16%,#a599d816 23%,#a599d808 29%,#0000 33% 50%,#a599d81a 56%,#0000 63% 71%,#a599d80f 75%,#0000 80%);position:absolute;inset:-60px 0 -40px;-webkit-mask-image:linear-gradient(#0000,#000 16% 80%,#0000);mask-image:linear-gradient(#0000,#000 16% 80%,#0000)}.after-inner{width:min(1200px,100vw - 48px);margin:0 auto;position:relative}.after-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:48px;padding:130px 0 0;display:grid}.after-heading h2{font:400 clamp(36px, 4.6vw, 64px)/1.08 var(--serif);letter-spacing:-.01em;margin:0}.after-heading p{max-width:30em;color:var(--text-muted);margin:0}.after-pieces{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"lingkod desktop""tools desktop";align-items:start;gap:44px 28px;padding-top:100px;display:grid;position:relative}.after-iron{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.after-iron-back{z-index:0}.after-iron-front{z-index:2}.after-piece,.after-tools{z-index:1;position:relative}.after-sway{transform-box:view-box;animation:6.5s ease-in-out infinite alternate after-sway}@keyframes after-sway{0%{transform:rotate(-1.8deg)}to{transform:rotate(1.8deg)}}.after-ember{animation:4.5s ease-in-out infinite after-ember}@keyframes after-ember{50%{opacity:.4}}.after-iron.is-paused .after-sway,.after-iron.is-paused .after-ember{animation-play-state:paused}.after-lingkod{grid-area:lingkod}.after-desktop{grid-area:desktop}.after-tools{grid-area:tools}.after-piece,.after-tool{background:linear-gradient(180deg, var(--iron), var(--iron-deep));border:1px solid #9b879473;border-top:0;border-radius:0 0 6px 6px}.after-piece{padding:34px 36px 36px}.after-piece h3{font:400 34px/1.15 var(--serif);margin:0}.after-piece p{color:var(--text-soft);margin:14px 0 0}.after-piece .after-status{color:var(--mist);align-items:center;gap:9px;margin:0 0 18px;font-size:15px;display:flex}.after-status svg{width:13px;height:13px;fill:var(--glow);flex:none}.after-stack{color:var(--silver);flex-wrap:wrap;gap:10px 0;margin:22px 0 0;padding:0;font-size:15px;list-style:none;display:flex}.after-stack li{align-items:center;display:flex}.after-stack li+li:before{content:"";border:1.3px solid var(--bronze);border-radius:50%;width:5px;height:5px;margin:0 9px}.after-split{border-top:1px solid var(--hair);grid-template-columns:1fr 1fr;margin-top:26px;display:grid}.after-voice{padding:20px 22px 4px 0}.after-voice.after-mine{border-left:1px solid var(--hair);padding:20px 0 4px 22px}.after-voice h4{font:500 17px/1.3 var(--serif);margin:0 0 6px}.after-voice h4:before{content:"";vertical-align:-1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 14'%3E%3Cpath d='M5 0V4.6' stroke='%239b8794' stroke-width='1.2'/%3E%3Ccircle cx='5' cy='8.6' r='3.6' fill='none' stroke='%239b8794' stroke-width='1.4'/%3E%3C/svg%3E") 50%/contain no-repeat;width:10px;height:14px;margin-right:10px;display:inline-block}.after-mine h4{color:var(--glow)}.after-mine h4:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 14'%3E%3Cpath d='M5 0V2.2' stroke='%239b8794' stroke-width='1.2'/%3E%3Cpath d='M5 2.2L9 6.6L5 14L1 6.6Z' fill='%23bb6688' stroke='%23f0b4dc' stroke-width='.8'/%3E%3Cpath d='M1 6.6H9M5 2.2V14' stroke='%23ffe6f4' stroke-width='.5' opacity='.7'/%3E%3C/svg%3E")}.after-piece .after-voice p{margin:0;font-size:16px}.after-repos{flex-wrap:wrap;gap:4px 22px;margin:22px 0 0;padding:0;list-style:none;display:flex}.after-previous{border-top:1px solid var(--hair);margin-top:26px;padding-top:18px}.after-piece .after-credit{color:var(--mist);margin-top:8px;font-size:15px}.after-credit code{font:inherit;color:var(--silver);overflow-wrap:anywhere}.after-link,.after-tool a{color:var(--peri);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px;display:inline-block}.after-link:hover,.after-tool a:hover{color:var(--silver)}.after-tools{container:tools/inline-size}.after-tools h3{font:400 24px/1.2 var(--serif);margin:0}.after-tools-intro{color:var(--mist);margin:4px 0 0;font-size:15px}.after-tool-list{grid-template-columns:1fr 1fr;gap:56px 18px;margin-top:66px;display:grid}@container tools (width<=440px){.after-tool-list{grid-template-columns:1fr}}.after-tool{padding:18px 20px 20px}.after-tool h4{font:500 22px/1.3 var(--serif);margin:0}.after-tool p{color:var(--text-muted);margin:6px 0 10px;font-size:16px}.after-tool-links{flex-wrap:wrap;gap:4px 18px;display:flex}.after-tool a{font-size:15px}@media (width<=900px){.after-heading{grid-template-columns:1fr;gap:20px;padding-top:100px}.after-pieces{grid-template-columns:minmax(0,1fr);grid-template-areas:"lingkod""desktop""tools";padding-top:84px}}@media (width<=560px){.after-piece{padding:28px 22px 30px}.after-split{grid-template-columns:1fr}.after-voice.after-mine{border-top:1px solid var(--hair);border-left:0;padding:20px 0 4px}}.method{padding-bottom:72px;position:relative}.method-inner{width:min(1200px,100vw - 48px);margin:0 auto}.method-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:48px;padding:130px 0 70px;display:grid}.method-heading h2{font:400 clamp(36px, 4.6vw, 64px)/1.08 var(--serif);letter-spacing:-.01em;margin:0}.method-heading p{max-width:30em;color:var(--text-muted);margin:0}.method-phrase{background:repeating-linear-gradient(#9b8794b3 0 1px,#0000 1px 9px) 0 6px/100% 37px no-repeat;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;margin:0;padding:0 18px 0 0;list-style:none;display:grid;position:relative}.method-phrase:after{content:"";border-left:1px solid var(--bronze);border-right:3px solid var(--bronze);width:4px;height:37px;position:absolute;top:6px;right:0}.method-phrase li{padding-top:78px;position:relative}.method-phrase li:before{content:"";border:1px solid var(--bronze);background:var(--note);border-radius:50%;width:16px;height:11px;position:absolute;left:14px;transform:rotate(-22deg)}.method-phrase li:after{content:"";background:var(--bronze);width:1.5px;height:34px;position:absolute;left:28px}.method-phrase li:first-child:before{top:37px}.method-phrase li:first-child:after{top:7px}.method-phrase li:nth-child(2):before{top:28px}.method-phrase li:nth-child(2):after{top:-2px}.method-phrase li:nth-child(3):before{top:19px}.method-phrase li:nth-child(3):after{top:-11px}.method-phrase li:nth-child(4):before{border-color:var(--glow);background:var(--note-rose);top:10px;box-shadow:0 0 16px 3px #f0b4dc80}.method-phrase li:nth-child(4):after{background:var(--glow);top:-20px}.method-phrase span{font:400 15px/1 var(--serif);color:var(--mist)}.method-phrase h3{font:500 26px/1.12 var(--serif);margin:10px 0}.method-phrase p{color:var(--text-muted);margin:0;font-size:16px}.method-depth{border-top:1px solid var(--bronze);max-width:40em;margin:88px 0 0;padding-top:28px}.method-depth p{color:var(--text-muted);margin:0}.method-depth p:first-child{font:400 clamp(22px, 2.2vw, 28px)/1.3 var(--serif);color:var(--text);margin-bottom:8px}@media (width<=900px){.method-heading{grid-template-columns:1fr;gap:20px;padding:100px 0 44px}.method-phrase{background:repeating-linear-gradient(90deg,#9b8794b3 0 1px,#0000 1px 9px) 0 0/37px 100% no-repeat;grid-template-columns:1fr;row-gap:40px;padding:0 0 0 64px}.method-phrase:after,.method-phrase li:after{display:none}.method-phrase li{padding-top:0}.method-depth{margin-top:64px}.method-phrase li:before{transform:rotate(-68deg)}.method-phrase li:nth-child(n):before{top:6px}.method-phrase li:first-child:before{left:-35.5px}.method-phrase li:nth-child(2):before{left:-44.5px}.method-phrase li:nth-child(3):before{left:-53.5px}.method-phrase li:nth-child(4):before{left:-62.5px}}.contact,.site-footer{width:min(1200px,100vw - 48px);margin:0 auto}.contact{padding-top:150px}.contact-coda{grid-template-columns:minmax(0,1fr) minmax(0,320px);align-items:center;gap:64px;display:grid}.contact-window{grid-area:1/2}.contact-window-scene{width:100%;height:auto;display:block;overflow:visible}.contact-text{grid-area:1/1;min-width:0}.contact h2{max-width:15em;font:400 clamp(36px, 4.6vw, 64px)/1.08 var(--serif);letter-spacing:-.01em;margin:0}.contact-text>p{max-width:32em;color:var(--text-muted);margin:26px 0 0}.contact-mail{font:400 clamp(24px, 3.4vw, 44px)/1.2 var(--serif);color:var(--silver);overflow-wrap:anywhere;border-bottom:1px solid #f0b4dc80;margin-top:48px;padding-bottom:6px;transition:color .2s,border-color .2s;display:inline-block}.contact-mail:hover{color:var(--glow);border-color:var(--glow)}.contact-links{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.contact-links a{min-height:48px;color:var(--silver);border:1px solid #ece8f452;border-radius:999px;align-items:center;padding:0 24px;font-size:16px;font-weight:500;transition:all .2s;display:inline-flex}.contact-links a:hover{border-color:var(--glow);color:var(--glow)}.contact-final-bar{width:100%;height:44px;color:var(--bronze);margin-top:110px;display:block}.contact-final-bar path{fill:none;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke}.contact-final-bar .contact-final-bar-thick{stroke-width:4px}.site-footer{color:var(--mist);flex-wrap:wrap;justify-content:space-between;gap:20px;padding:18px 0 100px;font-size:15px;display:flex}@media (width<=900px){.contact-coda{grid-template-columns:minmax(0,1fr);gap:28px}.contact-window{grid-column:1;width:180px}.contact-text{grid-row:2}}body:has(main.case-study):before{content:"";z-index:0;pointer-events:none;background:linear-gradient(118deg,#0000 20%,#a599d80d 27%,#a599d805 33%,#0000 37% 54%,#a599d80f 60%,#0000 67%);position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 35%,#0000 95%);mask-image:linear-gradient(#000 35%,#0000 95%)}.case-study{--rail:220px;--gap:80px;z-index:1;width:min(1200px,100vw - 48px);color:var(--silver);margin:0 auto;position:relative}.case-study>section,.case-study>figure{z-index:1;grid-template-columns:var(--rail) minmax(0, 760px);column-gap:var(--gap);align-items:start;margin:0;padding:64px 0;display:grid;position:relative}.case-iron{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.case-iron-back{z-index:0}.case-iron-front{z-index:2}.case-study>.case-hero{row-gap:0;padding:120px 0 64px}.case-hero>div:first-child{display:contents}.case-hero>div:first-child>*,.case-hero-meta{grid-column:2}.case-hero>div:first-child>.case-kind{text-align:right;color:var(--mist);flex-direction:column;grid-area:1/1;align-items:flex-end;gap:6px;margin:8px 0 0;font-size:15px;line-height:1.5;display:flex}.case-kind span{font:400 40px/1 var(--serif);color:#4a3a6380;-webkit-text-stroke:1px var(--glow);text-shadow:0 0 24px #f0b4dc66}.case-kind svg{width:13px;height:13px;fill:var(--glow);filter:drop-shadow(0 0 6px #f0b4dccc);flex:none;align-self:center}.case-hero>div:first-child>.case-records{text-align:right;grid-area:2/1/span 4;margin:28px 0 0;padding:0;list-style:none}.case-records li{color:var(--text-soft);font-size:15px;line-height:2.1}.case-hero h1{max-width:11em;font:400 clamp(48px, 6.6vw, 96px)/1.02 var(--serif);letter-spacing:-.015em;grid-row:1;margin:0}.case-hero .case-for{max-width:24em;font:400 22px/1.5 var(--serif);color:var(--mist);margin:22px 0 0}.case-hero>div:first-child>p:not([class]){max-width:34em;color:var(--text-soft);margin:28px 0 0;font-size:19px;line-height:1.7}.case-hero .back-link{justify-self:start;margin-top:34px}.case-hero-meta,.case-study-flow .flow-lane,.personal-contributions ol{background:linear-gradient(180deg, var(--iron), var(--iron-deep));border:1px solid #9b879473;border-top:0;border-radius:0 0 6px 6px;margin-top:84px}.case-hero-meta{grid-template-columns:150px minmax(0,1fr);gap:0 22px;padding:4px 26px 6px;display:grid}.case-hero-meta span,.case-hero-meta strong,.case-hero-meta a{border-top:1px solid var(--hair);padding:16px 0}.case-hero-meta>:nth-child(-n+2){border-top:0}.case-hero-meta span{font:400 15px/1.6 var(--sans);color:var(--mist)}.case-hero-meta strong{font:400 16px/1.6 var(--sans);color:var(--text)}.back-link,.case-footer a,.case-hero-meta a,.personal-contributions a,.upstream-contribution a,.next-desktop-links a{font:400 16px/1.6 var(--sans);color:var(--peri);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px;display:inline-block}.case-hero-meta a{display:block}:is(.back-link,.case-footer a,.case-hero-meta a,.personal-contributions a,.upstream-contribution a,.next-desktop-links a) svg{display:none}:is(.back-link,.case-footer a,.case-hero-meta a,.personal-contributions a,.upstream-contribution a,.next-desktop-links a):hover{color:var(--silver)}.section-label,.case-study-flow figcaption>span{font:400 15px/1.5 var(--sans);text-align:right;color:var(--mist)}.decisions .section-label{color:var(--peri)}.outcome .section-label{color:var(--glow);justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.outcome .section-label:before{content:"";filter:drop-shadow(0 0 6px #f0b4dccc);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-10 -10 20 20'%3E%3Cpath d='M0 -10 L1.6 -1.6 L10 0 L1.6 1.6 L0 10 L-1.6 1.6 L-10 0 L-1.6 -1.6 Z' fill='%23f0b4dc'/%3E%3C/svg%3E") 50%/contain no-repeat;flex:none;width:13px;height:13px}:is(.case-section,.personal-contributions,.upstream-contribution) h2{font:400 clamp(30px, 3.4vw, 46px)/1.14 var(--serif);letter-spacing:-.01em;margin:0}:is(.case-section,.personal-contributions,.upstream-contribution) p,.case-section li{max-width:36em;color:var(--text-muted);font-size:17px;line-height:1.75}.case-section p{margin:20px 0 0}.case-section ul{margin:22px 0 0;padding:0;list-style:none}.case-section li{padding-left:30px;position:relative}.case-section li+li{margin-top:14px}.case-section li:before{content:"";border:1px solid var(--bronze);width:6px;height:6px;position:absolute;top:.72em;left:4px;transform:rotate(45deg)}.case-study-flow figcaption{display:contents}.case-study-flow figcaption p,.case-study-flow .flow-lane,.flow-note{grid-column:2}.case-study-flow figcaption p{max-width:30em;font:400 22px/1.55 var(--serif);color:var(--text);margin:0}.case-study-flow .flow-lane{grid-template-columns:minmax(0,1fr);padding:0 28px 4px;display:grid}.flow-lane>svg{display:none}.flow-lane>div{border-top:1px solid var(--hair);padding:18px 0}.flow-lane>div:first-of-type{border-top:0}.flow-lane>div:last-of-type{border-top-color:#f0b4dc73}.company-boundaries{grid-template-columns:1fr 1fr;gap:28px;display:grid}.flow-lane small{font:400 14px/1.4 var(--sans);color:var(--mist)}.flow-lane strong{font:400 22px/1.2 var(--serif);color:var(--silver);margin:8px 0;display:block}.flow-lane p{color:var(--text-muted);margin:0;font-size:15px;line-height:1.6}.flow-note{font:400 14px/1.5 var(--sans);color:var(--mist);align-items:center;gap:8px;margin:36px 0 0;display:flex}.flow-note svg{flex:none;width:14px}.technologies ul{flex-wrap:wrap;gap:10px 0;margin:0;padding:0;list-style:none;display:flex}.technologies li{font:400 16px/1.6 var(--sans);color:var(--silver);align-items:center;display:flex}.technologies li+li:before{content:"";border:1.3px solid var(--bronze);border-radius:50%;width:5px;height:5px;margin:0 10px}.personal-contributions-heading{display:contents}.personal-contributions :is(h2,ol){grid-column:2}.personal-contributions ol{padding:0 28px;list-style:none}.personal-contributions li{border-top:1px solid var(--hair);grid-template-columns:64px minmax(0,1fr);gap:22px;padding:28px 0;display:grid}.personal-contributions li:first-child{border-top:0}.personal-contributions li>span{font:400 40px/1 var(--serif);color:#0000;-webkit-text-stroke:1px #9b8794b3}.personal-contributions h3{font:400 26px/1.2 var(--serif);margin:0 0 8px}.personal-contributions p,.upstream-contribution p{margin:0 0 12px}.upstream-contribution>div:first-child{justify-content:flex-end;align-items:center;gap:10px;display:flex}.upstream-contribution>div:first-child svg{width:16px;color:var(--glow)}.upstream-contribution h2{margin-bottom:20px}.case-iron-glow{opacity:.9;filter:drop-shadow(0 0 4px #f0b4dce6)}.case-crystal-lit,.case-glow{opacity:0;transition:opacity .6s}.is-lit>.case-crystal-lit,.is-lit>.case-glow{opacity:1}.case-flower-petal{fill:var(--peri);opacity:.7;transition:fill .6s,opacity .6s}.case-flower.is-lit .case-flower-petal{fill:var(--glow);opacity:1}.case-lotus{opacity:.45;transition:opacity .9s}.case-lotus-glow{opacity:0;transition:opacity .9s}.case-charm.is-lit :is(.case-lotus,.case-lotus-glow){opacity:1}.case-charm.is-lit .case-ember{animation:4.5s ease-in-out infinite after-ember}.case-sway{transform-box:view-box;animation:6.5s ease-in-out infinite alternate after-sway}.case-iron.is-paused :is(.case-sway,.case-ember){animation-play-state:paused}.case-end{z-index:1;min-height:130px;padding:30px 0 0 calc(var(--rail) + var(--gap));position:relative}.case-end p{font:400 22px/30px var(--serif);margin:0}.case-end span{color:var(--mist);font-size:17px}.case-end b{color:var(--lilac);font-weight:400;transition:color .6s}.case-end.is-passed b{color:var(--glow)}.case-footer{z-index:1;border-top:1px solid var(--hair);width:min(1200px,100vw - 48px);color:var(--silver);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:56px auto 0;padding:22px 0 100px;display:flex;position:relative}.case-footer span{font:400 15px/1.6 var(--sans);color:var(--mist)}@media (width<=900px){.case-study{--gap:56px}.case-study>section,.case-study>figure{grid-template-columns:minmax(0,1fr);padding-left:34px}.case-study>.case-hero{padding:72px 0 48px 34px}.case-hero>div:first-child>*,.case-hero-meta,.case-study-flow figcaption p,.case-study-flow .flow-lane,.flow-note,.personal-contributions :is(h2,ol){grid-area:auto/1}.case-hero>div:first-child>.case-kind{text-align:left;flex-direction:row;grid-area:auto/1;align-items:baseline;gap:12px;margin:0}.case-hero>div:first-child>.case-records{text-align:left;flex-wrap:wrap;grid-area:auto/1;gap:0 14px;margin:0 0 8px;display:flex}.case-hero h1{font-size:clamp(44px,11vw,72px)}.case-hero>div:first-child>p:not([class]){font-size:17px}.section-label,.case-study-flow figcaption>span{text-align:left}.outcome .section-label,.upstream-contribution>div:first-child{justify-content:flex-start}:is(.case-section,.upstream-contribution,.personal-contributions) h2,.case-study-flow figcaption p{margin-top:10px}.case-hero-meta,.case-study-flow .flow-lane,.personal-contributions ol{margin-top:76px}.case-study-flow .flow-lane,.personal-contributions ol{padding:0 20px 4px}.company-boundaries{grid-template-columns:minmax(0,1fr)}.case-end{padding-left:34px}}@media (width<=700px){.case-footer{flex-direction:column;align-items:flex-start}}@media (width<=560px){.case-hero-meta{grid-template-columns:minmax(0,1fr)}.case-hero-meta strong,.case-hero-meta a{border-top:0;padding-top:0}.case-hero-meta span{padding-bottom:4px}.case-study-flow figcaption p{font-size:20px}}
