.wheel-portfolio{--side:clamp(22px, 4.8vw, 90px);isolation:isolate;min-height:100svh;padding:0 var(--side);flex-direction:column;display:flex;position:relative;overflow:clip}.wheel-portfolio:after{content:"";z-index:-1;pointer-events:none;mix-blend-mode:normal;opacity:.025;background:url(/textures/ambient-grain.svg) 0 0/192px 192px;position:absolute;inset:0}.wheel-portfolio>.header{flex:none;max-width:none;height:clamp(76px,10vh,108px);position:relative}.header .header-generator{white-space:nowrap;letter-spacing:.18em;color:#aaa49c;align-items:center;gap:6px;margin-right:clamp(8px,1vw,16px);font-size:10px;transition:color .18s;display:inline-flex}.header-generator>span{letter-spacing:0;transition:transform .18s;display:inline-block}.header-generator:hover>span,.header-generator:focus-visible>span{transform:translate(1px,-1px)}.header .header-generator:hover{color:#f1f0ed}.header .header-generator:focus-visible{outline-offset:2px}@media (max-width:800px){.header[data-generator-entry=true]{align-items:flex-start;padding-top:20px}.header[data-generator-entry=true] nav{justify-content:flex-end;gap:20px;position:absolute;bottom:5px;left:0;right:0}.header .header-generator{letter-spacing:.12em;margin-right:8px;font-size:9px}}@media (prefers-reduced-motion:reduce){.header .header-generator,.header-generator>span{transition:none}.header-generator:hover>span,.header-generator:focus-visible>span{transform:none}}.identity-lockup{position:relative}.identity-lockup h1{font-size:inherit;margin:0;font-weight:400;line-height:1.2}.identity-discipline{letter-spacing:.25em;color:#9b9692;white-space:nowrap;margin:8px 0 0;font:8px/1.4 monospace;position:absolute;top:100%;left:0}.wheel-portfolio>.ambient{background:radial-gradient(ellipse at 50% 50%, var(--ambient-primary) 0%, var(--ambient-primary) 11.7%, transparent 63.375%), radial-gradient(ellipse at 50% 50%, var(--ambient-secondary), transparent 63.375%);opacity:var(--ambient-opacity,.25245);position:absolute;inset:calc(clamp(76px,10vh,108px) + 30px) 5% 68px}.vertical-experience{flex-direction:column;flex:1;min-height:450px;display:flex;position:relative;container-type:inline-size}.vertical-topline{letter-spacing:.2em;color:#b9b3ad;flex:none;justify-content:space-between;align-items:center;height:30px;font:9px monospace;display:flex}.vertical-total{color:#6f6a66;margin-left:10px}.vertical-topline button{color:#9b9692;padding:8px 0 8px 12px;font:11px Inter Variable,sans-serif}.vertical-landing-scroll{top:var(--landing-cue-top,20%);color:#b9b3ad;letter-spacing:.3em;opacity:var(--landing-cue-opacity,0);pointer-events:none;flex-direction:column;align-items:center;gap:12px;font:9px monospace;display:flex;position:absolute;left:50%;transform:translate(-50%,-50%)}.vertical-landing-scroll svg{stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:36px;animation:2.4s ease-in-out infinite landing-scroll-pulse}@keyframes landing-scroll-pulse{0%,to{opacity:.4;transform:translateY(-2px)}50%{opacity:.85;transform:translateY(2px)}}@media (prefers-reduced-motion:reduce){.vertical-landing-scroll svg{opacity:.65;animation:none}}.vertical-stage{touch-action:pinch-zoom;outline:none;flex:1;min-height:clamp(520px,48cqw,850px);position:relative;overflow:clip;-webkit-mask-image:linear-gradient(#0000,#000 4% 96%,#0000);mask-image:linear-gradient(#0000,#000 4% 96%,#0000)}.vertical-stage:focus-visible{box-shadow:inset 0 0 0 1px #ffffff35}.strip-surface{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.vertical-stage[data-surface=mesh] .vertical-card{background:0 0}.vertical-stage[data-surface=mesh] .vertical-card>.hero-media,.vertical-stage[data-surface=mesh] .vertical-card:after,.vertical-stage[data-surface=mesh] .vertical-card-shade{visibility:hidden}.vertical-stage[data-surface=mesh] .vertical-card:focus-visible{outline:none}.vertical-card{transform-origin:0 0;will-change:transform;opacity:0;isolation:isolate;text-align:left;cursor:pointer;background:#141415;border-radius:9px;width:100%;min-width:0;height:100%;padding:0;position:absolute;top:50%;left:50%;overflow:hidden}.vertical-card:after{content:"";z-index:4;border-radius:inherit;pointer-events:none;border:1px solid #eee1d51c;transition:border-color .2s;position:absolute;inset:0}.vertical-card:hover:after,.vertical-card:focus-visible:after{border-color:color-mix(in srgb, var(--card-keyline,#eee1d5) 80%, transparent)}.vertical-card .hero-media{filter:blur(var(--card-blur,0px)) brightness(var(--row-brightness,1))}.vertical-card .hero-media video,.vertical-card .hero-media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.vertical-card .hero-media video{z-index:1}.vertical-card .hero-media:first-child .hero-poster,.vertical-card .vertical-poster{opacity:1}.vertical-card-shade{z-index:2;pointer-events:none;opacity:0;background:linear-gradient(#0000 50%,#000a);transition:opacity .22s;position:absolute;inset:0}.vertical-card-label{z-index:3;text-shadow:0 1px 8px #000;opacity:0;align-items:center;gap:9px;font-size:11px;transition:opacity .22s;display:flex;position:absolute;top:13px;left:15px}.vertical-card-label>span{color:#d0c9c0;font:8px monospace}.vertical-card-open{z-index:3;opacity:0;justify-content:space-between;align-items:end;gap:15px;font-size:13px;transition:opacity .22s;display:flex;position:absolute;bottom:15px;left:15px;right:15px}.vertical-card-open>span{font-size:19px}.vertical-card:hover .vertical-card-open,.vertical-card:focus-visible .vertical-card-open,.vertical-card:hover .vertical-card-label,.vertical-card:focus-visible .vertical-card-label,.vertical-card:hover .vertical-card-shade,.vertical-card:focus-visible .vertical-card-shade{opacity:1}.vertical-controls{flex:none;justify-content:space-between;align-items:center;height:68px;display:flex;position:relative}.vertical-note{letter-spacing:.18em;color:#827c77;font:8px monospace}.vertical-scroll{text-align:center;letter-spacing:.38em;color:#d3c6b8;width:130px;font:9px monospace;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vertical-scroll:before,.vertical-scroll:after{content:"";background:#ffffff26;width:1px;height:38px;position:absolute;top:-14px}.vertical-scroll:before{left:0}.vertical-scroll:after{right:0}.vertical-scroll>span{transition:transform .18s,color .18s;display:block}.vertical-scroll i{opacity:.4;font:18px sans-serif;transition:opacity .18s,transform .18s;position:absolute;left:0;right:0}.scroll-up{bottom:14px}.scroll-down{top:12px}.vertical-scroll[data-direction="1"]>span{color:#fff2df;transform:translateY(7px)}.vertical-scroll[data-direction="-1"]>span{color:#fff2df;transform:translateY(-7px)}.vertical-scroll[data-direction="1"] .scroll-down{opacity:1;transform:translateY(5px)}.vertical-scroll[data-direction="-1"] .scroll-up{opacity:1;transform:translateY(-5px)}.vertical-arrows{gap:8px;display:flex}.vertical-arrows button{border:1px solid #ffffff25;border-radius:50%;width:30px;height:30px;font-size:15px}.vertical-arrows button:disabled{opacity:.2}.reel-pause-mobile{display:none}@media (min-width:801px) and (min-height:700px){.wheel-portfolio{height:100svh}.vertical-experience,.vertical-stage{min-height:0}}@media (max-width:800px){.wheel-portfolio>.ambient{top:126px}.wheel-portfolio>.header{height:96px}.identity-discipline{letter-spacing:.18em;font-size:7px}.vertical-stage{min-height:560px}.vertical-note{max-width:105px;font-size:7px;line-height:1.6}}@media (max-width:480px){.vertical-stage{flex:none;height:max(440px,100svh - 194px);min-height:0}.vertical-card-label{font-size:10px;top:11px;left:12px}.vertical-scroll{width:100px}}@media (prefers-reduced-motion:reduce){.vertical-scroll>span,.vertical-scroll i{transition:none}}@media (max-width:800px){.wheel-portfolio .header,.wheel-portfolio .header[data-generator-entry=true]{height:auto;padding-top:max(22px, env(safe-area-inset-top));flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.wheel-portfolio .header .identity-discipline{margin-top:7px;position:static}.wheel-portfolio .header nav,.wheel-portfolio .header[data-generator-entry=true] nav{grid-template-columns:repeat(3,1fr);justify-content:start;gap:0 16px;width:100%;display:grid;position:static}.wheel-portfolio .header nav a,.wheel-portfolio .header nav button{align-items:center;min-height:44px;padding:10px 4px;display:flex}.wheel-portfolio .header .header-generator{text-underline-offset:4px;grid-area:2/1/auto/-1;justify-self:start;margin-right:0;font-size:11.7px;text-decoration:underline;text-decoration-thickness:1px}.wheel-portfolio{--mobile-header-height:calc(184px + max(0px, env(safe-area-inset-top) - 22px));height:100svh}.wheel-portfolio>.header{height:var(--mobile-header-height);padding-left:var(--side);padding-right:var(--side);z-index:8;background:linear-gradient(#080809 85%,#08080900);transition:transform .48s cubic-bezier(.45,0,.55,1);position:fixed;top:0;left:0;right:0;transform:translateY(0)}.wheel-portfolio[data-header-hidden=true]>.header{transform:translateY(-105%)}.wheel-portfolio .vertical-experience{min-height:0}.wheel-portfolio .vertical-stage{flex:1;height:auto;min-height:0}.wheel-portfolio .vertical-topline{z-index:7;pointer-events:none;transform:translateY(var(--mobile-header-height));background:linear-gradient(90deg,#080809d9,#08080900 75%);transition:transform .48s cubic-bezier(.45,0,.55,1);position:absolute;top:0;left:0;right:0}.wheel-portfolio[data-header-hidden=true] .vertical-topline{transform:translateY(max(8px, env(safe-area-inset-top)))}.wheel-portfolio .vertical-landing-scroll{top:calc(var(--mobile-header-height) + 42px)}.reel-pause-desktop{display:none}.reel-pause-mobile{color:#aaa49c;min-height:44px;padding:10px 4px;font-size:11px;display:block}.vertical-controls .vertical-note{display:none}.vertical-controls .vertical-scroll{width:60px}.vertical-controls .vertical-scroll:before,.vertical-controls .vertical-scroll:after{display:none}.vertical-arrows button{width:44px;height:44px}}@media (max-width:800px) and (prefers-reduced-motion:reduce){.wheel-portfolio>.header,.wheel-portfolio .vertical-topline{transition:none}}.vertical-card-play{z-index:3;border:1px solid #ffffff70;border-radius:50%;place-items:center;width:25px;height:25px;font-size:13px;display:grid;position:absolute;top:14px;right:14px}.vertical-card-label{letter-spacing:.16em;text-transform:uppercase;opacity:.9;font:8px monospace;top:auto;bottom:39px}.vertical-card-open{opacity:.75;white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;bottom:15px;overflow:hidden}.vertical-card-open>span{float:right;margin-left:12px;font-size:13px}.vertical-card-shade{opacity:.6;background:linear-gradient(#0000 55%,#000a)}
.wheel-portfolio[data-entry]>.header{z-index:8}.wheel-portfolio[data-entry] .vertical-topline,.wheel-portfolio[data-entry] .vertical-controls{transition:opacity .6s ease-out}.wheel-portfolio[data-entry=intro] .vertical-topline,.wheel-portfolio[data-entry=leaving] .vertical-topline,.wheel-portfolio[data-entry=intro] .vertical-controls,.wheel-portfolio[data-entry=leaving] .vertical-controls{opacity:0}.wheel-portfolio[data-entry=intro]>.vertical-experience{visibility:hidden}.wheel-portfolio[data-entry] .vertical-landing-scroll{display:none}:is(html:has(.wheel-portfolio[data-entry=intro]),html:has(.wheel-portfolio[data-entry=entering]),html:has(.wheel-portfolio[data-entry=leaving])){overflow:clip}.portfolio-intro{inset:clamp(76px, 10vh, 108px) var(--side) 68px;z-index:1;touch-action:pinch-zoom;place-items:center;transition:opacity .36s,transform .68s cubic-bezier(.45,0,.2,1),visibility .68s;display:grid;position:fixed}.portfolio-intro-copy{text-align:center;width:min(100%,470px);padding:24px 0}.portfolio-intro h2{letter-spacing:-.035em;text-wrap:balance;outline:none;margin:0;font-size:clamp(23px,1.7vw,29px);font-weight:400;line-height:1.35}.portfolio-intro p{color:#aaa49c;text-wrap:pretty;margin:0;font-size:14px;line-height:1.7}.portfolio-intro .portfolio-intro-support{margin-top:19px}.portfolio-intro .portfolio-intro-contact{margin-top:29px}.portfolio-intro .portfolio-intro-generator{margin-top:22px;font-size:12px}.portfolio-intro a,.portfolio-contact-trigger,.portfolio-intro-generator button{color:#d8d4cd;transition:color .18s}.portfolio-intro a:hover,.portfolio-contact-trigger:hover,.portfolio-intro-generator button:hover{color:#fff}.portfolio-intro-generator button{font:inherit;padding:0;display:inline}.portfolio-contact-trigger{font:inherit;padding:0}.portfolio-intro-generator button span{transition:transform .18s;display:inline-block}.portfolio-intro-generator button:hover span{transform:translate(1px,-1px)}.portfolio-intro-scroll{color:#b9b3ad;letter-spacing:.3em;flex-direction:column;align-items:center;gap:12px;min-width:60px;margin:36px auto 0;padding:12px;font:9px monospace;display:flex}.portfolio-intro-scroll svg{stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:36px;animation:2.4s ease-in-out infinite landing-scroll-pulse}.wheel-portfolio[data-entry=entering] .portfolio-intro,.wheel-portfolio[data-entry=wall] .portfolio-intro{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-28px)}@media (max-width:800px){.portfolio-intro{top:var(--mobile-header-height);bottom:max(20px, env(safe-area-inset-bottom))}.portfolio-intro-copy{max-width:370px}.portfolio-intro h2{font-size:23px}.portfolio-intro p{font-size:13px}.portfolio-intro .portfolio-intro-contact{margin-top:24px}.portfolio-intro-scroll{margin-top:22px}}@media (max-height:700px){.portfolio-intro-copy{padding:10px 0}.portfolio-intro h2{font-size:21px}.portfolio-intro p{font-size:12px;line-height:1.55}.portfolio-intro .portfolio-intro-support,.portfolio-intro .portfolio-intro-contact,.portfolio-intro .portfolio-intro-generator{margin-top:14px}.portfolio-intro-scroll{gap:6px;margin-top:12px}.portfolio-intro-scroll svg{height:26px}}@media (prefers-reduced-motion:reduce){.wheel-portfolio[data-entry]>.vertical-experience{transition:opacity .14s linear}.wheel-portfolio[data-entry=intro]>.vertical-experience,.wheel-portfolio[data-entry=leaving]>.vertical-experience{opacity:0}.portfolio-intro{transition:opacity .14s linear,visibility .14s;transform:none!important}.portfolio-intro-scroll svg{animation:none}}
