:root{--bg: #1c1c1c;--ink: #f6f0ea;--ink-dim: #f3dcb1;--glow: #fdf59a;--font-serif: "Crimson Text", "Times New Roman", serif;--font-mono: "Cascadia Mono", "Courier New", monospace;--slant: -18deg;--card-w: min(820px, 68vw);--card-h: min(520px, 58vh);--page-shift: 1.15s}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-mono)}a{color:inherit;text-decoration:none}img{display:block;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}html.work-page,body.work-page{height:100%;overflow:hidden}.work{position:relative;height:100vh;height:100dvh;background:radial-gradient(ellipse at 50% 30%,#242424,#1c1c1c 55%,#121212);transform:translateY(0);transition:transform var(--page-shift, 1.15s) cubic-bezier(.4,0,.2,1);will-change:transform;overflow:hidden}.work-rail{position:fixed;top:50%;right:clamp(28px,5vw,72px);translate:0 -50%;z-index:25;width:min(280px,28vw);pointer-events:none;text-align:right}.work-rail__titles{display:flex;flex-direction:column;gap:.12em}.work-rail__title,.work-rail__count{margin:0;font-family:var(--font-serif);line-height:1.05;color:var(--ink);text-shadow:0 0 15px rgba(246,240,234,.45)}.work-rail__title{font-size:clamp(28px,3.2vw,42px);font-weight:700}.work-rail__count{font-size:clamp(24px,2.6vw,34px);font-weight:400;color:var(--ink-dim)}.work-rail__detail{margin-top:1.6em;min-height:3.2em;opacity:0;transform:translateY(6px);transition:opacity .28s ease,transform .28s ease}.work.is-highlighting .work-rail__detail{opacity:1;transform:translateY(0)}.work-rail__name,.work-rail__time{margin:0;font-family:var(--font-serif);line-height:1.15}.work-rail__name{font-size:clamp(18px,1.7vw,24px);font-weight:600;color:var(--glow)}.work-rail__time{margin-top:.25em;font-size:clamp(15px,1.35vw,18px);font-weight:400;color:var(--ink-dim)}.catalog-scene{position:relative;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:max(10vh,72px) 0 max(18vh,140px);display:flex;justify-content:flex-start;align-items:flex-start;padding-left:clamp(24px,5vw,72px);padding-right:min(320px,30vw);-webkit-overflow-scrolling:touch}.catalog-scene::-webkit-scrollbar{display:none}.catalog{position:relative;width:var(--card-w);perspective:1100px;perspective-origin:50% 28%;display:flex;flex-direction:column;align-items:flex-start;gap:0}.catalog-card{position:relative;flex:0 0 auto;width:var(--card-w);height:var(--card-h);margin:0;margin-bottom:clamp(-290px,-40vh,-210px);padding:0;border:0;border-radius:12px;overflow:hidden;cursor:pointer;background:#222;color:var(--ink);text-align:left;transform-origin:50% 100%;transform:rotateX(var(--rx, var(--slant))) translateZ(var(--tz, 0px)) translateY(var(--ty, 0px)) scale(var(--sc, 1));box-shadow:0 28px 56px #00000080,0 12px #0000002e,0 0 0 1px #f6f0ea0f;transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .45s ease;will-change:transform;-webkit-tap-highlight-color:transparent}.catalog-card:last-child{margin-bottom:0}.catalog-card img{width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none}.view-cursor{--cursor-x: -100px;--cursor-y: -100px;position:fixed;top:0;left:0;z-index:10001;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:transparent;border:none;box-shadow:none;color:var(--glow);pointer-events:none;opacity:0;translate:var(--cursor-x) var(--cursor-y);transform:translate(-50%,-50%);transition:opacity .18s ease;will-change:translate,opacity}.view-cursor__text{font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1.25;text-shadow:0 0 12px rgba(18,18,18,.9),0 1px 2px rgba(18,18,18,.85);transform:scale(.72);transition:transform .18s ease}.work.is-highlighting .view-cursor{opacity:1}.work.is-highlighting .view-cursor__text{transform:scale(1)}.work.is-highlighting,.work.is-highlighting .catalog-card{cursor:none}body.is-case-open .view-cursor,body.is-case-open .work-rail{opacity:0!important;visibility:hidden}@media(hover:none),(pointer:coarse){.view-cursor{display:none}.work.is-highlighting,.work.is-highlighting .catalog-card{cursor:pointer}}.catalog-card.is-active{box-shadow:0 40px 90px #0000008c,0 0 0 1px #fdf59a2e}.catalog-card.is-front{box-shadow:0 36px 64px #0000008c,0 14px #0003}.catalog-card:focus-visible{outline:2px solid var(--glow);outline-offset:6px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.case-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;visibility:hidden}.case-sheet.is-open{pointer-events:auto;visibility:visible}.case-sheet__panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:auto;background:#1c1c1c;color:var(--ink);transform:translateY(100%);transition:transform var(--page-shift, 1.15s) cubic-bezier(.4,0,.2,1);overscroll-behavior:contain}.case-sheet.is-open .case-sheet__panel{transform:translateY(0)}.case-study{--case-content: min(720px, calc(100% - 40px) );--case-gap: clamp(32px, 4.5vw, 56px);padding-bottom:56px}.case-study__hero{width:min(860px,calc(100% - 48px));margin:16px auto 0;border-radius:10px;overflow:hidden;background:#121212}.case-study__hero img{display:block;width:100%;height:auto;aspect-ratio:1809 / 1206;object-fit:cover;object-position:center}.case-study__hero-embed{position:relative;width:100%;aspect-ratio:1809 / 1206;overflow:hidden;background:#121212}.case-study__hero-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#121212}.case-study__hero--simple{margin:24px 0 32px;border-radius:12px;max-height:none;width:100%}.case-study__hero--simple img{aspect-ratio:16 / 10;max-height:40vh}.case-study__content{width:var(--case-content);margin:clamp(28px,3.5vw,44px) auto 0;display:flex;flex-direction:column;gap:var(--case-gap)}.case-study__content--simple{padding-bottom:80px;gap:clamp(24px,3vw,40px)}.case-study__top{display:flex;flex-direction:column;gap:clamp(20px,2.5vw,32px);width:100%}.case-study__header{display:flex;flex-direction:column;gap:clamp(16px,2vw,28px);width:100%}.case-study__badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:clamp(32px,3.5vw,42px);padding:8px 14px;border-radius:8px;background:#f6f0ea;color:#1c1c1c;font-size:clamp(14px,1.5vw,20px);line-height:.97;white-space:nowrap;text-align:center}.case-study__title{margin:0;font-family:var(--font-serif);font-weight:700;font-size:clamp(36px,5.5vw,72px);line-height:.97;text-shadow:0 0 15px rgba(246,240,234,.5)}.case-study__hook{display:flex;flex-direction:column;gap:.65em;font-size:clamp(15px,1.5vw,20px);font-weight:300;line-height:1.35}.case-study__hook p{margin:0}.case-study__simple-date{margin:0;font-size:clamp(14px,1.5vw,18px);color:var(--ink-dim)}.case-study__rule{width:100%;height:0;margin:0;border:0;border-top:1px solid rgba(246,240,234,.55)}.case-study__chips{display:flex;flex-wrap:wrap;gap:clamp(16px,2vw,28px);font-size:clamp(14px,1.5vw,18px);line-height:1.25;width:100%}.case-study__chip{display:flex;flex-direction:column;gap:6px}.case-study__chip--role{flex:0 1 220px}.case-study__chip--timeline{flex:0 1 240px}.case-study__chip--full{flex:1 1 100%}.case-study__chip-label{color:#d2b394;font-weight:300}.case-study__chip-value{color:#f6f0ea;font-weight:700}.case-study__section{display:flex;flex-direction:column;gap:clamp(10px,1.2vw,14px)}.case-study__section h2{margin:0;font-family:var(--font-serif);font-weight:600;font-size:clamp(24px,3.2vw,36px);line-height:1.05}.case-study__section>p,.case-study__did,.case-study__outcomes{margin:0;font-size:clamp(14px,1.5vw,18px);font-weight:300;line-height:1.45}.case-study__did{display:flex;flex-direction:column;gap:clamp(12px,1.5vw,18px)}.case-study__did-item{margin:0}.case-study__did-item strong{font-weight:700}.case-study__outcomes{padding-left:1.25em}.case-study__outcomes li{margin-bottom:.25em}.case-study__stats{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;width:100%;max-width:640px;margin-inline:auto}.case-study__stat{flex:1 1 180px;max-width:260px;display:flex;flex-direction:column;align-items:center;gap:6px}.case-study__stat-label{width:100%;min-height:28px;display:flex;align-items:center;padding:2px 8px;background:#f6f0ea;color:#1c1c1c;font-size:clamp(13px,1.3vw,16px)}.case-study__stat-value{margin:0;width:100%;text-align:center;font-family:var(--font-serif);font-weight:700;font-size:clamp(40px,6vw,72px);line-height:1}.case-carousel{margin-top:var(--case-gap);width:100%;overflow:hidden}.case-carousel__track{display:flex;align-items:flex-start;gap:16px;width:max-content;padding-left:clamp(16px,3vw,40px);will-change:transform}.case-carousel__card{flex:0 0 auto;position:relative;overflow:hidden}.case-carousel__card--text{width:min(300px,68vw);height:min(360px,78vw);background:var(--card-bg, #bce4e1);color:#1c1c1c;padding:18px 20px;box-sizing:border-box}.case-carousel__card--text p{margin:0;font-size:clamp(14px,1.6vw,20px);font-weight:700;line-height:1.3;max-width:260px}.case-carousel__capy{position:absolute;right:8px;bottom:8px;width:40px;height:auto;pointer-events:none}.case-carousel__card--image{width:min(300px,68vw);height:min(300px,68vw)}.case-carousel__card--image img{display:block;width:100%;height:100%;object-fit:cover}.case-study__footer{width:var(--case-content);margin:clamp(32px,4vw,56px) auto 0;display:flex;justify-content:space-between;align-items:center;gap:24px}.case-study__back,.case-study__next{padding:0;border:0;background:transparent;color:#f6f0ea;font-family:var(--font-serif);font-size:clamp(16px,1.8vw,22px);line-height:.97;cursor:pointer;text-shadow:0 0 15px rgba(246,240,234,.5)}.case-study__back{font-weight:700}.case-study__next{font-weight:400;margin-left:auto;text-align:right}.case-study__back--top{display:block;width:fit-content;margin:18px 0 12px;text-align:left}.case-study__back:hover,.case-study__next:hover,.case-study__back:focus-visible,.case-study__next:focus-visible{opacity:.85;outline:none}body.is-case-open{overflow:hidden}body.is-case-open .work{transform:translateY(-100vh);pointer-events:none}.console{--console-w: min(640px, calc(100vw - 2rem) );--nav-ink: #f3dcb1;--nav-idle-bar: #4d3d31;--nav-glow: #fdf59a;--font-mono: "Cascadia Mono", "Courier New", monospace;position:fixed;left:50%;bottom:max(1.2vh,10px);transform:translate(-50%);width:var(--console-w);z-index:60;pointer-events:none;transition:opacity .45s ease,transform .55s cubic-bezier(.4,0,.2,1)}body.is-case-open .console{opacity:0;pointer-events:none;transform:translate(-50%) translateY(28px)}.console__shell{position:relative;width:100%;aspect-ratio:971 / 186;container-type:inline-size}.console__chrome{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.45))}.console__panel{position:absolute;left:18.85%;top:25.3%;width:59.35%;height:43%;display:grid;grid-template-columns:repeat(4,1fr);background:#0a0503;pointer-events:auto}.console__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:2.2% 4% 0;color:var(--nav-ink);text-decoration:none;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.console__item.is-inert{cursor:default}.console__glow{position:absolute;top:12%;left:50%;width:58%;height:42%;translate:-50% 0;border-radius:22px;background:#a92304;filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .2s ease}.console__label{position:relative;z-index:1;margin-top:2%;font-family:var(--font-mono);font-weight:700;font-size:2.88cqw;line-height:.968;letter-spacing:.01em;text-align:center;color:var(--nav-ink);-webkit-text-fill-color:var(--nav-ink);background:none;-webkit-background-clip:border-box;background-clip:border-box;text-shadow:none;transition:color .2s ease,text-shadow .2s ease}.console__rule{position:relative;z-index:1;display:block;width:54%;height:2px;margin-top:6%;border:none;border-radius:999px;background:linear-gradient(90deg,#f9dc1d,#ea6d0b,#feb219);opacity:0;transition:opacity .2s ease}.console__bar{position:absolute;left:50%;bottom:8%;z-index:1;width:78%;height:12%;translate:-50% 0;border-radius:999px;background:var(--nav-idle-bar);box-shadow:none;border:0 solid transparent;transition:height .2s ease,width .2s ease,background .2s ease,box-shadow .2s ease,border-color .2s ease}.console__bar:after{content:"";position:absolute;right:-3%;top:50%;width:18%;max-width:6px;aspect-ratio:1;translate:0 -50%;border-radius:999px;background:var(--nav-idle-bar);transition:opacity .2s ease}.console__item.is-active .console__glow,.console__item:hover .console__glow,.console__item:focus-visible .console__glow{opacity:.85}.console__item.is-active .console__label,.console__item:hover .console__label,.console__item:focus-visible .console__label{color:#fbe16e;text-shadow:0 0 44px rgba(255,43,0,.3),0 0 17px rgba(255,111,0,.7);background:radial-gradient(circle at 50% 60%,#fbe16e,#f9b148);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.console__item.is-active .console__rule,.console__item:hover .console__rule,.console__item:focus-visible .console__rule{opacity:1}.console__item.is-active .console__bar,.console__item:hover .console__bar,.console__item:focus-visible .console__bar{width:82%;height:22%;bottom:4%;border:2px solid var(--nav-glow);background:linear-gradient(90deg,#fbe171,#fdf59a 25%,#fdf59a 75%,#fbe171);box-shadow:0 0 35px 5px #f3222d,0 0 15px 2px #f90}.console__item.is-active .console__bar:after,.console__item:hover .console__bar:after,.console__item:focus-visible .console__bar:after{opacity:0}@media(max-width:700px){:root{--card-w: min(520px, 92vw);--card-h: min(380px, 48vh);--slant: -14deg}.catalog-card{margin-bottom:clamp(-230px,-34vh,-160px)}.work-rail{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 118px);right:clamp(16px,4vw,28px);translate:none;width:auto;max-width:46vw}.work-rail__title{font-size:clamp(22px,5.5vw,28px)}.work-rail__count{font-size:clamp(18px,4.5vw,22px)}.catalog-scene{padding-left:clamp(16px,4vw,28px);padding-right:clamp(16px,4vw,28px)}}@media(prefers-reduced-motion:reduce){.catalog-card,.work,.case-sheet__panel,.work-rail__detail,.view-cursor{transition:none}}
