@font-face{font-family:Raleway;src:url('assets/Raleway-Medium.ttf') format('truetype');font-weight:500;font-display:block}
@font-face{font-family:Raleway;src:url('assets/Raleway-Bold.ttf') format('truetype');font-weight:700;font-display:block}
@font-face{font-family:Raleway;src:url('assets/Raleway-ExtraBold.ttf') format('truetype');font-weight:800;font-display:block}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}:root{font-family:Raleway,Arial,sans-serif;font-synthesis:none;color:#fff;background:#3195ff}body{-webkit-font-smoothing:antialiased}button{font:inherit}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
#stage{position:fixed;inset:0;isolation:isolate;overflow:hidden;cursor:default}.scene{--ui-scale:1;--pad:3.125vw;position:absolute;inset:0;overflow:hidden;background:var(--tint);contain:paint}.photo,.tint{position:absolute;inset:0;pointer-events:none}.photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;will-change:transform;backface-visibility:hidden}.photo.is-ready{opacity:1}.tint{background:var(--tint);opacity:var(--tint-opacity)}.content{position:absolute;inset:0;z-index:2;pointer-events:none}[data-no-wave]{pointer-events:auto;cursor:text;user-select:text}
.brand{position:absolute;left:var(--pad);top:5.555556%;font-size:calc(20px*var(--ui-scale));line-height:1.15;letter-spacing:.0075em}.brand strong{font-weight:800;display:table}.brand small{font-size:.7375em;font-weight:500;display:table}.email{position:absolute;left:50%;top:5.787037%;transform:translateX(-50%);font-size:calc(30px*var(--ui-scale));font-weight:700;line-height:1.166667;letter-spacing:.0075em;pointer-events:auto;white-space:nowrap;cursor:pointer}.email:hover{text-decoration:underline;text-underline-offset:.15em}
.portfolio{position:absolute;right:var(--pad);top:5.925926%;width:calc(164px*var(--ui-scale));height:calc(32px*var(--ui-scale));border-radius:calc(10px*var(--ui-scale));padding:0 calc(20px*var(--ui-scale));display:flex;align-items:center;justify-content:center;gap:calc(4px*var(--ui-scale));background:#fff;color:var(--button-ink);font-weight:700;font-size:calc(20px*var(--ui-scale));line-height:.8;letter-spacing:.0075em;font-variant-caps:all-small-caps;pointer-events:auto;cursor:pointer;transition:transform .3s cubic-bezier(.2,.75,.25,1)}.portfolio span{width:calc(100px*var(--ui-scale));flex:none}.portfolio svg{display:block;width:calc(20px*var(--ui-scale));height:calc(20px*var(--ui-scale));flex:none}.portfolio:hover{transform:translateY(-2px)}
.hero{position:absolute;left:var(--pad);right:var(--pad);top:33.154186%;display:flex;align-items:flex-start;justify-content:space-between}.identity{width:71.838214vw;flex:none}.logo{display:block;width:100%;padding:0;border:0;background:none;color:inherit;pointer-events:auto;cursor:default;transform-origin:50% 65%}.logo svg{width:100%;height:auto;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}.tagline{margin:0;font-size:calc(48.25px*var(--ui-scale));font-weight:700;line-height:1.1683;font-variant-caps:small-caps;white-space:nowrap}.project-shell{position:absolute;right:var(--pad);top:47.314815%;width:19.82845vw;transform:translateY(-50%);pointer-events:none}.project{margin:0;font-size:calc(60px*var(--ui-scale));font-weight:700;line-height:.966667;letter-spacing:-.01em;text-align:right;white-space:pre-line}
.footer{position:absolute;left:var(--pad);right:var(--pad);bottom:5.555556%;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.about{width:28.802083vw;font-size:calc(20px*var(--ui-scale));font-weight:500;line-height:1.15;letter-spacing:.0075em}.about h1{font:inherit;font-weight:800;margin:0 0 .3em}.about p{margin:0;white-space:pre-line}.connect{display:flex;align-items:flex-start;gap:1.5625vw}.connect p{margin:0;font-size:calc(30px*var(--ui-scale));font-weight:500;line-height:1.166667;letter-spacing:.0075em;white-space:pre-line}.socials{--social-size:calc(68.75px*var(--ui-scale));display:flex;gap:calc(var(--social-size)*.1454545455);pointer-events:none}.social{display:block;pointer-events:auto;width:calc(68.75px*var(--ui-scale));height:calc(68.75px*var(--ui-scale));cursor:pointer;transition:transform .3s cubic-bezier(.2,.75,.25,1)}.social svg{display:block;width:100%;height:100%;pointer-events:none}.social:hover{transform:translateY(-3px)}
.tag-cloud{position:absolute;inset:0;z-index:1;pointer-events:none;--float-scale:1}.float-item{position:absolute;left:0;top:0;visibility:hidden;width:calc(var(--w)*var(--float-scale)*1px);height:calc(var(--h)*var(--float-scale)*1px);transform-origin:center;will-change:transform;backface-visibility:hidden}.float-ink{display:block;width:100%;height:100%;transform-origin:center}.tag{pointer-events:none;cursor:default}.tag-face{position:relative;border-radius:calc(var(--radius)*var(--float-scale)*1px);background:rgba(255,255,255,var(--glass-alpha));-webkit-backdrop-filter:blur(calc(var(--blur)*var(--float-scale)*1px));backdrop-filter:blur(calc(var(--blur)*var(--float-scale)*1px))}.tag-face::before{content:"";position:absolute;inset:0;border-radius:inherit;border:calc(var(--border)*var(--float-scale)*1px) solid rgba(255,255,255,var(--line-alpha));pointer-events:none}.tag-label{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);object-fit:contain;width:calc(var(--labelW)*var(--float-scale)*1px);height:calc(var(--labelH)*var(--float-scale)*1px);pointer-events:none;user-select:none}.symbol{pointer-events:none}.symbol svg{object-fit:contain;pointer-events:none;user-select:none}
.wave{position:absolute;inset:0;pointer-events:none;will-change:clip-path;contain:strict}.entering{will-change:clip-path;pointer-events:none}.entering [data-no-wave],.entering button,.entering a{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.scene{--pad:4vw}.brand{font-size:14px}.email{font-size:18px;top:12%;left:var(--pad);transform:none}.portfolio{width:110px;height:28px;font-size:14px;padding:0 12px;border-radius:8px;gap:5px}.portfolio span{width:auto}.portfolio svg{width:15px;height:15px}.identity{width:74vw}.hero{top:36%}.tagline{font-size:clamp(16px,2.513021vw,24px)}.project-shell{top:57%;width:auto;max-width:38%}.project{font-size:26px;line-height:1.05}.about{width:39vw;font-size:12px}.about p{white-space:normal}.connect{flex-direction:column;align-items:flex-end;gap:16px}.connect p{text-align:right;font-size:14px}.socials{--social-size:34px}.social{width:34px;height:34px}.footer{bottom:4vw}}
@media(max-width:600px){.scene{--pad:24px}.brand{top:28px}.brand small{font-size:10px;margin-top:2px}.portfolio{top:29px;width:110px;height:28px;font-size:14px}.email{left:24px;top:82px;font-size:16px}.hero{top:34%}.identity{width:100%}.tagline{font-size:clamp(12px,3.520707vw,21px);line-height:1.5;margin-top:8px;white-space:normal}.project-shell{top:54%;max-width:70%;width:auto}.project{font-size:26px;line-height:1.05}.footer{bottom:28px;display:block}.about{width:min(100%,355px);font-size:12px;line-height:1.3}.about h1{margin-bottom:6px}.connect{margin-top:28px;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.connect p{text-align:left;white-space:normal;font-size:12px;line-height:1.3;max-width:220px}.socials{--social-size:32px}.social{width:32px;height:32px}}
@media(max-height:600px) and (min-width:601px){.hero{top:31%}.footer{bottom:4%}.brand{top:5%}.portfolio{top:5%;min-height:24px;min-width:110px}.email{top:5%;left:50%;transform:translateX(-50%);font-size:16px}.project-shell{top:46%}.connect{flex-direction:row;gap:14px}.connect p{font-size:12px}.about{font-size:11px}.socials{--social-size:28px}.social{width:28px;height:28px}}

/* Align visible glyphs independently of text line-box and cap-height metrics. */
.portfolio .portfolio-label{display:block;width:calc(100px*var(--ui-scale));height:calc(14px*var(--ui-scale));flex:none}
@media(max-width:900px){.portfolio .portfolio-label{width:65px;height:10px}}

