:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#f1f6f5;background:#020707}html,body,#root{overscroll-behavior:none;width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{background:#020707;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}:root{--paper:#f0eee6;--green-accent:#69a785;--green-display:#56866f;--green-ink:#315f49;--green:var(--green-accent);--ink:#f0eee6;--muted:#f0eee6b8;--line:#f0eee652;--night-line:#f0eee661}*{box-sizing:border-box}.journey-3d{--outro-screen-width:clamp(176px, 19vw, 304px);--outro-screen-height:calc(var(--outro-screen-width) * .5625);--portfolio-card-width:min(54vw, 960px);--portfolio-card-height:calc(var(--portfolio-card-width) * .5625);--portfolio-start-scale:.32;--portfolio-card-left:32vw;--portfolio-card-top:52vh;--outro-paper:#f0eee6;--outro-green:var(--green-display);width:100%;height:100svh;color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;background:#020605;font-family:Inter,Helvetica Neue,Arial,sans-serif;position:fixed;inset:0;overflow:hidden}.journey-3d.has-gate{cursor:crosshair}.journey-scene-frame{z-index:1;border:0 solid #d4e5e800;border-radius:0;width:100%;height:100%;transition:opacity .6s;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.journey-canvas{inset:0;width:100%!important;height:100%!important;position:absolute!important}.journey-scene-frame canvas{width:100%!important;height:100%!important}.journey-outro{z-index:5;visibility:hidden;opacity:0;color:var(--outro-green);background:var(--outro-paper);pointer-events:none;position:absolute;inset:0}.journey-outro__copy{letter-spacing:-.035em;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin:0;padding:0 clamp(18px,3vw,58px);font-family:Baskerville,Georgia,serif;font-size:clamp(37px,5.9vw,88px);font-weight:400;line-height:1;display:grid;position:absolute;inset:0}.journey-outro__prefix,.journey-outro__suffix{opacity:0;white-space:nowrap}.journey-outro__prefix{justify-self:end;padding-right:.18em}.journey-outro__suffix{justify-self:start}.journey-outro__slot{width:var(--outro-screen-width);height:var(--outro-screen-height);display:block;position:relative}.journey-outro__ridge{z-index:8;opacity:0;filter:drop-shadow(0 1px 5px #081c1a57);position:absolute;inset:18% 8% 15%}.journey-outro__ridge i{background:var(--outro-paper);height:2px;transform:rotate(var(--ridge-angle)) scaleX(0);transform-origin:0;border-radius:999px;display:block;position:absolute;box-shadow:0 0 8px #f0eee66b}.journey-outro__ridge i:first-child{--ridge-angle:-43deg;width:42%;bottom:13%;left:2%}.journey-outro__ridge i:nth-child(2){--ridge-angle:38deg;width:31%;top:22%;left:31%}.journey-outro__ridge i:nth-child(3){--ridge-angle:-31deg;width:25%;top:48%;left:53%}.journey-outro__ridge i:nth-child(4){--ridge-angle:8deg;width:25%;top:29%;left:74%}.journey-outro__m{opacity:0;color:#0000;-webkit-text-fill-color:transparent;filter:saturate(.98)contrast(1.1)brightness(2.35);text-shadow:0 0 .01px #315f491f;background-image:linear-gradient(#10362f0f,#10362f0f),url(/portfolio/project-night-clean.png);background-position:50% 20%;background-repeat:no-repeat;background-size:auto 146%;-webkit-background-clip:text;background-clip:text;place-items:center;line-height:1;display:grid;position:absolute;inset:0}.journey-3d.is-outro .journey-scene-frame{z-index:6;box-shadow:none;border:0;border-radius:0;animation:6.4s cubic-bezier(.65,0,.24,1) both outro-scene-card}.journey-3d.is-outro:not(.is-portfolio) .journey-scene-frame{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000000b8 4%,#000 11% 89%,#000000b8 96%,#0000 100%),linear-gradient(#0000 0%,#000000b8 5%,#000 13% 87%,#000000b8 95%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000000b8 4%,#000 11% 89%,#000000b8 96%,#0000 100%),linear-gradient(#0000 0%,#000000b8 5%,#000 13% 87%,#000000b8 95%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.journey-3d.is-outro:not(.is-portfolio) .journey-scene-frame:before{z-index:1;content:"";pointer-events:none;filter:brightness(1.45)saturate(.9)contrast(1.04);opacity:0;background-image:url(/portfolio/project-night-clean.png);background-position:50%;background-size:cover;animation:6.4s cubic-bezier(.55,0,.25,1) both outro-watercolor-matte;position:absolute;inset:-1.5%;transform:scale(1.045)}.journey-3d.is-outro:not(.is-portfolio) .journey-scene-frame:after{z-index:2;content:"";pointer-events:none;mix-blend-mode:screen;opacity:0;background:radial-gradient(at 18% 22%,#f0eee647,#0000 31%),radial-gradient(at 78% 68%,#d4e1cf33,#0000 36%),radial-gradient(circle at 48%,#0000 48%,#f0eee64d 93%),repeating-linear-gradient(102deg,#f0eee609 0 1px,#0000 1px 4px);animation:6.4s both outro-watercolor-wash;position:absolute;inset:-3%}.journey-3d.is-outro .journey-outro{visibility:visible;animation:6.4s both outro-paper-in}.journey-3d.is-outro .journey-outro__prefix,.journey-3d.is-outro .journey-outro__suffix{animation:6.4s both outro-copy-in}.journey-3d.is-outro .journey-outro__slot{animation:6.4s cubic-bezier(.6,0,.2,1) both outro-slot-close}.journey-3d.is-outro .journey-outro__ridge{animation:6.4s both outro-ridge-life}.journey-3d.is-outro .journey-outro__ridge i:first-child{animation:.42s ease-out 2.25s both outro-ridge-draw}.journey-3d.is-outro .journey-outro__ridge i:nth-child(2){animation:.36s ease-out 2.6s both outro-ridge-draw}.journey-3d.is-outro .journey-outro__ridge i:nth-child(3){animation:.32s ease-out 2.9s both outro-ridge-draw}.journey-3d.is-outro .journey-outro__ridge i:nth-child(4){animation:.36s ease-out 3.16s both outro-ridge-draw}.journey-3d.is-outro .paper-texture,.journey-3d.is-outro .cave-grade,.journey-3d.is-outro .valley-mist,.journey-3d.is-outro .soft-vignette,.journey-3d.is-outro .journey-ui__header,.journey-3d.is-outro .journey-ui__menu,.journey-3d.is-outro .journey-ui__rail,.journey-3d.is-outro .journey-ui__operation,.journey-3d.is-outro .journey-ui__sound,.journey-3d.is-outro .journey-ui__timeline,.journey-3d.is-outro .journey-message,.journey-3d.is-outro .journey-cursor{opacity:0}.journey-3d.is-outro:not(.is-portfolio) .journey-cursor{opacity:0!important}.portfolio-home{z-index:5;visibility:hidden;opacity:0;color:var(--green);background:var(--paper);pointer-events:none;position:absolute;inset:0;overflow:hidden}.journey-3d.is-portfolio .portfolio-home{visibility:visible;opacity:1;pointer-events:auto;animation:.9s both portfolio-surface-in}.journey-3d.is-outro.is-portfolio .journey-outro{visibility:hidden;opacity:0;animation:none}.journey-3d.is-outro.is-portfolio .journey-scene-frame{z-index:7;transform-origin:100% 100%;will-change:transform, opacity;border:1px solid #69a78547;border-radius:0;animation:1.8s cubic-bezier(.62,0,.22,1) both portfolio-card-arrive;box-shadow:0 28px 70px #4771581f}.portfolio-home__header{z-index:9;opacity:0;justify-content:space-between;align-items:center;animation:.9s .68s both portfolio-content-in;display:flex;position:absolute;top:clamp(26px,4.5vh,54px);left:clamp(30px,5vw,82px);right:clamp(30px,5vw,82px)}.portfolio-home__brand{color:var(--green);letter-spacing:.2em;font-family:Baskerville,Georgia,serif;font-size:11px;text-decoration:none}.portfolio-home__header nav{letter-spacing:.015em;align-items:center;gap:clamp(24px,3vw,52px);font-size:clamp(13px,1.25vw,20px);display:flex}.portfolio-home__header nav span{position:relative}.portfolio-home__header nav .is-current:after{content:"";background:var(--green);height:1px;position:absolute;bottom:-9px;left:0;right:0}.portfolio-home__copy{z-index:9;opacity:0;width:min(27vw,420px);animation:1s .86s both portfolio-content-in;position:absolute;top:30%;right:clamp(42px,7vw,118px)}.portfolio-home__index{letter-spacing:.19em;margin-bottom:clamp(16px,2.4vh,30px);font-size:8px;font-weight:700;display:block}.portfolio-home__copy h1{letter-spacing:-.055em;margin:0 0 clamp(16px,2.2vh,28px);font-family:Baskerville,Georgia,serif;font-size:clamp(54px,6.2vw,102px);font-weight:400;line-height:.82}.portfolio-home__copy>p{max-width:34ch;margin:0 0 clamp(25px,4vh,50px);font-family:Baskerville,Georgia,serif;font-size:clamp(14px,1.25vw,19px);line-height:1.48}.portfolio-home__copy dl{gap:12px;margin:0 0 clamp(25px,4vh,48px);display:grid}.portfolio-home__copy dl>div{border-top:1px solid #69a78552;grid-template-columns:58px 1fr;gap:12px;padding-top:8px;display:grid}.portfolio-home__copy dt,.portfolio-home__copy dd{letter-spacing:.1em;margin:0;font-size:7px;line-height:1.5}.portfolio-home__copy dd{text-align:right}.portfolio-home__copy button{width:100%;color:var(--green);border:0;border-bottom:1px solid var(--green);font:inherit;letter-spacing:.12em;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:12px 0;font-size:9px;font-weight:700;display:flex}.portfolio-home__copy button i{font-family:Arial,sans-serif;font-size:18px;font-style:normal;transition:transform .3s}.portfolio-home__copy button:hover i{transform:translate(4px,-4px)}.portfolio-home__caption{z-index:9;top:calc(var(--portfolio-card-top) + var(--portfolio-card-height) / 2 + 15px);left:calc(var(--portfolio-card-left) - var(--portfolio-card-width) / 2);width:var(--portfolio-card-width);opacity:0;letter-spacing:.12em;justify-content:space-between;font-size:7px;animation:.9s 1.05s both portfolio-content-in;display:flex;position:absolute}.portfolio-home__caption small{font-size:inherit}.portfolio-home__footer{z-index:9;opacity:0;letter-spacing:.16em;justify-content:space-between;font-size:6px;animation:.9s 1.15s both portfolio-content-in;display:flex;position:absolute;bottom:clamp(22px,3.5vh,42px);left:clamp(30px,5vw,82px);right:clamp(30px,5vw,82px)}.paper-texture,.cave-grade,.valley-mist,.soft-vignette{z-index:3;pointer-events:none;position:absolute;inset:0}.valley-mist{z-index:4;opacity:calc(var(--valley-mist) * .2);filter:blur(24px)saturate(.82);mix-blend-mode:screen;transform:translate3d(calc(var(--valley-mist) * -1.2%), 0, 0) scale(1.04);background:radial-gradient(at 48% 28%,#e6f1ebb3,#bcd5d247 34%,#0000 68%),radial-gradient(at 12% 64%,#daebe770,#0000 52%),radial-gradient(at 86% 68%,#cee4e266,#0000 54%);transition:opacity .12s linear,transform .16s linear;animation:8s ease-in-out infinite alternate valley-mist-drift;inset:34% -9% -12%;-webkit-mask-image:linear-gradient(#0000 0%,#00000057 22%,#000 52%,#000000bd 100%);mask-image:linear-gradient(#0000 0%,#00000057 22%,#000 52%,#000000bd 100%)}.valley-mist:after{content:"";opacity:0;filter:blur(18px);pointer-events:none;background:radial-gradient(at 50% 38%,#f1f7f17a 0%,#bddad538 34%,#0000 66%);position:absolute;inset:-12% -4%;transform:scale(1.22,1.08)}.journey-3d.is-gate-fog .valley-mist:after{animation:1.8s cubic-bezier(.22,.72,.2,1) both fog-gate-gather}.paper-texture{opacity:calc(.06 + var(--open-air) * .14);mix-blend-mode:overlay;filter:contrast(1.15)saturate(.92);background-image:repeating-radial-gradient(circle at 23% 31%,#ffffff52 0 .52px,#0000 .8px 3px),repeating-linear-gradient(96deg,#1831351a 0 1px,#0000 1px 4px);background-size:5px 5px,9px 9px;transition:opacity .18s linear}.cave-grade{z-index:4;opacity:calc(var(--cave-depth) * .43);mix-blend-mode:multiply;background:linear-gradient(#0a0c0e66,#0000 24% 67%,#080a0c85),radial-gradient(at 50% 47%,#0f111305 0 9%,#0d0f1114 25%,#0a0c0e61 71%,#07090b9e 100%);transition:opacity .12s linear}.soft-vignette{background:linear-gradient(#03080847,#0000 18% 76%,#02070861),radial-gradient(#0000 52%,#02070866 115%);transition:background 2s}.is-night .soft-vignette{background:linear-gradient(#0004122e,#0000 23% 72%,#00030d7a),radial-gradient(#0000 48%,#00030e80 112%)}.journey-ui__header,.journey-ui__menu,.journey-ui__rail,.journey-ui__operation,.journey-ui__sound,.journey-ui__timeline,.journey-message{z-index:8;pointer-events:none;text-shadow:0 1px 12px #00000057;position:absolute}.journey-message{width:min(35vw,430px);color:var(--message-color,#f6f0e3);opacity:var(--message-opacity);filter:blur(var(--message-blur));transform:translateY(var(--message-shift));will-change:opacity, filter, transform;text-shadow:none;grid-template-columns:34px minmax(0,1fr);gap:18px;transition:opacity .48s,filter .52s,transform .52s cubic-bezier(.22,1,.36,1);display:grid;top:35%}.journey-message:before{display:none}.journey-message.is-left{left:clamp(28px,7vw,118px)}.journey-message.is-right{right:clamp(42px,8vw,136px)}.journey-message.is-right:before{display:none}.journey-message__number{color:currentColor;opacity:.86;letter-spacing:.12em;padding-top:8px;font-family:Baskerville,Georgia,serif;font-size:12px}.journey-message__number:after{content:"";opacity:.58;background:currentColor;width:22px;height:1px;margin-top:12px;display:block}.journey-message__copy{border-left:1px solid;gap:13px;padding-left:18px;display:grid}.journey-message__copy p{letter-spacing:-.025em;text-wrap:balance;gap:0;margin:0;font-family:Baskerville,Georgia,serif;font-size:clamp(27px,3vw,45px);font-weight:400;line-height:.98;display:grid}.journey-ui__header{gap:4px;display:grid;top:25px;left:28px}.journey-ui__header span{letter-spacing:.28em;font-family:Baskerville,Georgia,serif;font-size:15px}.journey-ui__header small,.journey-ui__sound{color:var(--muted);letter-spacing:.17em;font-size:7px;font-weight:400}.journey-ui__menu{color:var(--paper);letter-spacing:.19em;align-items:center;gap:clamp(18px,2.3vw,38px);font-size:7px;font-weight:650;transition:opacity .5s;display:flex;top:29px;right:34px}.journey-ui__menu span{position:relative}.journey-ui__menu span:after{content:"";background:var(--green);transform-origin:100%;height:1px;transition:transform .35s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.journey-ui__menu span:hover:after{transform-origin:0;transform:scaleX(1)}.journey-ui__rail{opacity:.48;align-items:center;gap:10px;height:min(44vh,360px);transition:opacity .7s;display:flex;top:50%;right:24px;transform:translateY(-50%)}.journey-ui__rail>i{background:var(--line);width:1px;height:100%;display:block;position:relative;overflow:hidden}.journey-ui__rail>i b{background:var(--paper);width:100%;position:absolute;top:0;left:0;box-shadow:0 0 7px #f0eee68c}.journey-ui__rail span{width:17px;color:var(--paper);opacity:.72;letter-spacing:.06em;font-size:7px}.journey-ui__operation{min-height:14px;color:var(--ink);letter-spacing:.08em;text-shadow:0 1px #131e1eb8,0 0 12px #060c0c4d;align-items:center;gap:8px;font-size:9px;font-weight:700;transition:opacity .5s,color .8s,background-color .5s,border-color .5s,transform .65s cubic-bezier(.22,1,.36,1);display:flex;bottom:13.5vh;left:50%;transform:translate(-50%)}.journey-ui__operation.is-hold{color:var(--ink);grid-template-rows:auto auto;grid-template-columns:24px auto;gap:1px 8px;display:grid;left:50%}.journey-ui__operation.is-complete{opacity:0;pointer-events:none}.journey-ui__operation.is-hold>span{align-self:end}.journey-ui__operation.is-connecting{justify-items:center;gap:2px;animation:1.05s ease-in-out infinite sky-connection-label;display:grid}.hold-mark{background:linear-gradient(45deg, transparent 47%, var(--ink) 48% 52%, transparent 53%), linear-gradient(-45deg, transparent 47%, var(--ink) 48% 52%, transparent 53%);border-radius:50%;grid-row:1/3;width:24px;height:24px;display:block;position:relative}.hold-mark:before{content:"";background:conic-gradient(var(--ink) var(--hold-progress), #f0eee629 0);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 56%,#000 58%);mask:radial-gradient(circle,#0000 56%,#000 58%)}.journey-ui__operation small{color:var(--muted);letter-spacing:.08em;font-size:5.5px;font-weight:600}.scroll-mark{background:#f0eee657;width:1px;height:17px;margin-left:2px;display:block;position:relative}.scroll-mark:after{content:"";background:var(--ink);border-radius:50%;width:2px;height:2px;animation:1.8s ease-in-out infinite scroll-pulse;position:absolute;top:4px;left:50%}.journey-ui__sound{bottom:29px;left:28px}.journey-ui__timeline{align-items:center;gap:8px;width:min(31vw,300px);display:flex;bottom:29px;left:50%;transform:translate(-50%)}.journey-ui__timeline i{background:#f0eee63d;flex:1;height:1px;transition:background .8s,box-shadow .8s;display:block}.journey-ui__timeline i.is-passed{background:var(--paper);box-shadow:0 0 8px #f0eee652}.journey-cursor{z-index:30;opacity:0;background:var(--green);pointer-events:none;will-change:transform;border:1px solid #f0eee6b8;border-radius:50%;width:9px;height:9px;transition:width .28s,height .28s,opacity .24s,box-shadow .28s;position:fixed;top:0;left:0;box-shadow:0 0 0 4px #69a7851f}.journey-cursor.is-entered[data-visible=true]{opacity:1}.journey-cursor.is-active{width:18px;height:18px;box-shadow:0 0 0 7px #69a78529}.experience-loader{z-index:20;color:var(--green);background:var(--paper);font-family:Inter,Helvetica Neue,Arial,sans-serif;transition:opacity 1.05s cubic-bezier(.65,0,.35,1),visibility 1.05s;position:absolute;inset:0;overflow:hidden}.experience-loader.is-entering{visibility:hidden;opacity:0;pointer-events:none}.experience-loader__grain,.experience-loader__topography{pointer-events:none;position:absolute;inset:0}.experience-loader__grain{z-index:2;opacity:.3;mix-blend-mode:multiply;background-image:repeating-radial-gradient(circle at 31% 27%,#1b3a3c33 0 .45px,#0000 .7px 3px),repeating-linear-gradient(101deg,#ffffff38 0 1px,#0000 1px 5px);background-size:5px 5px,13px 13px}.experience-loader__topography i{aspect-ratio:1.9;border:1px solid #3a5d6538;border-radius:48% 52% 44% 56%/53% 41% 59% 47%;width:min(82vw,980px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-7deg)}.experience-loader__topography i:nth-child(2){width:min(66vw,780px);transform:translate(-50%,-50%)rotate(4deg)}.experience-loader__topography i:nth-child(3){width:min(48vw,560px);transform:translate(-50%,-50%)rotate(-2deg)}.experience-loader__brand,.experience-loader__progress,.experience-loader__center{z-index:3;position:absolute}.experience-loader__brand{gap:5px;display:grid;top:28px;left:30px}.experience-loader__brand span{letter-spacing:.31em;font-family:Baskerville,Georgia,serif;font-size:16px}.experience-loader__brand small{color:var(--green);opacity:.72;letter-spacing:.16em;font-size:6px}.experience-loader__center{top:50%;left:50%;transform:translate(-50%,-50%)}.experience-loader__center button{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;justify-items:center;gap:17px;padding:18px;display:grid}.experience-loader__center button>i{border:2px solid var(--green);background:radial-gradient(circle at 35% 30%, var(--paper) 0 5%, transparent 6%), radial-gradient(circle at 37% 34%, #8fbea4, var(--green) 58%, #4b8265 100%);border-radius:48% 52% 45% 55%;width:64px;height:64px;animation:2.2s ease-in-out infinite loader-orb;position:relative;box-shadow:6px 8px #2d484c1f,0 0 #e6765633}.experience-loader__center button span{letter-spacing:.06em;font-size:9px;font-weight:750}.experience-loader__progress{letter-spacing:.09em;grid-template-columns:23px min(24vw,210px) 39px;align-items:center;gap:10px;font-size:7px;display:grid;bottom:27px;right:29px}.experience-loader__progress>i{background:#29444833;height:1px;display:block;position:relative;overflow:hidden}.experience-loader__progress>i b{background:var(--green);transition:width .24s;position:absolute;inset:0 auto 0 0}.experience-loader__progress small{color:var(--green);opacity:.7;font-size:6px}@keyframes scroll-pulse{0%,to{opacity:.26;transform:translate(-50%)}50%{opacity:1;transform:translate(-50%,6px)}}@keyframes sky-connection-label{0%,to{opacity:.52}50%{opacity:.96}}@keyframes loader-orb{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-5px)rotate(3deg)}}@keyframes valley-mist-drift{0%{background-position:0 0,-18px 0,22px 0}to{background-position:32px 4px,12px -3px,-16px 5px}}@keyframes outro-paper-in{0%{opacity:0}13%,to{opacity:1}}@keyframes outro-scene-card{0%,8%{opacity:1;filter:saturate()contrast()brightness()blur();width:100%;height:100%;transform:translate(-50%,-50%)scale(1)}31%,62%{width:var(--outro-screen-width);height:var(--outro-screen-height);opacity:1;filter:saturate(.88)contrast(.98)brightness(1.18)blur();transform:translate(-50%,-50%)scale(1)}74%,to{width:var(--outro-screen-width);height:var(--outro-screen-height);opacity:0;filter:saturate(.62)contrast(.9)brightness(1.2)blur();transform:translate(-50%,-50%)scale(.965)}}@keyframes outro-watercolor-wash{0%,9%{opacity:0;transform:scale(1.035)rotate(-.15deg)}32%,60%{opacity:.16;transform:scale(1)rotate(0)}74%,to{opacity:0;transform:scale(.985)rotate(.1deg)}}@keyframes outro-watercolor-matte{0%,17%{opacity:0;background-position:50% 47%;transform:scale(1.045)}36%,62%{opacity:1;background-position:50% 51%;transform:scale(1.005)}74%,to{opacity:0;background-position:50% 52%;transform:scale(.985)}}@keyframes outro-copy-in{0%,20%{opacity:0}32%,to{opacity:1}}@keyframes outro-slot-close{0%,67%{width:var(--outro-screen-width);height:var(--outro-screen-height)}84%,to{width:.62em;height:1em}}@keyframes outro-ridge-life{0%,33%{opacity:0}39%,63%{opacity:1}72%,to{opacity:0}}@keyframes outro-ridge-draw{0%{transform:rotate(var(--ridge-angle)) scaleX(0)}to{transform:rotate(var(--ridge-angle)) scaleX(1)}}@keyframes outro-m-in{0%,67%{opacity:0;background-size:auto 176%}82%{opacity:1;background-size:auto 158%}to{opacity:1;background-size:auto 146%}}@keyframes portfolio-surface-in{0%{opacity:0}to{opacity:1}}@keyframes portfolio-card-arrive{0%{top:var(--portfolio-card-top);left:var(--portfolio-card-left);width:var(--portfolio-card-width);height:var(--portfolio-card-height);opacity:.96;transform:translate(-50%, -50%) scale(var(--portfolio-start-scale))}to{top:var(--portfolio-card-top);left:var(--portfolio-card-left);width:var(--portfolio-card-width);height:var(--portfolio-card-height);opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes portfolio-content-in{0%{opacity:0}to{opacity:1}}@media (width<=720px){.journey-3d{--outro-screen-width:clamp(112px, 28vw, 154px);--portfolio-card-width:86vw;--portfolio-card-height:48.375vw;--portfolio-start-scale:.4;--portfolio-card-left:50vw;--portfolio-card-top:35vh}.journey-outro__copy{padding-inline:10px;font-size:clamp(27px,9.2vw,42px)}.journey-ui__header{top:20px;left:19px}.journey-ui__header small{display:none}.journey-ui__menu{letter-spacing:.12em;gap:12px;font-size:5.5px;top:23px;right:18px}.portfolio-home__header{top:22px;left:18px;right:18px}.portfolio-home__brand{font-size:7px}.portfolio-home__header nav{gap:12px;font-size:9px}.portfolio-home__copy{width:86vw;top:64%;right:7vw}.portfolio-home__index{margin-bottom:10px;font-size:6px}.portfolio-home__copy h1{margin-bottom:9px;font-size:clamp(44px,15vw,68px)}.portfolio-home__copy>p{margin-bottom:14px;font-size:12px}.portfolio-home__copy dl{display:none}.portfolio-home__copy button{padding-block:9px;font-size:7px}.portfolio-home__caption,.portfolio-home__footer{display:none}.journey-ui__rail{right:13px}.journey-ui__operation{bottom:12vh}.journey-ui__operation.is-hold{grid-template-columns:24px auto}.journey-ui__timeline{width:48vw}.journey-ui__sound{bottom:22px;left:19px}.journey-message{grid-template-columns:24px minmax(0,1fr);gap:10px;width:min(74vw,330px);top:31%}.journey-message.is-left{left:20px}.journey-message.is-right{right:28px}.journey-message__copy{gap:10px;padding-left:13px}.journey-message__copy p{font-size:clamp(25px,8vw,35px)}.experience-loader__brand{top:21px;left:20px}.experience-loader__progress{grid-template-columns:21px min(42vw,170px) 35px;bottom:21px;right:19px}}@media (pointer:coarse){.journey-cursor{display:none}}@media (prefers-reduced-motion:reduce){.journey-scene-frame,.journey-outro,.journey-outro__prefix,.journey-outro__suffix,.journey-outro__slot,.journey-outro__ridge,.journey-outro__ridge i,.journey-outro__m,.journey-3d.is-outro:not(.is-portfolio) .journey-scene-frame:before,.journey-3d.is-outro:not(.is-portfolio) .journey-scene-frame:after,.journey-ui__operation.is-hold>span,.journey-ui__operation.is-hold .hold-mark{transition-duration:.01ms;transition-delay:0s;animation-duration:.01ms!important;animation-delay:0s!important}.journey-3d.is-portfolio .portfolio-home,.journey-3d.is-outro.is-portfolio .journey-scene-frame,.portfolio-home__header,.portfolio-home__copy,.portfolio-home__caption,.portfolio-home__footer{animation-duration:.01ms!important;animation-delay:0s!important}.scroll-mark:after{animation:none}}@keyframes portfolio-scene-dissolve{0%{opacity:1;filter:blur()saturate()contrast();transform:scale(1)}45%{opacity:.78;filter:blur(3px)saturate(.82)contrast(.9);transform:scale(.997)}to{opacity:.05;filter:blur(18px)saturate(.35)contrast(.7);transform:scale(.985)}}@keyframes portfolio-scene-emerge{0%{opacity:.06;filter:blur(20px)saturate(.42)contrast(.72);transform:scale(1.012)}38%{opacity:.45;filter:blur(9px)saturate(.72)contrast(.86);transform:scale(1.006)}to{opacity:1;filter:blur()saturate()contrast();transform:scale(1)}}@keyframes portfolio-atmosphere-cover{0%{visibility:visible;opacity:0;-webkit-backdrop-filter:blur();background-color:#f0eee600}52%{opacity:.82;background-color:#f0eee629}to{visibility:visible;opacity:1;-webkit-backdrop-filter:blur(15px);background-color:#f0eee6}}@keyframes portfolio-atmosphere-reveal{0%{visibility:visible;opacity:1;-webkit-backdrop-filter:blur(15px)}42%{opacity:.78}to{visibility:visible;opacity:0;-webkit-backdrop-filter:blur()}}@keyframes portfolio-mist-bloom-a{0%{opacity:0;transform:translate(-50%,-50%)scale(.05)rotate(-8deg)}30%{opacity:.82}to{opacity:1;transform:translate(-50%,-50%)scale(3.9)rotate(7deg)}}@keyframes portfolio-mist-bloom-b{0%{opacity:0;transform:translate(-50%,-50%)scale(.04)rotate(12deg)}38%{opacity:.7}to{opacity:.92;transform:translate(-50%,-50%)scale(4.3)rotate(-6deg)}}@keyframes portfolio-mist-wander-in{0%{opacity:0;transform:translate(-8%,5%)scale(.45)}45%{opacity:.28}to{opacity:.08;transform:translate(7%,-5%)scale(1.55)}}@keyframes portfolio-mist-release-a{0%{opacity:.72;transform:translate(-50%,-50%)scale(3.9)rotate(7deg)}to{opacity:0;transform:translate(-44%,-56%)scale(4.7)rotate(15deg)}}@keyframes portfolio-mist-release-b{0%{opacity:.58;transform:translate(-50%,-50%)scale(4.3)rotate(-6deg)}to{opacity:0;transform:translate(-57%,-43%)scale(5)rotate(-14deg)}}.journey-3d.is-portfolio{touch-action:auto;-webkit-user-select:auto;user-select:auto}.journey-3d.is-portfolio-scrolled .journey-scene-frame{pointer-events:none;transition:opacity .52s;opacity:0!important;animation:none!important}.portfolio-site{z-index:5;visibility:hidden;opacity:0;color:#315f49;background:var(--paper);overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:none;pointer-events:none;position:absolute;inset:0;overflow:hidden auto}.portfolio-site::-webkit-scrollbar{display:none}.journey-3d.is-portfolio .portfolio-site{visibility:visible;opacity:1;pointer-events:auto;animation:.9s both portfolio-surface-in}.portfolio-nav{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#f0eee6fa,#f0eee6e0 72%,#0000);justify-content:space-between;align-items:center;height:92px;padding:0 clamp(26px,4.4vw,76px);display:flex;position:sticky;top:0}.portfolio-nav button{color:#315f49;font:inherit;cursor:pointer;background:0 0;border:0}.portfolio-nav__brand{letter-spacing:.08em;align-items:center;gap:11px;padding:0;display:flex;font-family:Baskerville,Georgia,serif!important;font-size:13px!important}.portfolio-nav__brand .hiromu-logo{width:27px}.portfolio-nav nav{gap:clamp(20px,2.7vw,46px);display:flex}.portfolio-nav nav button{text-transform:capitalize;letter-spacing:.045em;padding:8px 0;font-size:13px;position:relative}.portfolio-nav nav button:after{content:"";background:var(--green);transform-origin:100%;height:1px;transition:transform .35s;position:absolute;bottom:1px;left:0;right:0;transform:scaleX(0)}.portfolio-nav nav button:hover:after,.portfolio-nav nav button.is-current:after{transform-origin:0;transform:scaleX(1)}.portfolio-home{visibility:visible;opacity:1;color:#315f49;background:var(--paper);pointer-events:auto;min-height:100svh;position:relative;overflow:hidden}.journey-3d.is-portfolio .portfolio-home{animation:none}.portfolio-home__visual{top:calc(var(--portfolio-card-top) - var(--portfolio-card-height) / 2);left:calc(var(--portfolio-card-left) - var(--portfolio-card-width) / 2);width:var(--portfolio-card-width);height:var(--portfolio-card-height);border:1px solid #69a78533;position:absolute}.portfolio-home__copy,.portfolio-home__caption,.portfolio-home__footer{opacity:1;animation:.9s .42s both portfolio-content-in}.portfolio-home__copy{top:30%}.portfolio-home__copy h1{color:var(--green);font-size:clamp(62px,6.4vw,110px)}.portfolio-home__copy>p{color:#315f49}.portfolio-home__copy dl>div{grid-template-columns:64px 1fr}.portfolio-home__caption{top:calc(var(--portfolio-card-top) + var(--portfolio-card-height) / 2 + 16px)}.portfolio-kicker{color:var(--green);letter-spacing:.2em;font-size:8px;font-weight:750;display:inline-block}.portfolio-story{background:var(--paper);grid-template-columns:minmax(260px,31vw) minmax(0,1fr);gap:clamp(35px,6vw,108px);padding:19vh clamp(30px,5vw,86px) 10vh;display:grid;position:relative}.portfolio-story__rail{align-self:start;height:fit-content;padding-top:8px;position:sticky;top:19vh}.portfolio-story__rail h2{max-width:12ch;color:var(--green);letter-spacing:-.038em;margin:28px 0 58px;font-family:Baskerville,Georgia,serif;font-size:clamp(39px,4.1vw,68px);font-weight:400;line-height:.98}.portfolio-story__rail button{color:#315f496b;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #69a7853d;grid-template-columns:35px 1fr;gap:14px;padding:13px 0;transition:color .3s,padding-left .3s;display:grid}.portfolio-story__rail button:last-child{border-bottom:1px solid #69a7853d}.portfolio-story__rail button i{font-family:Baskerville,Georgia,serif;font-size:11px;font-style:normal}.portfolio-story__rail button span{letter-spacing:.04em;font-size:12px}.portfolio-story__rail button.is-current,.portfolio-story__rail button:hover{color:#315f49;padding-left:7px}.portfolio-story__panels{min-width:0}.portfolio-panel{border-bottom:1px solid #69a78533;grid-template-columns:minmax(0,1.3fr) minmax(220px,.75fr);align-items:center;gap:clamp(30px,4.5vw,74px);min-height:96vh;padding:8vh 0;display:grid}.portfolio-panel:last-child{border-bottom:0}.portfolio-figure{min-width:0;margin:0}.portfolio-figure__image{aspect-ratio:1.25;background:#d9e4da;position:relative;overflow:hidden}.portfolio-figure__image:after{content:"";opacity:.12;mix-blend-mode:multiply;pointer-events:none;background-image:repeating-radial-gradient(circle at 31% 27%,#1b3a3c33 0 .45px,#0000 .7px 3px);background-size:5px 5px;position:absolute;inset:0}.portfolio-figure img{object-fit:cover;width:100%;height:100%;transition:transform 1.1s cubic-bezier(.2,.72,.22,1),filter .7s;display:block}.portfolio-figure:hover img{transform:scale(1.025)}.portfolio-figure.is-portrait{max-width:460px}.portfolio-figure.is-portrait .portfolio-figure__image{aspect-ratio:.77}.portfolio-figure.is-portrait img{object-position:58% 48%}.portfolio-figure.is-landscape .portfolio-figure__image{aspect-ratio:1.47}.portfolio-figure.is-soft img{object-position:50% 56%;filter:saturate(.78)contrast(.93)}.portfolio-figure.is-wide{grid-column:1/-1}.portfolio-figure.is-wide .portfolio-figure__image{aspect-ratio:1.74}.portfolio-figure.is-dark img{filter:saturate(.82)brightness(.84)}.portfolio-figure figcaption{color:var(--green);letter-spacing:.16em;justify-content:space-between;margin-top:12px;font-size:7px;display:flex}.portfolio-panel__copy{max-width:390px}.portfolio-panel__copy h3{color:var(--green);letter-spacing:-.045em;margin:24px 0 26px;font-family:Baskerville,Georgia,serif;font-size:clamp(45px,5vw,78px);font-weight:400;line-height:.92}.portfolio-panel__copy p{color:#315f49;margin:0;font-family:Baskerville,Georgia,serif;font-size:clamp(16px,1.45vw,21px);line-height:1.58}.portfolio-panel__copy .portfolio-panel__jp{color:#315f49ad;letter-spacing:.06em;margin-top:22px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:11px;line-height:1.9}.portfolio-panel__copy a,.portfolio-panel__copy button{color:#315f49;border:0;border-bottom:1px solid var(--green);letter-spacing:.14em;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;width:100%;margin-top:32px;padding:12px 0;font-size:8px;font-weight:750;text-decoration:none;display:flex}.portfolio-panel.is-project-panel{grid-template-columns:minmax(0,1fr) minmax(250px,.48fr);align-content:center}.portfolio-panel.is-project-panel .portfolio-figure{grid-column:1/-1}.portfolio-panel.is-project-panel .portfolio-panel__copy{grid-column:2;justify-self:end}.research-visual{min-height:min(62vh,640px);color:var(--paper);background:#315f49;align-content:center;padding:clamp(28px,5vw,72px);display:grid;position:relative}.research-visual__screen{background:#203f31;width:min(100%,520px);margin:0 auto;padding:18px 18px 36px;box-shadow:0 24px 54px #0e2b1f47}.research-visual__screen img{aspect-ratio:1.55;object-fit:cover;image-rendering:auto;width:100%;display:block}.research-visual__notes{letter-spacing:.12em;border-top:1px solid #f0eee640;justify-content:space-between;gap:8px;margin-top:28px;padding-top:12px;font-size:6px;display:flex}.research-visual>p{max-width:48ch;margin:35px 0 0;font-family:Baskerville,Georgia,serif;font-size:clamp(17px,1.7vw,25px);line-height:1.35}.portfolio-contact{min-height:100svh;color:var(--paper);background:#315f49;align-content:center;padding:15vh clamp(30px,7vw,120px) 8vh;display:grid;position:relative}.portfolio-contact .portfolio-kicker{color:#f0eee6ad}.portfolio-contact h2{letter-spacing:-.06em;margin:36px 0 20px;font-family:Baskerville,Georgia,serif;font-size:clamp(82px,13.8vw,220px);font-weight:400;line-height:.78}.portfolio-contact>p{margin:0 0 12vh;font-family:Baskerville,Georgia,serif;font-size:clamp(18px,2vw,29px)}.portfolio-contact__links{grid-template-columns:1fr 1fr;gap:8vw;display:grid}.portfolio-contact__links a{color:var(--paper);border-top:1px solid #f0eee666;border-bottom:1px solid #f0eee666;grid-template-columns:65px 1fr auto;align-items:center;gap:18px;padding:18px 0;text-decoration:none;display:grid}.portfolio-contact__links small{opacity:.58;letter-spacing:.16em;font-size:7px}.portfolio-contact__links span{text-overflow:ellipsis;font-family:Baskerville,Georgia,serif;font-size:clamp(14px,1.6vw,22px);overflow:hidden}.portfolio-contact__links i{font-style:normal;transition:transform .3s}.portfolio-contact__links a:hover i{transform:translate(4px,-4px)}.portfolio-contact footer{opacity:.58;letter-spacing:.15em;justify-content:space-between;font-size:7px;display:flex;position:absolute;bottom:34px;left:clamp(30px,7vw,120px);right:clamp(30px,7vw,120px)}.hiromu-logo{align-items:center;gap:22px;display:inline-flex}.hiromu-logo svg{width:clamp(74px,9vw,118px);overflow:visible}.hiromu-logo path{fill:none;stroke:#bcd6c7;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .78s,opacity .78s,filter .78s}.hiromu-logo circle{fill:#bcd6c7;transition:fill .78s,filter .78s}.hiromu-logo .is-focus{stroke:#315f49;fill:#315f49;filter:drop-shadow(0 0 6px #69a7853d)}.stage-4 .hiromu-logo path{stroke:var(--green)}.stage-4 .hiromu-logo circle{fill:var(--green)}.hiromu-logo__word{color:#bcd6c7;letter-spacing:-.05em;font-family:Helvetica Neue,Arial,sans-serif;font-size:clamp(48px,6vw,88px);font-weight:300;display:flex}.hiromu-logo__word i{font-style:normal;transition:color .78s,opacity .78s,filter .78s}.hiromu-logo__word i.is-focus,.stage-4 .hiromu-logo__word i{color:#315f49}.hiromu-logo.is-compact svg{width:28px}.hiromu-logo.is-compact path{stroke:var(--green)}.hiromu-logo.is-compact circle{fill:var(--green)}.experience-loader__center{justify-items:center;width:min(86vw,720px);display:grid}.experience-loader__center>p{color:#315f49;letter-spacing:.22em;margin:22px 0 38px;font-size:8px;font-weight:700}.experience-loader__center button{opacity:.42;border-bottom:1px solid #315f4959;align-items:center;gap:18px;min-width:210px;padding:12px 0;transition:opacity .42s,border-color .42s;display:flex}.experience-loader__center button:disabled{cursor:wait}.experience-loader__center button>i{width:auto;height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;margin-left:auto;font-style:normal;animation:none}.experience-loader.is-ready .experience-loader__center button{opacity:1;border-color:var(--green)}.experience-loader.is-ready .experience-loader__center button>i{box-shadow:none}.journey-3d.is-portfolio .journey-cursor.is-entered[data-visible=true]{opacity:1}@media (width<=900px){.portfolio-nav{height:70px;padding-inline:20px}.portfolio-nav__brand span{display:none}.portfolio-nav nav{gap:15px}.portfolio-nav nav button{font-size:10px}.portfolio-story{padding:12vh 22px 6vh;display:block}.portfolio-story__rail{margin-bottom:8vh;position:relative;top:auto}.portfolio-story__rail h2{margin:20px 0 28px;font-size:clamp(42px,11vw,58px)}.portfolio-story__rail nav{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.portfolio-story__rail button:nth-child(2){border-top:1px solid #69a7853d}.portfolio-panel,.portfolio-panel.is-project-panel{grid-template-columns:1fr;gap:38px;min-height:auto;padding:12vh 0}.portfolio-panel.is-project-panel .portfolio-panel__copy,.portfolio-panel.is-project-panel .portfolio-figure{grid-column:1}.portfolio-panel__copy{max-width:560px}.portfolio-panel__copy h3{font-size:clamp(48px,14vw,72px)}.portfolio-figure.is-portrait{max-width:72vw}.research-visual{min-height:58vh}.portfolio-contact{padding-inline:24px}.portfolio-contact h2{font-size:clamp(76px,21vw,130px)}.portfolio-contact__links{grid-template-columns:1fr;gap:24px}.portfolio-contact footer{left:24px;right:24px}}.portfolio-site.is-mist-cover .portfolio-page-transition{transform-origin:50%;animation:.94s cubic-bezier(.42,0,.28,1) both portfolio-scene-dissolve}.portfolio-site.is-mist-reveal .portfolio-page-transition{transform-origin:50%;animation:1.08s cubic-bezier(.2,.72,.18,1) both portfolio-scene-emerge}.portfolio-site .portfolio-mist-transition{clip-path:none;isolation:isolate;background:#f0eee600}.portfolio-site .portfolio-mist-transition:before,.portfolio-site .portfolio-mist-transition:after{z-index:0;content:"";opacity:0;transform-origin:50%;filter:blur(34px);will-change:transform, opacity;border-radius:44% 56% 62% 38%/52% 42% 58% 48%;width:64vmax;height:64vmax;position:absolute;transform:translate(-50%,-50%)scale(.05)rotate(-8deg)}.portfolio-site .portfolio-mist-transition:before{top:var(--mist-y);left:var(--mist-x);background:radial-gradient(circle at 35% 42%,#fffffffa 0 13%,#0000 42%),radial-gradient(circle at 68% 34%,#f0eee6f5 0 18%,#0000 52%),radial-gradient(circle at 48% 72%,#e0e8e0e6 0 16%,#0000 54%)}.portfolio-site .portfolio-mist-transition:after{top:calc(var(--mist-y) + 9vmax);left:calc(var(--mist-x) - 11vmax);background:radial-gradient(circle at 62% 38%,#fffffff0 0 15%,#0000 50%),radial-gradient(circle at 32% 64%,#dbe6dde6 0 17%,#0000 55%)}.portfolio-site .portfolio-mist-transition i{z-index:1;opacity:0;will-change:transform, opacity}.portfolio-site .portfolio-mist-transition.is-cover{clip-path:none;animation:1.05s cubic-bezier(.48,.02,.24,1) both portfolio-atmosphere-cover}.portfolio-site .portfolio-mist-transition.is-cover:before{animation:1.05s cubic-bezier(.42,.04,.22,1) both portfolio-mist-bloom-a}.portfolio-site .portfolio-mist-transition.is-cover:after{animation:1.05s cubic-bezier(.38,.02,.2,1) 70ms both portfolio-mist-bloom-b}.portfolio-site .portfolio-mist-transition.is-cover i{animation:.9s cubic-bezier(.4,.02,.22,1) both portfolio-mist-wander-in}.portfolio-site .portfolio-mist-transition.is-cover i:nth-child(2){animation-delay:80ms}.portfolio-site .portfolio-mist-transition.is-cover i:nth-child(3){animation-delay:.15s}.portfolio-site .portfolio-mist-transition.is-reveal{clip-path:none;background:#f0eee6;animation:1.05s cubic-bezier(.22,.7,.18,1) both portfolio-atmosphere-reveal}.portfolio-site .portfolio-mist-transition.is-reveal:before{animation:1.05s cubic-bezier(.22,.7,.18,1) both portfolio-mist-release-a}.portfolio-site .portfolio-mist-transition.is-reveal:after{animation:1.05s cubic-bezier(.22,.7,.18,1) both portfolio-mist-release-b}@media (prefers-reduced-motion:reduce){.portfolio-site.is-mist-cover .portfolio-page-transition,.portfolio-site.is-mist-reveal .portfolio-page-transition{filter:none;animation-duration:90ms;transform:none}.portfolio-site .portfolio-mist-transition:before,.portfolio-site .portfolio-mist-transition:after,.portfolio-site .portfolio-mist-transition i{display:none}}.experience-loader .hiromu-logo path,.experience-loader .hiromu-logo circle{stroke:#69a785;opacity:.26}.experience-loader .hiromu-logo path.is-focus,.experience-loader .hiromu-logo circle.is-focus,.experience-loader.stage-4 .hiromu-logo path,.experience-loader.stage-4 .hiromu-logo circle{stroke:#69a785;opacity:1;filter:drop-shadow(0 0 7px #69a78533)}.experience-loader .hiromu-logo__word i{opacity:.26;transition:color .5s,opacity .5s,filter .5s}.experience-loader .hiromu-logo__word i.is-focus,.experience-loader.stage-4 .hiromu-logo__word i{opacity:1;filter:drop-shadow(0 0 7px #69a78529)}.experience-loader__count{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;align-items:baseline;width:min(72vw,270px);margin-top:clamp(30px,5vh,52px);display:grid}.experience-loader__count>span{letter-spacing:.12em;font-family:Baskerville,Georgia,serif;font-size:clamp(24px,3vw,38px);font-weight:400;line-height:1}.experience-loader__count>small{letter-spacing:.14em;font-size:8px;font-weight:700}.experience-loader__count>i{background:#69a7852e;grid-column:1/-1;height:1px;margin-top:13px;display:block;position:relative;overflow:hidden}.experience-loader__count>i b{background:#69a785;transition:width .16s linear;position:absolute;inset:0 auto 0 0}.experience-loader__action{align-items:start;width:min(72vw,270px);min-height:72px;padding-top:22px;display:grid}.experience-loader__action .experience-loader__center button,.experience-loader__action button{opacity:1;border-bottom-color:#69a785;width:100%;min-width:0;padding:13px 0;animation:.7s cubic-bezier(.22,.72,.2,1) both loader-action-in}@keyframes loader-action-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.portfolio-home__copy{top:61%}.portfolio-home__copy h1{font-size:clamp(48px,16vw,72px)}.portfolio-home__copy dl{display:none}.portfolio-story__rail nav{grid-template-columns:1fr}.portfolio-contact footer span:nth-child(2){display:none}}.journey-3d.is-portfolio .journey-ui__header,.journey-3d.is-portfolio .journey-ui__menu,.journey-3d.is-portfolio .journey-message,.journey-3d.is-portfolio .journey-ui__rail,.journey-3d.is-portfolio .journey-ui__operation,.journey-3d.is-portfolio .journey-ui__sound{visibility:hidden;opacity:0;pointer-events:none}.portfolio-site{touch-action:pan-y;-webkit-overflow-scrolling:touch;height:100%}.portfolio-site.is-page-home,.portfolio-site.is-page-contact{overflow-y:hidden}.portfolio-page-transition{min-height:calc(100svh - 92px);animation:.62s cubic-bezier(.22,.72,.2,1) both portfolio-page-reveal}.portfolio-home,.portfolio-contact{min-height:calc(100svh - 92px)}.portfolio-story{min-height:calc(100svh - 92px);padding-top:11vh}.portfolio-story__rail{top:calc(92px + 7vh)}.portfolio-story__rail h2,.portfolio-panel__copy h3,.portfolio-contact h2{text-wrap:balance}.portfolio-story__rail h2{max-width:10ch;font-weight:400;line-height:.96}.portfolio-panel{grid-template-columns:minmax(0,1.25fr) minmax(250px,.72fr);min-height:calc(100svh - 92px);padding:7vh 0}.portfolio-figure,.portfolio-figure.is-portrait,.portfolio-figure.is-wide{width:100%;max-width:none}.portfolio-figure__image,.portfolio-figure.is-portrait .portfolio-figure__image,.portfolio-figure.is-landscape .portfolio-figure__image,.portfolio-figure.is-wide .portfolio-figure__image,.research-visual{aspect-ratio:auto;width:100%;height:clamp(340px,56vh,560px);min-height:0}.portfolio-figure img{object-position:center}.portfolio-panel__copy h3{letter-spacing:-.04em;max-width:11ch;margin-block:21px 22px;font-size:clamp(43px,4.7vw,72px);font-weight:400;line-height:.95}.portfolio-panel__copy p{max-width:31ch;font-size:clamp(16px,1.35vw,20px);line-height:1.55}.portfolio-panel__copy .portfolio-panel__jp{max-width:35ch;margin-top:17px;font-size:10px}.research-visual{padding:clamp(24px,4vw,52px)}.research-visual__screen{width:100%;max-width:500px}.research-visual__notes{margin-top:20px}.portfolio-home__copy>p{max-width:30ch}.portfolio-contact{padding-top:10vh}.portfolio-contact h2{margin-block:28px 18px}.portfolio-contact>p{margin-bottom:10vh}.journey-ui__menu button{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:5px 0;position:relative}.journey-ui__menu button:after{content:"";background:var(--green);transform-origin:100%;height:1px;transition:transform .35s;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.journey-ui__menu button:hover:after,.journey-ui__menu button:focus-visible:after{transform-origin:0;transform:scaleX(1)}.journey-ui__operation{min-height:0;color:var(--paper);box-shadow:none;letter-spacing:.13em;text-shadow:none;background:0 0;border:0;border-radius:0;gap:11px;padding:0;font-size:11px;animation:.65s cubic-bezier(.22,1,.36,1) both operation-arrive;bottom:clamp(34px,6.5vh,72px)}.journey-ui__operation:not(.is-hold){opacity:.68}.journey-ui__operation.is-quiet{opacity:.3;gap:0;transform:translate(-50%)translateY(5px)scale(.92)}.journey-ui__operation.is-quiet>span{opacity:0;width:0;overflow:hidden}.journey-ui__operation.is-hold{color:#f6f0e3;filter:drop-shadow(0 1px 8px #08171557);grid-template-columns:54px auto;gap:0 13px;min-width:0;animation:.82s cubic-bezier(.22,1,.36,1) .32s both hold-cue-arrive}.journey-ui__operation.is-hold>span{transform-origin:0;letter-spacing:.2em;font-size:15px;animation:2.4s cubic-bezier(.45,0,.55,1) infinite hold-word-breathe;display:inline-block}.journey-ui__operation.is-hold:not(.is-holding) .hold-mark{transform-origin:50%;animation:2.4s cubic-bezier(.45,0,.55,1) .22s infinite hold-ring-breathe}.journey-3d.is-gate-fog .journey-ui__operation.is-hold{color:#f6f0e3}.journey-ui__operation.is-holding{gap:0;min-width:0;display:grid}.journey-ui__operation.is-holding>span,.journey-ui__operation.is-holding .hold-mark{animation:none}.journey-ui__operation.is-holding .hold-mark{border-color:currentColor;grid-row:auto;width:54px;height:54px;box-shadow:0 0 0 8px #69a78514}.journey-ui__operation.is-transition{opacity:0;pointer-events:none}.journey-ui__operation small{color:#f0eee6b8;letter-spacing:.12em;font-size:6px}.hold-mark{background:0 0;border:1px solid;width:54px;height:54px}.hold-mark:before{background:conic-gradient(currentColor var(--hold-progress), #f0eee621 0);inset:-1px;-webkit-mask:radial-gradient(circle,#0000 62%,#000 64%);mask:radial-gradient(circle,#0000 62%,#000 64%)}.hold-mark:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.5s ease-in-out infinite hold-breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #f0eee61a}.scroll-mark{width:17px;height:26px;box-shadow:none;background:0 0;border:1px solid #f0eee6ad;border-radius:10px}.scroll-mark:after{content:"";background:var(--paper);border-radius:3px;width:3px;height:5px;animation:1.45s ease-in-out infinite scroll-dot;position:absolute;top:5px;left:50%;transform:translate(-50%)}.journey-3d.has-gate .journey-ui__rail{opacity:.2}@keyframes operation-arrive{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.94)}}@keyframes hold-word-breathe{0%,to{opacity:.66;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}@keyframes hold-ring-breathe{0%,to{opacity:.68;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}@keyframes hold-cue-arrive{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.82)}68%{opacity:1;transform:translate(-50%)translateY(-2px)scale(1.07)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes fog-gate-gather{0%{opacity:0;transform:scale(1.22,1.08)}34%{opacity:.64;transform:scale(.82,1.02)}64%{opacity:.18;transform:scaleX(1.02)}to{opacity:.1;transform:scaleX(.97)}}.experience-loader__topography{display:none}.experience-loader .hiromu-logo path,.experience-loader .hiromu-logo path.is-focus{fill:none!important}.experience-loader .hiromu-logo circle{fill:none;stroke:#bcd6c7;stroke-width:1.2px}.experience-loader .hiromu-logo circle.is-focus,.experience-loader.stage-4 .hiromu-logo circle{fill:none;stroke:#315f49}.experience-loader__center{gap:0}.experience-loader__center>p{margin:24px 0 17px;font-size:9px}.experience-loader__sequence{grid-template-columns:repeat(3,52px);gap:9px;margin-bottom:29px;display:grid}.experience-loader__sequence i{color:#315f4957;letter-spacing:.18em;gap:7px;font-size:6px;font-style:normal;transition:color .45s;display:grid}.experience-loader__sequence i b{transform-origin:0;background:#315f4926;width:100%;height:1px;transition:background .45s,transform .45s;display:block;transform:scaleX(.22)}.experience-loader__sequence i.is-active{color:#315f49}.experience-loader__sequence i.is-active b{background:var(--green);transform:scaleX(1)}.experience-loader__center button{min-width:230px;padding:14px 0}.experience-loader__center button span{letter-spacing:.18em;font-size:9px}@keyframes portfolio-page-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hold-breathe{0%,to{opacity:.62;transform:translate(-50%,-50%)scale(.82)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@keyframes scroll-dot{0%{opacity:0;transform:translate(-50%)}35%{opacity:1}80%,to{opacity:0;transform:translate(-50%,10px)}}@media (width<=900px){.portfolio-page-transition,.portfolio-home,.portfolio-contact,.portfolio-story{min-height:calc(100svh - 70px)}.portfolio-story{padding-top:8vh}.portfolio-story__rail{z-index:4;background:linear-gradient(#f0eee6fa,#f0eee6ed);margin:0 -22px 4vh;padding:26px 22px 18px;position:sticky;top:70px}.portfolio-story.is-project .portfolio-story__rail{background:linear-gradient(#e8eee8fa,#e8eee8ed)}.portfolio-story__rail h2{margin-bottom:24px}.portfolio-panel{min-height:auto;padding:9vh 0}.portfolio-figure__image,.portfolio-figure.is-portrait .portfolio-figure__image,.portfolio-figure.is-landscape .portfolio-figure__image,.portfolio-figure.is-wide .portfolio-figure__image,.research-visual{aspect-ratio:4/3;height:auto}.journey-ui__operation{bottom:7vh}}@media (width<=560px){.portfolio-nav nav{gap:12px}.portfolio-nav nav button{font-size:9px}.portfolio-story__rail nav{scrollbar-width:none;gap:18px;padding-bottom:5px;display:flex;overflow-x:auto}.portfolio-story__rail button{border:0;min-width:max-content;padding:4px 0}.portfolio-story__rail button:last-child{border:0}.experience-loader__brand{top:22px;left:22px}.experience-loader__progress{grid-template-columns:24px 1fr 36px;bottom:22px;left:22px;right:22px}.experience-loader .hiromu-logo{flex-direction:column}.experience-loader__sequence{grid-template-columns:repeat(3,42px)}}.journey-3d{--portfolio-card-top:50vh;--portfolio-card-height:58vh;--portfolio-card-left:32vw;--portfolio-card-width:min(54vw, 960px)}.portfolio-site{touch-action:pan-y;overflow:hidden}.portfolio-nav{z-index:40;position:absolute;top:0;left:0;right:0}.portfolio-page-transition{height:100svh;min-height:0;position:absolute;inset:0;overflow:hidden}.portfolio-home{width:100%;height:100svh;min-height:0;position:absolute;inset:0}.portfolio-home__copy{top:calc(var(--portfolio-card-top) - var(--portfolio-card-height) / 2);height:var(--portfolio-card-height);flex-direction:column;display:flex}.portfolio-home__copy .portfolio-home__index{margin-bottom:clamp(13px,1.8vh,22px)}.portfolio-home__copy h1{margin-bottom:clamp(12px,1.8vh,22px)}.portfolio-home__copy>p{margin-bottom:clamp(18px,2.6vh,32px)}.portfolio-home__copy dl{gap:8px;margin-bottom:0}.portfolio-home__copy dl>div:last-child{border-bottom:1px solid #69a78552;padding-bottom:8px}.portfolio-home__copy>button{margin-top:auto}.portfolio-story{background:var(--paper);grid-template-columns:minmax(300px,34vw) minmax(0,1fr);gap:0;width:100%;height:100svh;min-height:0;padding:92px 0 0;display:grid;overflow:hidden}.portfolio-story.is-project{background:var(--paper)}.portfolio-story__rail,.portfolio-story.is-project .portfolio-story__rail{z-index:2;height:100%;color:var(--paper);background:radial-gradient(circle at 80% 14%,#69a78533,#0000 34%),#173b2d;align-self:stretch;margin:0;padding:clamp(50px,7vh,82px) clamp(34px,5vw,76px);position:relative;top:auto;overflow:hidden}.portfolio-story__rail h2{max-width:9ch;color:var(--paper);margin:clamp(24px,4vh,44px) 0 clamp(34px,6vh,64px);font-size:clamp(42px,4.3vw,72px)}.portfolio-story__rail nav{max-width:380px;display:grid}.portfolio-story__rail button{color:#f0eee659;border-top-color:#f0eee624;grid-template-columns:38px 1fr;gap:16px;padding:15px 0}.portfolio-story__rail button:last-child{border-bottom-color:#f0eee624}.portfolio-story__rail button.is-current,.portfolio-story__rail button:hover,.portfolio-story__rail button:focus-visible{color:var(--paper)}.portfolio-story__panels{overscroll-behavior:contain;scroll-behavior:smooth;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:#69a7858a transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:linear-gradient(#f0eee6e0,#f0eee6f0),url(/portfolio/nagano-summer.jpg) 50%/cover;min-width:0;height:100%;padding:0 clamp(36px,5vw,78px);position:relative;overflow:hidden auto}.portfolio-story.is-project .portfolio-story__panels{background:linear-gradient(#e8eee8e0,#f0eee6f2),url(/portfolio/journey-day-clear-river.jpg) 50%/cover}.portfolio-story__panels::-webkit-scrollbar{width:4px}.portfolio-story__panels::-webkit-scrollbar-thumb{background:#69a7858a}.portfolio-panel{scroll-snap-align:start;border-bottom-color:#69a7853d;width:min(100%,1120px);min-height:calc(100svh - 92px);margin:0 auto;padding:clamp(58px,8vh,92px) 0}.portfolio-panel__copy{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f0eee6f5;border:1px solid #69a78538;max-width:430px;padding:clamp(24px,3vw,42px);box-shadow:0 24px 62px #315f491a}.portfolio-panel__copy h3{font-size:clamp(40px,4.3vw,67px)}@media (width<=900px){.journey-3d{--portfolio-card-width:86vw;--portfolio-card-height:48.375vw;--portfolio-card-left:50vw;--portfolio-card-top:35vh}.portfolio-nav{height:70px}.portfolio-page-transition{height:100svh}.portfolio-story{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:100svh;padding:70px 0 0}.portfolio-story__rail,.portfolio-story.is-project .portfolio-story__rail{height:auto;padding:22px}.portfolio-story__rail h2{max-width:none;margin:10px 0 17px;font-size:clamp(31px,8vw,48px)}.portfolio-story__rail nav{scrollbar-width:none;gap:20px;max-width:none;display:flex;overflow-x:auto}.portfolio-story__rail button,.portfolio-story__rail button:last-child{border:0;min-width:max-content;padding:6px 0}.portfolio-story__panels{height:100%;padding-inline:22px}.portfolio-panel{grid-template-columns:1fr;min-height:auto;padding:8vh 0}.portfolio-panel__copy{max-width:none}}@media (width<=720px){.portfolio-home__copy{height:auto;top:61%}.portfolio-home__copy>button{margin-top:20px}}.portfolio-site.is-page-about,.portfolio-site.is-page-project{z-index:20;overscroll-behavior-y:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#69a78594 transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow:hidden auto}.portfolio-site.is-page-contact{z-index:20}.portfolio-site.is-page-about::-webkit-scrollbar{width:4px;display:block}.portfolio-site.is-page-project::-webkit-scrollbar{width:4px;display:block}.portfolio-site.is-page-about::-webkit-scrollbar-thumb{background:#69a78594}.portfolio-site.is-page-project::-webkit-scrollbar-thumb{background:#69a78594}.portfolio-site.is-page-about .portfolio-nav,.portfolio-site.is-page-project .portfolio-nav{z-index:60;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f0eee6f0;flex:0 0 92px;position:sticky;top:0;left:auto;right:auto;box-shadow:0 1px #69a7851f}.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{align-items:start;width:100%;height:auto;min-height:calc(100svh - 92px);padding:0;overflow:visible}.portfolio-site.is-page-about .portfolio-story__panels,.portfolio-site.is-page-project .portfolio-story__panels{overscroll-behavior:auto;scroll-snap-type:none;height:auto;min-height:calc(100svh - 92px);overflow:visible}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel{min-height:calc(100svh - 92px);scroll-margin-top:92px}@media (width<=900px){.portfolio-site.is-page-about .portfolio-nav,.portfolio-site.is-page-project .portfolio-nav{flex-basis:70px}.portfolio-site.is-page-about .portfolio-page-transition,.portfolio-site.is-page-project .portfolio-page-transition,.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{min-height:calc(100svh - 70px)}.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{display:block}.portfolio-site.is-page-about .portfolio-story__rail,.portfolio-site.is-page-project .portfolio-story__rail{height:auto;position:sticky;top:70px}.portfolio-site.is-page-about .portfolio-story__panels,.portfolio-site.is-page-project .portfolio-story__panels{min-height:auto}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel{min-height:auto;scroll-margin-top:220px}}.experience-loader,.experience-loader__brand span,.experience-loader__brand small,.experience-loader__count,.experience-loader__center button,.experience-loader__center button span{color:#69a785}.experience-loader .hiromu-logo{gap:clamp(25px,3vw,42px)}.experience-loader .hiromu-logo path,.experience-loader .hiromu-logo circle{stroke:#69a785;fill:none;opacity:.26}.experience-loader .hiromu-logo path.is-focus,.experience-loader .hiromu-logo circle.is-focus,.experience-loader.stage-4 .hiromu-logo path,.experience-loader.stage-4 .hiromu-logo circle{stroke:#69a785;fill:none;opacity:1}.experience-loader .hiromu-logo__word{color:#69a785;letter-spacing:.01em;gap:.025em}.experience-loader .hiromu-logo__word i,.experience-loader .hiromu-logo__word i.is-focus,.experience-loader.stage-4 .hiromu-logo__word i{color:#69a785}.experience-loader .hiromu-logo__word i{opacity:.26}.experience-loader .hiromu-logo__word i.is-focus,.experience-loader.stage-4 .hiromu-logo__word i{opacity:1}.experience-loader__action button,.experience-loader.is-ready .experience-loader__action button{opacity:1;border-color:#69a785;width:100%;min-width:0}.experience-loader__ready{gap:10px;width:100%;animation:.72s cubic-bezier(.2,.78,.2,1) both loader-ready-reveal;display:grid}.experience-loader__ready>small{color:#69a785;letter-spacing:.28em;text-align:center;font-size:8px;font-weight:700}.experience-loader.is-ready .experience-loader__action button{color:#f0eee6;background:#69a785;border:1px solid #69a785;min-height:58px;padding:0 18px;transition:transform .32s,box-shadow .32s;position:relative;overflow:hidden;box-shadow:0 14px 34px #69a78533,0 0 0 1px #69a78514}.experience-loader.is-ready .experience-loader__action button:before{content:"";background:linear-gradient(112deg,#0000 22%,#f0eee633 48%,#0000 74%);animation:2.8s .9s infinite loader-ready-sheen;position:absolute;inset:0;transform:translate(-120%)}.experience-loader.is-ready .experience-loader__action button span,.experience-loader.is-ready .experience-loader__action button>i{z-index:1;color:#f0eee6;position:relative}.experience-loader.is-ready .experience-loader__action button span{letter-spacing:.2em;font-size:9px;font-weight:700}.experience-loader.is-ready .experience-loader__action button:hover{transform:translateY(-2px);box-shadow:0 18px 42px #69a78547,0 0 0 1px #69a7851f}.experience-loader.is-ready .experience-loader__count>i{box-shadow:0 0 14px #69a78552}.journey-3d.is-outro.is-portfolio:not(.is-portfolio-scrolled) .journey-scene-frame{top:var(--portfolio-card-top);left:var(--portfolio-card-left);width:var(--portfolio-card-width);height:var(--portfolio-card-height);opacity:1;transform-origin:50%;will-change:auto;transition:none;animation:none;transform:translate(-50%,-50%)scale(1)}@keyframes loader-ready-reveal{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes loader-ready-sheen{0%,58%{transform:translate(-120%)}82%,to{transform:translate(120%)}}.portfolio-site.is-page-about,.portfolio-site.is-page-project{overscroll-behavior:none;touch-action:none;scrollbar-width:none;overflow:hidden}.portfolio-site.is-page-about::-webkit-scrollbar{display:none}.portfolio-site.is-page-project::-webkit-scrollbar{display:none}.portfolio-site.is-page-about .portfolio-nav,.portfolio-site.is-page-project .portfolio-nav{z-index:60;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f0eee6ed;height:92px;position:absolute;top:0;left:0;right:0;box-shadow:0 1px #69a78524}.portfolio-site.is-page-project .portfolio-nav{background:#e8eee8ed}.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{grid-template-columns:minmax(270px,28vw) minmax(0,1fr);gap:0;width:100%;height:100svh;min-height:0;padding:92px 0 0;display:grid;position:absolute;inset:0;overflow:hidden}.portfolio-site.is-page-about .portfolio-story__rail,.portfolio-site.is-page-project .portfolio-story__rail{border-right:1px solid #69a7852e;flex-direction:column;align-self:stretch;height:100%;min-height:0;padding:clamp(44px,6vh,76px) clamp(28px,4vw,68px) clamp(28px,4vh,50px);display:flex;position:relative;top:auto}.portfolio-site.is-page-about .portfolio-story__rail h2,.portfolio-site.is-page-project .portfolio-story__rail h2{margin:clamp(20px,3vh,36px) 0 clamp(30px,5vh,58px);font-size:clamp(38px,3.6vw,62px)}.portfolio-story__hint{color:#69a785;letter-spacing:.19em;align-items:center;gap:10px;margin:auto 0 0;font-size:7px;font-weight:750;display:flex}.portfolio-story__hint span{border:1px solid #69a78580;border-radius:50%;place-items:center;width:24px;height:24px;animation:1.8s ease-in-out infinite portfolio-scroll-cue;display:grid}.portfolio-site.is-page-about .portfolio-story__panels,.portfolio-site.is-page-project .portfolio-story__panels{scroll-snap-type:none;width:100%;height:100%;min-height:0;padding:0;position:relative;overflow:hidden}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel{z-index:1;opacity:0;visibility:hidden;pointer-events:none;border:0;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:center;gap:clamp(32px,4.2vw,78px);width:100%;height:100%;min-height:0;padding:clamp(34px,5vh,70px) clamp(34px,5vw,88px);transition:opacity .46s,transform .72s cubic-bezier(.2,.74,.2,1),visibility 0s linear .72s;display:grid;position:absolute;inset:0;overflow:hidden;transform:translateY(46px)}.portfolio-site.is-page-about .portfolio-panel.is-before,.portfolio-site.is-page-project .portfolio-panel.is-before{transform:translateY(-46px)}.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{z-index:2;opacity:1;visibility:visible;pointer-events:auto;transition-delay:80ms,0s,0s;transform:translateY(0)}.portfolio-site.is-page-about .portfolio-figure,.portfolio-site.is-page-project .portfolio-figure,.portfolio-site.is-page-about .research-visual,.portfolio-site.is-page-project .research-visual{width:100%;max-width:none}.portfolio-site.is-page-about .portfolio-figure__image,.portfolio-site.is-page-project .portfolio-figure__image,.portfolio-site.is-page-about .research-visual,.portfolio-site.is-page-project .research-visual{aspect-ratio:auto;width:100%;height:min(56vh,560px);min-height:340px}.portfolio-figure.is-about-selected img{object-position:55% 59%}.portfolio-site.is-page-about .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-panel__copy{width:100%;max-width:520px;padding-right:clamp(0px,2vw,28px)}.portfolio-site.is-page-about .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-panel__copy h3{max-width:12ch;font-size:clamp(42px,4.4vw,72px)}.portfolio-site.is-page-about .portfolio-panel__copy p,.portfolio-site.is-page-project .portfolio-panel__copy p{max-width:42ch;font-size:clamp(16px,1.25vw,20px)}@keyframes portfolio-scroll-cue{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}@media (width<=900px){.portfolio-site.is-page-about .portfolio-nav,.portfolio-site.is-page-project .portfolio-nav{height:70px}.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;padding-top:70px}.portfolio-site.is-page-about .portfolio-story__rail,.portfolio-site.is-page-project .portfolio-story__rail{background:0 0;border-bottom:1px solid #69a7852e;border-right:0;height:auto;margin:0;padding:20px 22px 16px;position:relative;top:auto}.portfolio-site.is-page-about .portfolio-story__rail h2,.portfolio-site.is-page-project .portfolio-story__rail h2{max-width:none;margin:7px 0 12px;font-size:29px}.portfolio-site.is-page-about .portfolio-story__rail nav,.portfolio-site.is-page-project .portfolio-story__rail nav{scrollbar-width:none;gap:18px;max-width:none;padding:0;display:flex;overflow-x:auto}.portfolio-site.is-page-about .portfolio-story__rail button,.portfolio-site.is-page-project .portfolio-story__rail button{border:0;min-width:max-content;padding:4px 0}.portfolio-story__hint{display:none}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel{grid-template-rows:minmax(180px,31vh) auto;grid-template-columns:1fr;align-content:center;gap:20px;padding:20px 22px 28px}.portfolio-site.is-page-about .portfolio-figure__image,.portfolio-site.is-page-project .portfolio-figure__image,.portfolio-site.is-page-about .research-visual,.portfolio-site.is-page-project .research-visual{aspect-ratio:auto;height:100%;min-height:0}.portfolio-site.is-page-about .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-panel__copy{max-width:620px;padding-right:0}.portfolio-site.is-page-about .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-panel__copy h3{margin:10px 0 12px;font-size:clamp(31px,7vw,46px)}.portfolio-site.is-page-about .portfolio-panel__copy p,.portfolio-site.is-page-project .portfolio-panel__copy p{font-size:14px}}@media (prefers-reduced-motion:reduce){.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel{transition-duration:1ms}}.portfolio-site.is-page-about,.portfolio-site.is-page-project{overscroll-behavior-y:contain;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#69a78580 transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch;scroll-padding-top:92px;overflow:hidden auto}.portfolio-site.is-page-about::-webkit-scrollbar{width:4px;display:block}.portfolio-site.is-page-project::-webkit-scrollbar{width:4px;display:block}.portfolio-site.is-page-about::-webkit-scrollbar-thumb{background:#69a78580}.portfolio-site.is-page-project::-webkit-scrollbar-thumb{background:#69a78580}.portfolio-site.is-page-about .portfolio-nav,.portfolio-site.is-page-project .portfolio-nav{z-index:60;height:92px;position:sticky;top:0;left:auto;right:auto}.portfolio-site.is-page-about .portfolio-story__rail,.portfolio-site.is-page-project .portfolio-story__rail{z-index:4;align-self:start;height:calc(100svh - 92px);position:sticky;top:92px;overflow:hidden}.portfolio-site.is-page-about .portfolio-story__panels,.portfolio-site.is-page-project .portfolio-story__panels{width:100%;height:auto;min-height:calc(100svh - 92px);position:relative;overflow:visible}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{z-index:1;opacity:1;visibility:visible;pointer-events:auto;width:100%;height:auto;min-height:calc(100svh - 92px);scroll-margin-top:92px;transition:none;position:relative;inset:auto;overflow:visible;transform:none}@media (width<=900px){.portfolio-site.is-page-about,.portfolio-site.is-page-project{scroll-padding-top:70px}.portfolio-site.is-page-about .portfolio-nav,.portfolio-site.is-page-project .portfolio-nav{height:70px}.portfolio-site.is-page-about .portfolio-page-transition,.portfolio-site.is-page-project .portfolio-page-transition,.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{min-height:calc(100svh - 70px)}.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{padding-top:0;display:block}.portfolio-site.is-page-about .portfolio-story__rail,.portfolio-site.is-page-project .portfolio-story__rail{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f0eee6f5;height:auto;max-height:none;position:sticky;top:70px;overflow:hidden}.portfolio-site.is-page-project .portfolio-story__rail{background:#e8eee8f5}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{min-height:calc(100svh - 210px);scroll-margin-top:210px}}.experience-loader{background:var(--paper)}.experience-loader__grain{opacity:.12}.experience-loader__brand{display:none}.experience-loader__center{justify-items:center;width:min(90vw,820px);display:grid;top:50%;left:50%;transform:translate(-50%,-50%)}.experience-loader .hiromu-logo{justify-content:center;width:100%}.experience-loader__count{font-variant-numeric:tabular-nums;grid-template-columns:1fr;justify-items:center;width:min(68vw,560px);margin-top:clamp(42px,6vh,68px);transition:transform .56s cubic-bezier(.65,0,.35,1),opacity .42s;display:grid}.experience-loader__count>span{letter-spacing:.04em;justify-content:center;align-items:baseline;gap:.12em;font-family:Baskerville,Georgia,serif;font-size:clamp(28px,3.4vw,46px);font-weight:400;line-height:1;display:inline-flex}.experience-loader__count>span>small{color:#69a785;letter-spacing:0;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-size:.42em;font-weight:600}.experience-loader__count>i{transform-origin:50%;background:#69a78533;grid-column:1;width:100%;height:1px;margin-top:17px;transition:transform .56s cubic-bezier(.65,0,.35,1),opacity .38s,box-shadow .38s;overflow:hidden;transform:scaleX(1)}.experience-loader__count>i b{background:#69a785}.experience-loader.is-ready .experience-loader__count{transform:translateY(-3px)}.experience-loader.is-ready .experience-loader__count>i{opacity:0;box-shadow:none;transform:scaleX(0)}.experience-loader__action{justify-items:center;width:min(60vw,420px);min-height:82px;padding-top:clamp(24px,3.5vh,38px);display:grid}.experience-loader__ready{width:100%;animation:.76s cubic-bezier(.2,.78,.2,1) .36s both loader-cta-reveal}.experience-loader.is-ready .experience-loader__action button{width:100%;min-height:64px;padding:0 22px}.experience-loader.is-ready .experience-loader__action button span{letter-spacing:.22em;font-size:10px}@keyframes loader-cta-reveal{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=720px){.experience-loader__center{width:min(90vw,560px)}.experience-loader__count{width:min(82vw,430px);margin-top:34px}.experience-loader__action{width:min(78vw,360px);padding-top:24px}.experience-loader.is-ready .experience-loader__action button{min-height:58px}}@media (prefers-reduced-motion:reduce){.experience-loader__count,.experience-loader__count>i,.experience-loader__ready{transition-duration:1ms;animation-duration:1ms;animation-delay:0s}}.portfolio-site,.portfolio-nav button,.portfolio-home,.portfolio-home__copy>p,.portfolio-panel__copy p,.portfolio-panel__copy a,.portfolio-panel__copy button{color:var(--green-ink)}.portfolio-home__copy h1,.portfolio-panel__copy h3{color:var(--green-display)}.portfolio-kicker,.portfolio-figure figcaption,.portfolio-home__copy button{color:var(--green-ink)}.portfolio-story__rail .portfolio-kicker{color:#f0eee6c7}.portfolio-story__rail button{color:#f0eee6b8}.portfolio-story__rail button.is-current,.portfolio-story__rail button:hover,.portfolio-story__rail button:focus-visible,.portfolio-story__hint{color:var(--paper)}.experience-loader,.experience-loader__brand span,.experience-loader__brand small,.experience-loader__count,.experience-loader__center button,.experience-loader__center button span,.experience-loader__count>span>small,.experience-loader__ready>small{color:var(--green-ink)}.experience-loader .hiromu-logo__word,.experience-loader .hiromu-logo__word i,.experience-loader .hiromu-logo__word i.is-focus,.experience-loader.stage-4 .hiromu-logo__word i,.experience-loader__count>span{color:var(--green-display)}.experience-loader.is-ready .experience-loader__action button{color:var(--paper);border-color:var(--green-ink);background:var(--green-ink)}.journey-3d.is-gate-fog.is-holding .valley-mist{-webkit-mask-image:radial-gradient(circle var(--hold-radius) at calc(var(--hold-x) + 9vw) calc(var(--hold-y) - 40vh), transparent 0%, #00000014 38%, #000 76%), linear-gradient(to bottom, transparent, #000 18%, #000 100%);-webkit-mask-composite:source-in;-webkit-mask-image:radial-gradient(circle var(--hold-radius) at calc(var(--hold-x) + 9vw) calc(var(--hold-y) - 40vh), transparent 0%, #00000014 38%, #000 76%), linear-gradient(to bottom, transparent, #000 18%, #000 100%);mask-image:radial-gradient(circle var(--hold-radius) at calc(var(--hold-x) + 9vw) calc(var(--hold-y) - 40vh), transparent 0%, #00000014 38%, #000 76%), linear-gradient(to bottom, transparent, #000 18%, #000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.portfolio-home__copy{height:auto}.portfolio-home__type{color:var(--green-ink);letter-spacing:.2em;margin:0 0 clamp(24px,3.2vh,38px);font-size:8px;font-weight:750;line-height:1.4;display:block}.portfolio-home__copy h1{margin:0 0 clamp(20px,2.7vh,32px);line-height:.86}.portfolio-home__copy>p{max-width:31ch;margin:0 0 clamp(38px,5.2vh,58px);line-height:1.55}.portfolio-home__copy dl{gap:0;margin:0}.portfolio-home__copy dl>div{grid-template-columns:minmax(72px,.34fr) minmax(0,1fr);align-items:baseline;gap:18px;min-height:45px;padding:13px 0 11px}.portfolio-home__copy dt,.portfolio-home__copy dd{line-height:1.55}.portfolio-home__copy>button{margin-top:clamp(38px,5.2vh,58px);padding:15px 0}@media (width<=720px){.portfolio-home__copy{height:auto}.portfolio-home__type{margin-bottom:16px}.portfolio-home__copy>p{margin-bottom:25px}.portfolio-home__copy dl>div{grid-template-columns:86px minmax(0,1fr);min-height:39px;padding:10px 0 8px}.portfolio-home__copy>button{margin-top:22px}}.portfolio-site,.portfolio-story,.portfolio-story.is-project,.portfolio-contact{color:var(--green-ink);background-color:var(--paper)}.portfolio-site{position:fixed}.portfolio-site:before{content:"";z-index:-1;opacity:.24;pointer-events:none;background-image:repeating-radial-gradient(circle at 23% 31%,#315f4917 0 .35px,#0000 .65px 3px);background-size:5px 5px;position:fixed;inset:0}.portfolio-nav,.portfolio-site.is-page-about .portfolio-nav,.portfolio-site.is-page-project .portfolio-nav{color:var(--green-ink);box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f0eee6f0;border-bottom:1px solid #69a78552}.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{background:0 0;grid-template-columns:minmax(260px,27vw) minmax(0,1fr)}.portfolio-site.is-page-about .portfolio-story__panels,.portfolio-site.is-page-project .portfolio-story__panels,.portfolio-story.is-project .portfolio-story__panels{background:var(--paper);padding:0}.portfolio-site.is-page-about .portfolio-story__rail,.portfolio-site.is-page-project .portfolio-story__rail{color:var(--green-ink);background:#f0eee6d1;border-right:1px solid #69a7857a;padding:clamp(42px,6vh,72px) clamp(28px,4vw,62px) clamp(28px,4vh,48px)}.portfolio-site.is-page-about .portfolio-story__rail .portfolio-kicker,.portfolio-site.is-page-project .portfolio-story__rail .portfolio-kicker{color:var(--green-ink)}.portfolio-site.is-page-about .portfolio-story__rail h2,.portfolio-site.is-page-project .portfolio-story__rail h2{color:var(--green-display);line-height:.94}.portfolio-site.is-page-about .portfolio-story__rail button,.portfolio-site.is-page-project .portfolio-story__rail button{color:#315f4985;border-color:#69a7856b}.portfolio-site.is-page-about .portfolio-story__rail button.is-current,.portfolio-site.is-page-about .portfolio-story__rail button:hover,.portfolio-site.is-page-about .portfolio-story__rail button:focus-visible,.portfolio-site.is-page-project .portfolio-story__rail button.is-current,.portfolio-site.is-page-project .portfolio-story__rail button:hover,.portfolio-site.is-page-project .portfolio-story__rail button:focus-visible,.portfolio-story__hint{color:var(--green-ink)}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{background:0 0;border-bottom:1px solid #69a78552;grid-template-columns:minmax(0,1.12fr) minmax(290px,.88fr);gap:clamp(34px,4.6vw,78px);min-height:calc(100svh - 92px);padding:clamp(44px,7vh,82px) clamp(38px,5vw,88px)}.portfolio-site.is-page-about .portfolio-panel:last-child,.portfolio-site.is-page-project .portfolio-panel:last-child{border-bottom:0}.portfolio-site.is-page-about .portfolio-figure__image,.portfolio-site.is-page-project .portfolio-figure__image,.portfolio-site.is-page-about .research-visual,.portfolio-site.is-page-project .research-visual{aspect-ratio:3/2;background:#dce5dc;border:1px solid #69a785ad;width:100%;height:auto;min-height:0;box-shadow:0 28px 70px #315f4914}.portfolio-figure__image:after{opacity:.1}.portfolio-figure.is-about-photo img{filter:saturate(.92)contrast(.97)}.portfolio-figure figcaption{color:var(--green-ink)}.portfolio-site.is-page-about .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-panel__copy{max-width:500px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-left:1px solid #69a785ad;padding:0 0 0 clamp(22px,2.5vw,36px)}.portfolio-site.is-page-about .portfolio-panel__copy .portfolio-kicker,.portfolio-site.is-page-project .portfolio-panel__copy .portfolio-kicker{color:var(--green-ink)}.portfolio-site.is-page-about .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-panel__copy h3{max-width:10.5ch;color:var(--green-display);margin:clamp(18px,2.5vh,28px) 0 clamp(20px,3vh,32px)}.portfolio-site.is-page-about .portfolio-panel__copy p,.portfolio-site.is-page-project .portfolio-panel__copy p{color:var(--green-ink)}.portfolio-panel__copy a,.portfolio-panel__copy button{color:var(--green-ink);border-color:var(--green-accent)}.portfolio-profile-facts{gap:0;margin:clamp(24px,3.4vh,38px) 0 0;display:grid}.portfolio-profile-facts>div{border-top:1px solid #69a7856b;grid-template-columns:minmax(76px,.36fr) minmax(0,1fr);align-items:baseline;gap:18px;padding:12px 0 10px;display:grid}.portfolio-profile-facts dt,.portfolio-profile-facts dd{color:var(--green-ink);letter-spacing:.12em;margin:0;font-size:8px;line-height:1.5}.portfolio-profile-facts dd{text-align:right}.portfolio-contact{min-height:calc(100svh - 92px);color:var(--green-ink);background:0 0;padding-top:clamp(70px,10vh,120px)}.portfolio-contact .portfolio-kicker,.portfolio-contact h2,.portfolio-contact>p,.portfolio-contact__links a{color:var(--green-ink)}.portfolio-contact h2{color:var(--green-display)}.portfolio-contact__links a{border-color:#69a785b8}.portfolio-contact__links small,.portfolio-contact footer{opacity:.72}.portfolio-nav button:focus-visible,.portfolio-story__rail button:focus-visible,.portfolio-panel__copy a:focus-visible,.portfolio-panel__copy button:focus-visible,.portfolio-contact__links a:focus-visible,.portfolio-home__copy>button:focus-visible{outline:2px solid var(--green-accent);outline-offset:5px;border-radius:1px}@media (width<=900px){.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{display:block}.portfolio-site.is-page-about .portfolio-story__rail,.portfolio-site.is-page-project .portfolio-story__rail{background:#f0eee6f5;border-bottom:1px solid #69a7857a;border-right:0;padding:18px 22px 15px}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{grid-template-rows:auto auto;grid-template-columns:1fr;min-height:calc(100svh - 190px);padding:28px 22px 42px}.portfolio-site.is-page-about .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-panel__copy h3{max-width:13ch}.portfolio-site.is-page-about .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-panel__copy{padding-left:18px}.portfolio-contact{min-height:calc(100svh - 70px);padding:11vh 22px 80px}}@media (width<=620px){.portfolio-contact__links{grid-template-columns:1fr;gap:22px}}.portfolio-site.is-page-about,.portfolio-site.is-page-project{touch-action:none;height:100%;overflow:hidden}.portfolio-site.is-page-about .portfolio-nav,.portfolio-site.is-page-project .portfolio-nav{height:92px;position:absolute;top:0;left:0;right:0}.portfolio-site.is-page-about .portfolio-page-transition,.portfolio-site.is-page-project .portfolio-page-transition{width:100%;height:100%;min-height:0;position:absolute;inset:0;overflow:hidden}.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{align-items:stretch;width:100%;height:100%;min-height:0;padding:92px 0 0;position:absolute;inset:0;overflow:hidden}.portfolio-site.is-page-about .portfolio-story__rail,.portfolio-site.is-page-project .portfolio-story__rail{align-self:stretch;height:100%;position:relative;top:auto}.portfolio-site.is-page-about .portfolio-story__panels,.portfolio-site.is-page-project .portfolio-story__panels{overscroll-behavior-y:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#69a78580 transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch;height:100%;min-height:0;overflow:hidden auto}.portfolio-site.is-page-about .portfolio-story__panels::-webkit-scrollbar{width:4px;display:block}.portfolio-site.is-page-project .portfolio-story__panels::-webkit-scrollbar{width:4px;display:block}.portfolio-site.is-page-about .portfolio-story__panels::-webkit-scrollbar-thumb{background:#69a78580}.portfolio-site.is-page-project .portfolio-story__panels::-webkit-scrollbar-thumb{background:#69a78580}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{min-height:calc(100svh - 92px);scroll-margin-top:0}@media (width<=900px){.portfolio-site.is-page-about .portfolio-nav,.portfolio-site.is-page-project .portfolio-nav{height:70px}.portfolio-site.is-page-about .portfolio-story,.portfolio-site.is-page-project .portfolio-story{grid-template-rows:auto minmax(0,1fr);height:100%;padding-top:70px;display:grid}.portfolio-site.is-page-about .portfolio-story__rail,.portfolio-site.is-page-project .portfolio-story__rail{height:auto;position:relative;top:auto}.portfolio-site.is-page-about .portfolio-story__panels,.portfolio-site.is-page-project .portfolio-story__panels{height:auto;min-height:0}.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{min-height:100%;scroll-margin-top:0}}.journey-3d{height:100dvh;min-height:100svh}.journey-outro__copy{grid-template-columns:none;justify-content:center;align-items:center;display:flex}.journey-outro__text{color:var(--outro-green);white-space:nowrap;opacity:0;display:inline}.journey-outro__m{aspect-ratio:auto;opacity:1;width:auto;min-width:0;height:auto;color:var(--outro-green);background-blend-mode:multiply;-webkit-text-fill-color:transparent;filter:saturate(.7)contrast(1.02)brightness(1.28);text-shadow:none;font:inherit;letter-spacing:inherit;line-height:inherit;vertical-align:baseline;background-image:linear-gradient(#315f49bd,#315f49bd),url(/portfolio/project-night-clean.png);background-position:50% 25%;background-repeat:no-repeat;background-size:auto 150%;-webkit-background-clip:text;background-clip:text;display:inline;position:static;inset:auto;overflow:visible}.journey-3d.is-outro .journey-outro__text{animation:6.4s both outro-copy-unified-in}.journey-3d.is-outro .journey-outro__m{animation:none}.journey-3d.is-outro:not(.is-portfolio) .journey-scene-frame{visibility:hidden;opacity:0;pointer-events:none;animation:none}.journey-3d.is-outro:not(.is-portfolio) .journey-scene-frame:before,.journey-3d.is-outro:not(.is-portfolio) .journey-scene-frame:after{content:none;animation:none}@keyframes outro-copy-unified-in{0%,10%{opacity:0;transform:translateY(8px)}24%,to{opacity:1;transform:translateY(0)}}@media (width<=720px),(aspect-ratio<=4/5){.journey-ui__header{top:max(20px, calc(env(safe-area-inset-top) + 12px));left:max(19px, calc(env(safe-area-inset-left) + 14px))}.journey-ui__rail{right:max(13px, calc(env(safe-area-inset-right) + 10px));height:min(36dvh,280px)}.journey-ui__operation{bottom:max(58px, calc(env(safe-area-inset-bottom) + 54px))}.journey-ui__sound{left:max(19px, calc(env(safe-area-inset-left) + 14px));bottom:max(20px, calc(env(safe-area-inset-bottom) + 14px))}.journey-ui__operation.is-hold{color:#f6f0e3;grid-template-columns:56px auto;column-gap:14px}.journey-3d.is-gate-fog .journey-ui__operation.is-hold{color:#f6f0e3}.journey-ui__operation.is-hold>span{letter-spacing:.18em;font-size:15px}.journey-ui__operation.is-hold .hold-mark,.journey-ui__operation.is-holding .hold-mark{width:56px;height:56px}.journey-message{width:min(82vw,380px)}.journey-outro__copy{padding-inline:16px;font-size:clamp(34px,10.4vw,54px)}}@media (prefers-reduced-motion:reduce){.journey-3d.is-outro .journey-outro__text{opacity:1;animation:none}}.portfolio-mist-transition{z-index:120;visibility:hidden;opacity:0;background:radial-gradient(circle at var(--mist-x) var(--mist-y), #fffffff5 0 8%, #f0eee6f5 42%, #f0eee6e6 100%);clip-path:circle(0 at var(--mist-x) var(--mist-y));pointer-events:none;-webkit-backdrop-filter:blur();position:fixed;inset:0;overflow:hidden}.portfolio-mist-transition i{opacity:.32;filter:blur(28px);background:radial-gradient(circle,#69a78533,#f0eee61a 42%,#0000 70%);border-radius:50%;width:72vmax;height:72vmax;position:absolute}.portfolio-mist-transition i:first-child{top:calc(var(--mist-y) - 42vmax);left:calc(var(--mist-x) - 48vmax)}.portfolio-mist-transition i:nth-child(2){top:calc(var(--mist-y) - 24vmax);left:calc(var(--mist-x) - 18vmax);opacity:.2;transform:scale(.76)}.portfolio-mist-transition i:nth-child(3){top:calc(var(--mist-y) - 56vmax);left:calc(var(--mist-x) - 4vmax);opacity:.14;transform:scale(1.12)}.portfolio-mist-transition.is-cover{visibility:visible;pointer-events:auto;animation:.62s cubic-bezier(.55,.02,.32,1) both portfolio-mist-cover}.portfolio-mist-transition.is-reveal{visibility:visible;pointer-events:auto;clip-path:circle(155vmax at var(--mist-x) var(--mist-y));animation:.68s cubic-bezier(.22,.7,.22,1) both portfolio-mist-reveal}@keyframes portfolio-mist-cover{0%{opacity:0;clip-path:circle(0 at var(--mist-x) var(--mist-y));-webkit-backdrop-filter:blur()}to{opacity:1;clip-path:circle(155vmax at var(--mist-x) var(--mist-y));-webkit-backdrop-filter:blur(11px)}}@keyframes portfolio-mist-reveal{0%{opacity:1;-webkit-backdrop-filter:blur(11px)}to{opacity:0;-webkit-backdrop-filter:blur()}}@media (width>=901px){.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{align-content:center;align-items:stretch}.portfolio-site.is-page-about .portfolio-figure,.portfolio-site.is-page-project .portfolio-figure{align-self:start;position:relative}.portfolio-site.is-page-about .portfolio-figure figcaption,.portfolio-site.is-page-project .portfolio-figure figcaption{margin-top:0;position:absolute;top:calc(100% + 12px);left:0;right:0}.portfolio-site.is-page-about .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-panel__copy{align-self:stretch;min-height:100%}}.portfolio-site.is-page-about .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-panel__copy h3,.portfolio-story__rail h2{text-wrap:balance}.portfolio-site.is-page-about .portfolio-panel__copy p,.portfolio-site.is-page-project .portfolio-panel__copy p,.portfolio-contact>p{text-wrap:pretty}@media (prefers-reduced-motion:reduce){.portfolio-mist-transition.is-cover{animation:90ms linear both portfolio-mist-cover-reduced}.portfolio-mist-transition.is-reveal{animation:.1s linear both portfolio-mist-reveal}}@keyframes portfolio-mist-cover-reduced{0%{opacity:0;clip-path:inset(0)}to{opacity:1;clip-path:inset(0)}}.portfolio-site.is-page-about .portfolio-panel .portfolio-figure,.portfolio-site.is-page-project .portfolio-panel .portfolio-figure{opacity:0;clip-path:inset(0 0 10%);transform-origin:50%;transition:opacity .9s cubic-bezier(.22,.72,.22,1),clip-path .95s cubic-bezier(.22,.72,.22,1),transform .95s cubic-bezier(.22,.72,.22,1);transform:translateY(24px)scale(1.012)}.portfolio-site.is-page-about .portfolio-panel__copy>*,.portfolio-site.is-page-project .portfolio-panel__copy>*{opacity:0;transition:opacity .7s,transform .82s cubic-bezier(.22,.72,.22,1);transform:translateY(20px)}.portfolio-site.is-page-about .portfolio-panel.is-revealed .portfolio-figure,.portfolio-site.is-page-project .portfolio-panel.is-revealed .portfolio-figure,.portfolio-site.is-page-about .portfolio-panel.is-revealed .portfolio-panel__copy>*,.portfolio-site.is-page-project .portfolio-panel.is-revealed .portfolio-panel__copy>*{opacity:1;clip-path:inset(0);transform:none}.portfolio-panel.is-revealed .portfolio-panel__copy>.portfolio-kicker{transition-delay:.12s}.portfolio-panel.is-revealed .portfolio-panel__copy>h3{transition-delay:.22s}.portfolio-panel.is-revealed .portfolio-panel__copy>p:first-of-type{transition-delay:.36s}.portfolio-panel.is-revealed .portfolio-panel__copy>p:nth-of-type(2){transition-delay:.46s}.portfolio-panel.is-revealed .portfolio-panel__copy>dl,.portfolio-panel.is-revealed .portfolio-panel__copy>a,.portfolio-panel.is-revealed .portfolio-panel__copy>button{transition-delay:.52s}@media (width>=901px){.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);align-content:start;align-items:start;gap:clamp(48px,5.8vw,96px);min-height:max(112svh - 92px,720px);padding:clamp(64px,9vh,112px) clamp(42px,5.4vw,96px) clamp(88px,13vh,150px)}.portfolio-site.is-page-about .portfolio-figure,.portfolio-site.is-page-project .portfolio-figure{align-self:start;width:100%;margin-top:clamp(8px,2vh,24px)}.portfolio-site.is-page-about .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-panel__copy{border-left:0;align-self:start;min-height:0;margin-top:clamp(110px,17vh,190px);padding-left:clamp(26px,3vw,44px);position:relative}.portfolio-site.is-page-about .portfolio-panel__copy:before,.portfolio-site.is-page-project .portfolio-panel__copy:before{content:"";background:#69a785b8;width:1px;position:absolute;top:0;bottom:26%;left:0}.portfolio-site.is-page-about .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-panel__copy h3{letter-spacing:-.038em;max-width:15ch;margin:clamp(24px,3.2vh,38px) 0 clamp(30px,4.5vh,52px);font-size:clamp(38px,3.45vw,62px);line-height:1.02}.portfolio-site.is-page-about .portfolio-panel__copy p,.portfolio-site.is-page-project .portfolio-panel__copy p{max-width:34ch;font-size:clamp(16px,1.15vw,20px);line-height:1.62}.portfolio-site.is-page-about #research .portfolio-figure,.portfolio-site.is-page-project #interaction .portfolio-figure{margin-top:clamp(54px,8vh,90px)}.portfolio-site.is-page-about #research .portfolio-panel__copy,.portfolio-site.is-page-project #interaction .portfolio-panel__copy{margin-top:clamp(145px,22vh,240px)}.portfolio-site.is-page-about #approach .portfolio-figure{width:88%;margin-top:clamp(105px,16vh,178px);margin-left:auto}.portfolio-site.is-page-about #approach .portfolio-panel__copy{margin-top:clamp(190px,29vh,310px)}.portfolio-site.is-page-about #motivation .portfolio-figure,.portfolio-site.is-page-project #inspiration .portfolio-figure{margin-top:clamp(36px,6vh,68px)}.portfolio-site.is-page-about #motivation .portfolio-panel__copy,.portfolio-site.is-page-project #emotion .portfolio-panel__copy{margin-top:clamp(155px,23vh,250px)}.portfolio-site.is-page-project #contrast .portfolio-figure,.portfolio-site.is-page-project #emotion .portfolio-figure{margin-top:clamp(82px,12vh,138px)}.portfolio-site.is-page-project #contrast .portfolio-panel__copy,.portfolio-site.is-page-project #inspiration .portfolio-panel__copy{margin-top:clamp(92px,14vh,158px)}}@media (width<=900px){.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{gap:clamp(38px,7vh,68px);padding-top:clamp(50px,8vh,82px);padding-bottom:clamp(76px,12vh,120px)}.portfolio-site.is-page-about .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-panel__copy{border-left:0;min-height:0;padding-left:0}.portfolio-site.is-page-about .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-panel__copy h3{max-width:16ch;font-size:clamp(38px,11vw,58px);line-height:1.02}}@media (prefers-reduced-motion:reduce){.portfolio-site.is-page-about .portfolio-panel .portfolio-figure,.portfolio-site.is-page-project .portfolio-panel .portfolio-figure,.portfolio-site.is-page-about .portfolio-panel__copy>*,.portfolio-site.is-page-project .portfolio-panel__copy>*{clip-path:none;transition-duration:1ms;transition-delay:0s;transform:none}}.portfolio-site.is-page-about .portfolio-panel.is-visible .portfolio-figure,.portfolio-site.is-page-project .portfolio-panel.is-visible .portfolio-figure,.portfolio-site.is-page-about .portfolio-panel.is-visible .portfolio-panel__copy>*,.portfolio-site.is-page-project .portfolio-panel.is-visible .portfolio-panel__copy>*{opacity:1;clip-path:inset(0);transform:none}.portfolio-site.is-page-about .portfolio-panel.is-before .portfolio-figure,.portfolio-site.is-page-project .portfolio-panel.is-before .portfolio-figure,.portfolio-site.is-page-about .portfolio-panel.is-before .portfolio-panel__copy>*,.portfolio-site.is-page-project .portfolio-panel.is-before .portfolio-panel__copy>*{opacity:0;transform:translateY(-24px)scale(.994)}.portfolio-panel.is-visible .portfolio-panel__copy>.portfolio-kicker{transition-delay:.12s}.portfolio-panel.is-visible .portfolio-panel__copy>h3{transition-delay:.22s}.portfolio-panel.is-visible .portfolio-panel__copy>p:first-of-type{transition-delay:.36s}.portfolio-panel.is-visible .portfolio-panel__copy>p:nth-of-type(2){transition-delay:.46s}.portfolio-panel.is-visible .portfolio-panel__copy>dl,.portfolio-panel.is-visible .portfolio-panel__copy>a,.portfolio-panel.is-visible .portfolio-panel__copy>button{transition-delay:.52s}@media (width>=901px){.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{grid-template-columns:minmax(0,1fr);align-content:start;gap:0;min-height:max(142svh - 92px,960px);padding:clamp(70px,10vh,120px) clamp(48px,6vw,108px) clamp(120px,17vh,190px);display:grid}.portfolio-site.is-page-about .portfolio-figure,.portfolio-site.is-page-project .portfolio-figure,.portfolio-site.is-page-about #research .portfolio-figure,.portfolio-site.is-page-project #interaction .portfolio-figure,.portfolio-site.is-page-about #approach .portfolio-figure,.portfolio-site.is-page-about #motivation .portfolio-figure,.portfolio-site.is-page-project #inspiration .portfolio-figure,.portfolio-site.is-page-project #contrast .portfolio-figure,.portfolio-site.is-page-project #emotion .portfolio-figure{width:min(82%,1050px);margin:0}.portfolio-site.is-page-about .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-panel__copy,.portfolio-site.is-page-about #research .portfolio-panel__copy,.portfolio-site.is-page-project #interaction .portfolio-panel__copy,.portfolio-site.is-page-about #approach .portfolio-panel__copy,.portfolio-site.is-page-about #motivation .portfolio-panel__copy,.portfolio-site.is-page-project #emotion .portfolio-panel__copy,.portfolio-site.is-page-project #contrast .portfolio-panel__copy,.portfolio-site.is-page-project #inspiration .portfolio-panel__copy{border:0;width:min(86%,1080px);max-width:none;min-height:0;margin:clamp(105px,14vh,170px) 0 0 10%;padding:0}.portfolio-site.is-page-about .portfolio-panel__copy:before,.portfolio-site.is-page-project .portfolio-panel__copy:before{display:none}.portfolio-site.is-page-about .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-panel__copy h3{letter-spacing:-.045em;max-width:min(22ch,980px);margin:clamp(22px,3vh,34px) 0 clamp(42px,6vh,68px);font-size:clamp(48px,4.65vw,82px);line-height:.98}.portfolio-site.is-page-about .portfolio-panel__copy p,.portfolio-site.is-page-project .portfolio-panel__copy p{max-width:46ch;font-size:clamp(18px,1.35vw,23px);line-height:1.62}.portfolio-site.is-page-about #research .portfolio-figure,.portfolio-site.is-page-project #contrast .portfolio-figure,.portfolio-site.is-page-project #emotion .portfolio-figure{margin-left:10%}.portfolio-site.is-page-about #research .portfolio-panel__copy,.portfolio-site.is-page-project #contrast .portfolio-panel__copy,.portfolio-site.is-page-project #emotion .portfolio-panel__copy{margin-left:2%}.portfolio-site.is-page-about #approach .portfolio-figure{width:min(68%,860px);margin-top:clamp(70px,10vh,120px);margin-left:18%}.portfolio-site.is-page-about #approach .portfolio-panel__copy{width:min(76%,940px);margin-top:clamp(145px,20vh,230px);margin-left:8%}.portfolio-site.is-page-about #motivation .portfolio-figure,.portfolio-site.is-page-project #inspiration .portfolio-figure{margin-left:4%}.portfolio-site.is-page-about #motivation .portfolio-panel__copy,.portfolio-site.is-page-project #inspiration .portfolio-panel__copy{margin-left:16%}.portfolio-site.is-page-project #interaction .portfolio-figure{width:min(74%,940px);margin-left:16%}.portfolio-site.is-page-project #interaction .portfolio-panel__copy{width:min(80%,1000px);margin-left:6%}}.portfolio-story__end{min-height:clamp(210px,32vh,360px);color:var(--green-ink);border-top:1px solid #69a7857a;grid-template-columns:1fr auto;align-items:center;gap:24px;margin:0 clamp(38px,5vw,88px);padding:clamp(70px,11vh,126px) 0;display:grid}.portfolio-story__end>span,.portfolio-story__end button{letter-spacing:.16em;font-size:9px;font-weight:700}.portfolio-story__end>span{opacity:.56}.portfolio-story__end button{color:var(--green-ink);border:0;border-bottom:1px solid var(--green-accent);cursor:pointer;background:0 0;align-items:center;gap:18px;padding:14px 0;display:inline-flex}.portfolio-story__end button i{font-family:Arial,sans-serif;font-size:17px;font-style:normal;transition:transform .3s}.portfolio-story__end button:hover i{transform:translateY(-4px)}@media (width<=900px){.portfolio-site.is-page-about .portfolio-panel,.portfolio-site.is-page-project .portfolio-panel,.portfolio-site.is-page-about .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-panel.is-active{min-height:auto;padding-bottom:clamp(120px,19vh,180px)}.portfolio-site.is-page-about .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-panel__copy h3{max-width:19ch;font-size:clamp(40px,10.8vw,60px)}.portfolio-story__end{margin:0 clamp(22px,6vw,40px)}}@media (prefers-reduced-motion:reduce){.portfolio-site.is-page-about .portfolio-panel.is-before .portfolio-figure,.portfolio-site.is-page-project .portfolio-panel.is-before .portfolio-figure,.portfolio-site.is-page-about .portfolio-panel.is-before .portfolio-panel__copy>*,.portfolio-site.is-page-project .portfolio-panel.is-before .portfolio-panel__copy>*{transform:none}.portfolio-story__end button i{transition:none}}@media (width>=901px){.portfolio-site.is-page-about .portfolio-story__panels .portfolio-panel,.portfolio-site.is-page-project .portfolio-story__panels .portfolio-panel,.portfolio-site.is-page-about .portfolio-story__panels .portfolio-panel.is-active,.portfolio-site.is-page-project .portfolio-story__panels .portfolio-panel.is-active{grid-template-columns:minmax(0,1fr);align-content:start;gap:0;min-height:max(138svh - 92px,940px);padding:clamp(76px,10vh,118px) clamp(54px,6vw,108px) clamp(132px,18vh,210px);display:grid}.portfolio-site.is-page-about .portfolio-story__panels .portfolio-figure,.portfolio-site.is-page-project .portfolio-story__panels .portfolio-figure{justify-self:start;width:min(100%,1060px)!important;margin:0!important}.portfolio-site.is-page-about .portfolio-story__panels .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-story__panels .portfolio-panel__copy{border:0;justify-self:start;max-width:none;min-height:0;padding:0;width:min(100%,860px)!important;margin:clamp(84px,11vh,132px) 0 0!important}.portfolio-site.is-page-about .portfolio-story__panels .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-story__panels .portfolio-panel__copy h3{letter-spacing:-.04em;text-wrap:pretty;width:100%;max-width:none;margin:clamp(20px,2.6vh,30px) 0 clamp(34px,4.5vh,52px);font-size:clamp(50px,4.35vw,78px);line-height:1}.portfolio-site.is-page-about .portfolio-story__panels .portfolio-panel__copy p,.portfolio-site.is-page-project .portfolio-story__panels .portfolio-panel__copy p{width:100%;max-width:none;font-size:clamp(18px,1.22vw,22px);line-height:1.68}.portfolio-site.is-page-about .portfolio-profile-facts{width:100%;max-width:none}}@media (width<=900px){.portfolio-site.is-page-about .portfolio-story__panels .portfolio-panel__copy,.portfolio-site.is-page-project .portfolio-story__panels .portfolio-panel__copy{width:100%;max-width:680px}.portfolio-site.is-page-about .portfolio-story__panels .portfolio-panel__copy h3,.portfolio-site.is-page-project .portfolio-story__panels .portfolio-panel__copy h3,.portfolio-site.is-page-about .portfolio-story__panels .portfolio-panel__copy p,.portfolio-site.is-page-project .portfolio-story__panels .portfolio-panel__copy p{width:100%;max-width:none}}.portfolio-site{isolation:isolate}.ambient-layer{--ambient-mouse-x:0px;--ambient-mouse-y:0px;--ambient-particle-color:103, 162, 129;z-index:50;pointer-events:none;position:fixed;inset:0;overflow:hidden}.portfolio-nav{z-index:60}.portfolio-mist-transition{z-index:120}.ambient-layer__light{opacity:1;will-change:transform;background:radial-gradient(circle,#67a2811c 0%,#8dbca312 28%,#b8d7c709 50%,#0000 72%);border-radius:50%;width:95vw;height:95vw;animation:34s ease-in-out infinite alternate ambient-light-drift;position:absolute;top:-18%;left:-15%}.ambient-layer__particles{transform:translate3d(var(--ambient-mouse-x), var(--ambient-mouse-y), 0);will-change:transform;position:absolute;inset:-5%}.ambient-layer__particles i{top:var(--particle-y);left:var(--particle-x);width:var(--particle-size);height:var(--particle-size);opacity:.18;filter:blur(1.8px);animation:ambient-particle-float var(--particle-duration) ease-in-out var(--particle-delay) infinite;will-change:transform, opacity;background:#67a28157;border-radius:50%;display:block;position:absolute;box-shadow:0 0 12px #67a2812e,0 0 28px #67a2811a}.ambient-layer--home,.ambient-layer--about,.ambient-layer--project,.ambient-layer--contact{opacity:1}@keyframes ambient-light-drift{0%{transform:translate3d(var(--ambient-mouse-x), var(--ambient-mouse-y), 0) scale(.96)}50%{transform:translate3d(calc(var(--ambient-mouse-x) + 3vw), calc(var(--ambient-mouse-y) + 2vh), 0) scale(1.01)}to{transform:translate3d(calc(var(--ambient-mouse-x) + 7vw), calc(var(--ambient-mouse-y) + 4vh), 0) scale(1.07)}}@keyframes ambient-particle-float{0%,to{opacity:.07;transform:translateY(14px)scale(.75)}45%{opacity:.22;transform:translate(12px,-24px)scale(1.12)}72%{opacity:.11;transform:translate(-8px,-38px)scale(.9)}}@media (prefers-reduced-motion:reduce){.ambient-layer__light,.ambient-layer__particles i{animation:none}.ambient-layer__particles{transform:none}}@media (width<=700px){.ambient-layer__particles i:nth-child(n+15){display:none}.ambient-layer__light{width:145vw;height:145vw;top:-30vw;left:-50vw}}.ambient-layer__light--secondary{opacity:.72;width:82vw;height:82vw;animation-duration:42s;animation-direction:alternate-reverse;inset:auto -24% -38% auto}
