.stage{position:relative;width:100%;aspect-ratio:1 / .5}#numbers-canvas{position:absolute;left:0;top:-20%;width:100%;height:140%;display:block;cursor:crosshair}.big{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(64px,10vw,150px);font-weight:700;letter-spacing:-.06em;line-height:1;color:var(--accent)}.has-gl .big{display:none}.tabs{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}.tabs button{text-align:left;background:none;border:0;border-top:2px solid transparent;margin-top:-1px;padding:12px 10px 10px 0;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-height:62px;transition:border-color .25s}.tabs b{font-size:21px;font-weight:700;letter-spacing:-.04em;line-height:1.1;font-variant-numeric:tabular-nums;transition:color .25s}.tabs span{font-size:12.5px;color:var(--mute)}.tabs button:hover b,.tabs button[aria-pressed=true] b{color:var(--accent)}.tabs button[aria-pressed=true]{border-top-color:var(--accent)}.how{position:relative;margin-top:12px;color:var(--soft);min-height:3.3em;transition:opacity .2s,transform .2s}.how.swap{opacity:0;transform:translateY(6px)}.how b{color:var(--accent);font-weight:600}.shell{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:clamp(24px,6vw,96px)}.shell:focus{outline:none}.side{position:sticky;top:0;height:100vh;max-height:100vh;padding:clamp(48px,9vh,96px) 0;display:flex;flex-direction:column;justify-content:space-between;gap:28px}.side-name{font-size:clamp(36px,4.2vw,56px);font-weight:700;letter-spacing:-.05em;line-height:1}.side .role{margin-top:12px;font-size:20px;font-weight:600;letter-spacing:-.02em}.side .line{margin-top:12px;max-width:19em;color:var(--mute)}.spy{display:flex;flex-direction:column;gap:4px;margin-top:clamp(28px,6vh,64px)}.spy a{display:flex;align-items:center;gap:14px;padding:8px 0;text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);transition:color .2s}.spy a:before{content:"";width:28px;height:1px;background:currentColor;transition:width .25s}.spy a:hover,.spy a.on{color:var(--ink)}.spy a:hover:before,.spy a.on:before{width:60px}.links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14.5px}.links a{padding:6px 0 2px;color:var(--soft);text-decoration:none;border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}.links a:hover{color:var(--accent);border-color:var(--accent)}.main{padding:clamp(48px,9vh,96px) 0 96px;display:flex;flex-direction:column;gap:clamp(64px,10vh,112px);min-width:0}.main section{scroll-margin-top:48px;min-width:0}.about{display:grid;grid-template-columns:clamp(160px,16vw,220px) minmax(0,1fr);gap:clamp(20px,3vw,32px);align-items:start}.portrait img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--r-m);border:1px solid var(--line);background:var(--panel)}.prose{display:flex;flex-direction:column;gap:16px;max-width:38em;color:var(--soft)}.prose strong{color:var(--ink);font-weight:600}.skills{margin:28px 0 0}.skills div{display:grid;grid-template-columns:10.5em minmax(0,1fr);gap:2px 18px;padding:10px 0;border-top:1px solid var(--line)}.skills div:last-child{border-bottom:1px solid var(--line)}.skills dt{font-size:14px;font-weight:600;color:var(--ink)}.skills dd{margin:0;font-size:14.5px;color:var(--soft)}.group{display:flex;flex-direction:column;gap:6px;margin:0 -18px}.entry{scroll-margin-top:96px;display:grid;grid-template-columns:8.2em minmax(0,1fr);gap:6px 18px;padding:18px;border-radius:var(--r-m);border:1px solid transparent;transition:opacity .25s,background .25s,border-color .25s}.group:hover .entry:not(:hover){opacity:.45}.entry:hover{background:var(--hover);border-color:var(--line)}.entry .when{padding-top:4px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.entry h3{font-size:18px;font-weight:600;letter-spacing:-.02em}.entry h3 a{text-decoration:none}.entry:hover h3,.entry:hover h3 a{color:var(--accent)}.entry .sub{font-size:15px;color:var(--mute)}.entry .body{display:flex;flex-direction:column;gap:10px;min-width:0}.entry p{font-size:15.5px;color:var(--soft)}.thumb{align-self:start;aspect-ratio:16 / 10;display:grid;place-items:center;overflow:hidden;border-radius:var(--r-s);border:1px solid var(--line);background:var(--panel);font-size:24px;font-weight:700;letter-spacing:-.04em;color:var(--accent)}.shot{margin-top:6px;width:min(100%,240px)}.shot img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-s);border:1px solid var(--line);background:var(--panel)}.stat{font-size:14px;font-weight:600;color:var(--ink)}.arrow{display:inline-block;transition:transform .2s}.entry:hover h3 .arrow{transform:translate(3px,-3px)}.entry .more{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:2px}.more a{padding:6px 0 2px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}.more a:hover{color:var(--accent);border-color:var(--accent)}.more a:hover .arrow{transform:translate(3px)}.rows{list-style:none;margin:0;padding:0}.rows li{scroll-margin-top:96px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 18px;padding:14px 0;border-top:1px solid var(--line)}.rows li:last-child{border-bottom:1px solid var(--line)}.rows strong{font-weight:600}.rows .yr{font-size:14px;color:var(--mute);font-variant-numeric:tabular-nums}.rows .d{grid-column:1 / -1;font-size:14.5px;color:var(--mute)}.hobbies .d{color:var(--soft)}.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.trio img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-s);border:1px solid var(--line);background:var(--panel)}.contact-lead{font-size:clamp(34px,4.6vw,60px);font-weight:700;letter-spacing:-.05em;line-height:1}.contact-lead em{font-style:normal;color:var(--accent)}.contact .mail{display:inline-block;margin-top:18px;font-size:20px;text-underline-offset:4px;transition:color .2s}.contact .mail:hover{color:var(--accent)}.contact-form{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:40em;margin-top:36px}.contact-form .field-wide,.contact-form .form-foot{grid-column:1 / -1}.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.fine{margin-top:56px;font-size:13px;color:var(--mute)}.entry.flash,.rows li.flash{animation:flash 1.6s ease-out}@media(prefers-reduced-motion:reduce){.entry.flash,.rows li.flash{animation-duration:1.6s!important}}@keyframes flash{0%,40%{background:var(--flash)}to{background:transparent}}@media(max-width:900px){.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{grid-template-columns:1fr;gap:0}.side{position:static;height:auto;max-height:none;padding-bottom:8px}.spy{display:none}.entry{grid-template-columns:1fr}.thumb{max-width:180px}}@media(max-width:600px){.about{grid-template-columns:1fr}.portrait{width:min(200px,60%)}.skills div,.trio,.contact-form{grid-template-columns:1fr}}.floor{position:relative;z-index:1;display:flex;flex-direction:column;height:100vh;min-height:560px;max-height:980px;overflow:hidden;border-bottom:1px solid var(--line)}@supports (height: 100svh){.floor{height:100svh}}.floor:focus{outline:none}#floor-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:pointer}.floor-top{position:relative;z-index:5;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 18px;padding:clamp(16px,3vw,32px) var(--gutter)}.floor-top h1{font-size:clamp(30px,4vw,52px);font-weight:700;letter-spacing:-.05em;line-height:1}.floor-pitch{color:var(--soft);margin-top:8px;max-width:17em;font-size:15.5px}.acts{display:flex;flex-wrap:wrap;gap:8px}.floor-pads{position:relative;z-index:3;display:flex;justify-content:center;margin-block:auto;padding:12px var(--gutter) 24px}.floor:has(>#floor-enable:not([hidden])) .floor-pads{margin-bottom:0}.floor-pads ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;width:100%;max-width:1080px;margin:0;padding:0;list-style:none}.floor-pads a{display:flex;flex-direction:column;gap:6px;height:100%;padding:22px 20px 20px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--glass);text-decoration:none;transition:border-color .2s,background-color .2s,transform .2s}.floor-pads a:hover{border-color:var(--accent);background-color:var(--panel);transform:translateY(-2px)}.floor-pads span{font-size:clamp(19px,1.8vw,26px);font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--accent)}.floor-pads b{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--ink);white-space:nowrap}#floor-enable{position:relative;z-index:3;align-self:center;margin:4px var(--gutter) auto}.floor--live .floor-top{position:absolute;top:0;left:0;right:0;pointer-events:none}.floor--live .floor-top>*{pointer-events:auto}.floor--live .floor-pads:not(:focus-within){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.floor--live .floor-pads:focus-within{position:absolute;z-index:7;left:0;right:0;bottom:10px;margin:0;justify-content:flex-start;padding:0 calc(var(--gutter) - 6px)}.floor--live .floor-pads:focus-within ul{display:flex;flex-wrap:nowrap;gap:6px;width:auto;max-width:100%;padding:6px;overflow-x:auto;scrollbar-width:none}.floor--live .floor-pads:focus-within li{flex:none}.floor--live .floor-pads:focus-within a{flex-direction:row;align-items:baseline;gap:8px;min-height:44px;padding:10px 16px;border-radius:var(--r-pill);backdrop-filter:blur(8px)}.floor--live .floor-pads:focus-within span{font-size:16px;letter-spacing:-.02em}.floor--live .floor-pads:focus-within b{font-size:13.5px;font-weight:600;color:var(--soft)}.hint{position:absolute;left:50%;bottom:20px;transform:translate(-50%);z-index:4;width:max-content;max-width:calc(100% - 28px);padding:10px 18px;border:1px solid var(--line);border-radius:22px;background:var(--glass);backdrop-filter:blur(8px);font-size:14px;color:var(--soft);text-align:center;transition:opacity .4s,visibility 0s linear 0s}.hint b{color:var(--ink);font-weight:600}.hint.off{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s,visibility 0s linear .4s}.floor:not(.floor--live) .hint,.floor:not(.floor--live) .card{display:none}.card{position:absolute;z-index:6;right:var(--gutter);top:54%;width:min(380px,calc(100% - 28px));display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid var(--line);border-radius:var(--r-l);background:#12141af0;backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transform:translate(24px,-50%);transition:opacity .35s,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s}.card.on{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%);transition:opacity .35s,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}.card .k{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.card .n{font-size:60px;font-weight:700;letter-spacing:-.06em;line-height:.95;color:var(--accent);margin-top:4px}.card .card-title{font-size:22px;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--ink)}.card p{color:var(--soft);font-size:15.5px}.card .cta{display:flex;flex-wrap:wrap;gap:0 18px}#card-links{display:contents}.card .cta a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;transition:color .2s}.card .cta a:hover{color:var(--accent)}@media(max-width:720px){.floor-pads ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.floor-pads li:last-child:nth-child(odd){grid-column:1 / -1}.floor-pads a{padding:16px 16px 14px}.floor-pads span{font-size:22px}.floor-pads b{font-size:15.5px}.card{inset:auto 14px 14px;width:auto;padding:18px;transform:translateY(24px)}.card.on{transform:none}.card .n{font-size:44px}.card,.card.on{transition-property:opacity,transform,visibility,bottom;transition-duration:.35s,.35s,0s,0s;transition-timing-function:ease,cubic-bezier(.2,.8,.2,1),linear,linear}.card{transition-delay:0s,0s,.35s,.6s}.card.on{transition-delay:0s,0s,0s,.6s}.floor--live .floor-pads:focus-within~.card{bottom:72px;transition-delay:0s,0s,.35s,0s}.floor--live .floor-pads:focus-within~.card.on{transition-delay:0s,0s,0s,0s}}
