:root{--ground: #f1eadf;--ground-deep: #e8dfd1;--ink: #3a2a24;--ink-soft: #6e5e54;--ink-faint: #918069;--button: #4a2c27;--button-ink: #f6efe6;--vermilion: #b8321f;--indigo: #23408f;--ochre: #b9781c;--font-display: "Source Serif 4", "Iowan Old Style", Georgia, serif;--font-text: "IBM Plex Mono", ui-monospace, Menlo, monospace}*,*:before,*:after{box-sizing:border-box}html{background:var(--ground)}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-text);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--vermilion);color:var(--button-ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--vermilion);outline-offset:3px}img{display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:root{--side: 6.4vw}.hero__kicker{margin:0 0 18px;font-size:12px;line-height:1.45;color:var(--ink-soft)}.hero__kicker b{font-weight:500;color:var(--ink);margin-right:8px}.hero__title{margin:0;font-family:var(--font-display);font-weight:580;font-variation-settings:"opsz" 60;font-size:clamp(40px,3.75vw,58px);line-height:.99;letter-spacing:-.035em;color:var(--ink)}.hero__title .rule{display:inline-block;width:1.35em;height:.055em;min-height:2px;background:currentColor;vertical-align:.3em;margin:0 .06em}.hero__title .w,.hero__title .rule{display:inline-block}.is-in .w,.is-in .rule{animation:inkIn .95s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i) * 55ms + .12s)}.is-out .w,.is-out .rule{animation:inkOut .55s cubic-bezier(.55,0,1,.45) both;animation-delay:calc(var(--i) * 30ms)}@keyframes inkIn{0%{opacity:0;filter:blur(12px);transform:translateY(.12em)}to{opacity:1;filter:blur(0);transform:none}}@keyframes inkOut{to{opacity:0;filter:blur(12px)}}.hero__aside.is-in{animation:fadeIn .9s .35s both ease-out}.hero__aside.is-out{animation:inkOut .45s both}@keyframes fadeIn{0%{opacity:0}}.nav__action{display:inline-flex;align-items:center;height:34px;padding:0 15px;background:var(--button);color:var(--button-ink);font-family:var(--font-display);font-variation-settings:"opsz" 20;font-weight:600;font-size:15px;letter-spacing:-.01em;border-radius:2px;transition:background-color .18s ease-out,transform .12s ease-out}.nav__action:hover{background:#5e3730}.nav__action:active{transform:scale(.97)}.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;background:var(--ground);touch-action:pan-y}.hero__canvas,.disc__canvas,.close__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.hero__canvas{z-index:1}.hero__fallback{position:absolute;left:49.2%;top:13vh;height:84vh;transform:translate(-50%);mix-blend-mode:multiply;z-index:0}.nav{position:absolute;z-index:5;top:26px;left:var(--side);right:var(--side);display:flex;align-items:center;gap:22px}.nav__brand{font-weight:500;font-size:13px;letter-spacing:.01em;margin-right:6px}.nav__links{display:flex;gap:14px;font-size:12.5px}.nav__links a{color:#786659;transition:color .2s}.nav__links a:hover,.nav__links a.is-on{color:var(--ink)}.nav .nav__action{margin-left:auto}.hero__side{position:absolute;z-index:4;top:calc(31.3% - 34px);width:68px;height:68px;border:1px solid rgba(58,42,36,.38);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:border-color .2s,transform .15s ease-out}.hero__side:hover{border-color:var(--ink)}.hero__side:active{transform:scale(.96)}.hero__side img{width:40px;height:34px;object-fit:cover;object-position:50% 8%;mix-blend-mode:multiply}.hero__side span{font-family:var(--font-display);font-size:12px;font-weight:500;letter-spacing:-.01em;line-height:1}.hero__side--prev{left:var(--side)}.hero__side--next{right:var(--side)}.hero__copy{position:absolute;z-index:4;left:var(--side);bottom:8.2vh;width:clamp(240px,20vw,330px);pointer-events:none}.hero__aside{position:absolute;z-index:4;right:var(--side);bottom:10vh;width:250px;margin:0;font-family:var(--font-display);font-variation-settings:"opsz" 16;font-size:17px;line-height:1.38;letter-spacing:-.01em;color:var(--ink)}.hero__hint{position:absolute;z-index:4;left:50%;bottom:4.6vh;transform:translate(-50%);margin:0;font-size:12px;color:var(--ink-soft);pointer-events:none;white-space:nowrap}@media (hover: hover){.hero__hint{display:none}}.hero__dots{position:absolute;z-index:4;left:50%;bottom:2.2vh;transform:translate(-50%);display:flex;gap:6px}.hero__dots i{width:30px;height:2px;background:#3a2a2433;transition:background-color .4s}.hero__dots i.on{background:var(--ink)}.disc{position:relative;height:230vh}.disc__pin{position:sticky;top:0;height:100vh;overflow:hidden}.disc__head{position:absolute;z-index:3;top:9vh;left:var(--side);right:var(--side);display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;transition:opacity .3s}.disc__title{margin:0;font-family:var(--font-display);font-weight:580;font-variation-settings:"opsz" 60;font-size:clamp(30px,2.6vw,40px);letter-spacing:-.03em;line-height:1}.disc__intro{margin:0;width:270px;font-family:var(--font-display);font-variation-settings:"opsz" 16;font-size:17px;line-height:1.38;letter-spacing:-.01em}.disc__label{position:absolute;z-index:3;transform:translate(-50%,10px);display:flex;flex-direction:column;align-items:center;gap:4px;white-space:nowrap;transition:opacity .3s}.disc__name{font-family:var(--font-display);font-weight:580;font-variation-settings:"opsz" 40;font-size:24px;letter-spacing:-.025em;line-height:1}.disc__label.is-active .disc__name{font-size:30px}.disc__meta{font-size:12px;color:var(--ink-soft)}.disc__label.is-active .disc__meta{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.disc__detail{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-end;padding:0 var(--side) 9vh}.disc__detail>div{opacity:0;transform:translateY(14px);transition:opacity .35s ease-out,transform .35s ease-out}.disc__detail.is-open>div{opacity:1;transform:none;pointer-events:auto}.disc__detail.is-open .disc__detail-right{transition-delay:.08s}.disc__detail-left{width:26vw;max-width:360px}.disc__detail-title{margin:0 0 22px;font-family:var(--font-display);font-weight:580;font-variation-settings:"opsz" 60;font-size:clamp(44px,4.2vw,64px);line-height:.95;letter-spacing:-.04em}.disc__detail-label{margin:0 0 6px;font-size:12px;color:var(--ink-soft)}.disc__detail ul,.disc-phone ul{margin:0;padding:0;list-style:none;font-size:13px;line-height:1.75}.disc__detail-right{width:230px;display:flex;flex-direction:column;align-items:flex-start}.disc__detail-value{margin:0 0 18px;font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.02em;line-height:1.1}.disc__close{margin-top:14px;font-size:12px;text-decoration:underline;text-underline-offset:3px}.disc-phone{padding:14vh 20px 4vh;background:var(--ground)}.disc-phone>.disc__title{margin-bottom:12px}.disc-phone>.disc__intro{width:auto;margin-bottom:6vh}.disc-phone__item{margin-bottom:9vh}.disc-phone__bloom{height:68vw;overflow:hidden;margin:0 -20px 10px}.disc-phone__bloom img{width:76vw;margin:0 auto;mix-blend-mode:multiply;clip-path:inset(0 0 calc((1 - var(--grow, 1)) * 100%) 0);transform:translateY(calc((1 - var(--grow, 1)) * -4%))}.disc-phone .disc__detail-title{font-size:46px;margin-bottom:14px}.disc-phone__fee{margin:14px 0 0;font-family:var(--font-display);font-size:19px;font-weight:500;letter-spacing:-.02em}.proc{position:relative;height:380vh}.proc__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ground)}.proc__title{position:absolute;z-index:2;top:9vh;left:var(--side);margin:0;font-family:var(--font-display);font-weight:580;font-variation-settings:"opsz" 60;font-size:clamp(30px,2.6vw,40px);letter-spacing:-.03em;line-height:1}.proc__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.proc__video{position:absolute;width:2px;height:2px;opacity:0;pointer-events:none;left:0;top:0}.proc__title,.proc__steps,.proc__copy,.proc__bar{z-index:2}.proc__steps{position:absolute;top:31%;left:var(--side);margin:0;padding:0;list-style:none;font-size:12px;line-height:2;color:#8f7e70}.proc__steps li{transition:color .3s}.proc__steps li.past{color:var(--ink-soft)}.proc__steps li.on{color:var(--ink)}.proc__steps li.on:before{content:"";display:inline-block;width:18px;height:1.5px;background:currentColor;vertical-align:.3em;margin-right:8px}.proc__copy{position:absolute;left:var(--side);right:var(--side);bottom:8.2vh;display:flex;justify-content:space-between;align-items:flex-end}.proc__name{width:clamp(240px,20vw,330px)}.proc__copy .w{animation:inkIn .8s cubic-bezier(.22,1,.36,1) both}.proc__text{width:260px;margin:0 0 1.6vh;font-family:var(--font-display);font-variation-settings:"opsz" 16;font-size:17px;line-height:1.38;letter-spacing:-.01em;animation:fadeIn .8s .2s both}.proc__bar{position:absolute;left:50%;bottom:2.2vh;width:102px;height:2px;transform:translate(-50%);background:#3a2a2433}.proc__bar i{display:block;height:100%;background:var(--ink);transform-origin:left}.work{padding:16vh 0 14vh}.work__label{margin:0 var(--side) 1.2vh;font-family:var(--font-display);font-size:19px;font-weight:500;letter-spacing:-.02em}.work__list{position:relative;margin:0 var(--side)}.work__row{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.2vh 0 1.7vh;border-top:1px solid var(--ink);transition:color .35s ease-out}.work__row:last-of-type{border-bottom:1px solid var(--ink)}.work__row.dim{color:#9a8979}.work__name{font-family:var(--font-display);font-weight:420;font-variation-settings:"opsz" 60;font-size:clamp(48px,7.2vw,112px);line-height:1;letter-spacing:-.04em;text-align:center}.work__meta{font-size:12px}.work__meta--r{text-align:right}.work__frame{position:absolute;left:0;top:0;z-index:3;width:clamp(200px,17vw,270px);aspect-ratio:4 / 5;pointer-events:none;will-change:transform}.work__frame img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;clip-path:inset(100% 0 0 0);transition:clip-path .65s cubic-bezier(.22,1,.36,1)}.work__frame img.on{clip-path:inset(0 0 0 0);z-index:1}.work__all{display:table;margin:5vh auto 0;font-size:12px;text-decoration:underline;text-underline-offset:3px}.studio{padding:14vh var(--side) 18vh;background:var(--ground)}.studio__text{margin:0;font-family:var(--font-display);font-weight:450;font-variation-settings:"opsz" 60;font-size:clamp(32px,4.05vw,64px);line-height:1.08;letter-spacing:-.035em}.studio__text .sw{color:color-mix(in srgb,var(--ink) calc(var(--a, 0) * 100%),var(--ink-faint))}.studio__mark{display:inline-block;height:1em;width:.8em;object-fit:cover;object-position:50% 10%;vertical-align:-.12em;margin:0 .32em 0 .02em;mix-blend-mode:multiply;opacity:calc(.25 + var(--a, 0) * .75)}.studio__facts{margin:9vh 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,260px));gap:40px}.studio__facts dt{font-size:12px;color:var(--ink-soft);margin-bottom:4px}.studio__facts dd{margin:0;font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.2}.close{position:relative;height:100vh;min-height:640px;overflow:hidden}.close__copy{position:absolute;z-index:2;left:var(--side);bottom:10vh;width:clamp(260px,22vw,360px);pointer-events:none}.close__title{font-size:clamp(48px,4.6vw,72px)}.close__side{position:absolute;z-index:2;right:var(--side);bottom:10vh;width:250px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.close__aside{position:static;width:auto}.close__email{font-family:var(--font-display);font-size:21px;font-weight:500;letter-spacing:-.02em;border-bottom:1.5px solid currentColor}.close__legal{position:absolute;z-index:2;left:var(--side);right:var(--side);bottom:2.6vh;margin:0;display:flex;justify-content:space-between;font-size:12px;color:var(--ink-soft)}@media (max-width: 699px){:root{--side: 20px}.hero,.close{min-height:600px;height:100svh}.nav{top:18px}.nav__links{display:none}.nav .nav__action{height:32px;font-size:14px;padding:0 12px}.hero__fallback{top:9svh;transform:translate(-50%);height:min(52svh,106vw);left:50%}.hero__side{top:auto;bottom:2.4svh;width:58px;height:58px}.hero__side img{width:32px;height:26px}.hero__side span{font-size:12px}.hero__copy{bottom:13svh;width:calc(100% - 40px)}.hero__title{font-size:40px}.hero__aside{display:none}.hero__hint{bottom:7.4svh}.hero__dots{bottom:4.6svh}.proc{height:330vh}.proc__title{top:7svh;font-size:28px}.proc__steps{display:none}.proc__copy{flex-direction:column;align-items:flex-start;gap:12px;bottom:7svh}.proc__text{margin:0;width:auto}.work{padding:12vh 0 10vh}.work__row{grid-template-columns:1fr auto;padding:14px 0 16px}.work__name{font-size:38px;text-align:left;grid-column:1 / -1;order:2}.work__meta--l,.work__meta--r{order:1}.work__frame{width:118px}.studio{padding:8vh 20px 12vh}.studio__text{font-size:30px;line-height:1.12}.studio__facts{grid-template-columns:1fr;gap:22px}.close__copy{bottom:auto;top:49svh;width:calc(100% - 40px)}.close__title{font-size:46px}.close__side{left:var(--side);right:var(--side);width:auto;bottom:8svh}.close__aside{display:none}}@media (prefers-reduced-motion: reduce){.is-in .w,.is-in .rule,.proc__copy .w,.hero__aside.is-in{animation-duration:.01s;animation-delay:0s}}
