@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-latin.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";src:url(/fonts/InstrumentSerif-normal-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";src:url(/fonts/InstrumentSerif-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --corner-c{syntax: "<color>"; inherits: false; initial-value: oklch(.3 .08 256);}:root{--bg: oklch(.08 .004 265);--bg-card: oklch(.12 .005 264);--bg-card-hi: oklch(.17 .005 262);--fg: oklch(.96 .002 255);--fg-dim: oklch(.62 .002 255);--fg-dimmer: oklch(.44 .002 255);--fg-faint: oklch(.3 .002 255);--hot: oklch(.68 .06 45);--led-green: oklch(.72 .12 155);--amber: oklch(.78 .05 75);--f-sans: "Geist", system-ui, -apple-system, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--f-serif: "Instrument Serif", Georgia, serif;--radius: 10px;--radius-lg: 14px;--gap: 14px;--corner-size: 24px;--corner-b: 1.5px}.shell{padding:24px 16px;flex:1;display:flex;flex-direction:column;--accent: oklch(.55 .13 256);--accent-wash: color-mix(in oklch, var(--accent) 12%, transparent);--border: oklch(.2 .005 264);--border-hi: oklch(.26 .005 262);color:var(--fg);font-family:var(--f-sans);font-size:15px;line-height:1.5}.shell a{color:inherit;text-decoration:none}.shell button{cursor:pointer}.shell .c-hero__title{font-family:var(--f-serif);font-weight:400;letter-spacing:-.015em;color:var(--fg)}.shell .c-lab__title{font-family:var(--f-sans);font-weight:700;letter-spacing:-.03em;color:var(--fg)}.shell .c-contact__title{font-family:var(--f-serif);font-weight:400;letter-spacing:-.02em;color:var(--fg)}.kicker{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dimmer);display:inline-flex;align-items:center;gap:6px}.kicker .sl{color:var(--fg-dim)}.kicker.on-accent{color:color-mix(in srgb,var(--accent) 85%,transparent)}.kicker.on-accent .sl{color:var(--accent)}.bento{display:grid;flex:1;grid-template-columns:repeat(6,1fr);grid-template-rows:1fr 1fr auto;gap:var(--gap);align-items:stretch}.cell{position:relative;--corner-c: oklch(.3 .08 256);--corner-tl: conic-gradient(from 90deg at left var(--corner-b) top var(--corner-b), transparent 90deg, var(--corner-c) 0) top left / var(--corner-size) var(--corner-size) border-box no-repeat;--corner-tr: conic-gradient(from 180deg at right var(--corner-b) top var(--corner-b), transparent 90deg, var(--corner-c) 0) top right / var(--corner-size) var(--corner-size) border-box no-repeat;--corner-bl: conic-gradient(from 0deg at left var(--corner-b) bottom var(--corner-b), transparent 90deg, var(--corner-c) 0) bottom left / var(--corner-size) var(--corner-size) border-box no-repeat;--corner-br: conic-gradient(from 270deg at right var(--corner-b) bottom var(--corner-b),transparent 90deg, var(--corner-c) 0) bottom right / var(--corner-size) var(--corner-size) border-box no-repeat;background:var(--corner-tl),var(--corner-tr),var(--corner-bl),var(--corner-br),var(--bg-card);border-radius:2px;overflow:hidden;display:flex;flex-direction:column;transition:--corner-c .22s ease,transform .18s ease}a.cell{cursor:pointer}@media(hover:hover)and (pointer:fine){a.cell:hover{--corner-c: oklch(.55 .13 256);background:var(--corner-tl),var(--corner-tr),var(--corner-bl),var(--corner-br),var(--bg-card-hi);transform:translateY(-2px);box-shadow:0 12px 40px color-mix(in oklch,var(--accent) 10%,transparent),0 4px 16px color-mix(in oklch,var(--bg) 70%,transparent)}}a.cell:focus-visible{outline:none;--corner-c: var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 18%,transparent)}.btn{--btn-corner: 8px;position:relative;display:inline-flex;align-items:center;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;color:var(--fg);text-decoration:none;clip-path:polygon(var(--btn-corner) 0,100% 0,100% calc(100% - var(--btn-corner)),calc(100% - var(--btn-corner)) 100%,0 100%,0 var(--btn-corner));transition:transform .18s ease;isolation:isolate}.btn__label{display:inline-flex;align-items:center;gap:10px;padding:11px 14px 11px 16px}.btn__prompt{font-weight:500;opacity:.9}.btn__arrow{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;align-self:stretch;font-size:13px;transition:transform .22s ease;border-left:1px solid currentColor}.btn:before{content:"";position:absolute;inset:0;border:1px solid var(--border-hi);clip-path:polygon(var(--btn-corner) 0,100% 0,100% calc(100% - var(--btn-corner)),calc(100% - var(--btn-corner)) 100%,0 100%,0 var(--btn-corner));z-index:-1;transition:background .2s,border-color .2s}.btn:hover{transform:translateY(-1px)}.btn:hover .btn__arrow{transform:translate(3px)}.btn.pri{color:var(--fg)}.btn.pri:before{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.btn.pri .btn__prompt{color:var(--accent)}.btn.pri .btn__arrow{color:var(--accent);border-left-color:color-mix(in srgb,var(--accent) 40%,transparent)}.btn.pri:hover:before{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,transparent)}.btn.sec{color:var(--fg-dim)}.btn.sec:before{border:1px dashed color-mix(in srgb,var(--fg-dim) 50%,transparent);background:transparent}.btn.sec .btn__arrow{border-left-color:color-mix(in srgb,var(--fg-dim) 40%,transparent)}.btn.sec:hover{color:var(--fg)}.btn.sec:hover:before{border-style:solid;border-color:var(--fg-dim);background:color-mix(in srgb,var(--fg) 4%,transparent)}.c-hero{grid-column:span 4;grid-row:span 2;padding:32px 36px;min-height:300px;justify-content:center;background:var(--corner-tl),var(--corner-tr),var(--corner-bl),var(--corner-br),radial-gradient(ellipse 70% 80% at 115% 100%,color-mix(in srgb,white 7%,transparent),transparent 70%),var(--bg-card)}.c-hero__kicker{position:absolute;top:20px;left:28px;z-index:3}.c-hero__ambient{position:absolute;right:0;top:0;bottom:0;width:55%;pointer-events:none;z-index:0;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,#000 35%,#000 85%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 15%,#000 50%,transparent 85%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 35%,#000 85%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 15%,#000 50%,transparent 85%);-webkit-mask-composite:source-in;font-family:var(--f-mono);font-size:11px;color:var(--fg-dimmer);opacity:.3;line-height:1.6;letter-spacing:.02em;padding:22px 24px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.c-hero__ambient-block{white-space:pre}.c-hero__inner{position:relative;z-index:2;max-width:520px;display:flex;flex-direction:column;gap:12px}.c-hero__title{font-family:var(--f-serif);font-weight:400;font-size:clamp(36px,4.2vw,52px);line-height:1;letter-spacing:-.015em;margin:0;color:var(--fg)}.c-hero__title em{font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:1.2em;color:var(--accent);letter-spacing:-.01em;display:inline-block}.c-hero__title b{font-family:var(--f-serif);font-weight:400;font-style:normal}.c-hero__line{margin:0;color:var(--fg-dim);font-size:14.5px;max-width:380px}.c-hero__quick{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.c-portrait{grid-column:span 2;grid-row:span 2;min-height:180px;padding:0;overflow:hidden;background:radial-gradient(ellipse 75% 55% at 68% 38%,color-mix(in srgb,white 4%,transparent) 0%,transparent 70%),var(--bg-card)}.c-portrait__img-wrap{position:absolute;inset:0}.c-portrait__img-wrap:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 3px,color-mix(in oklch,var(--bg) 9%,transparent) 3px,color-mix(in oklch,var(--bg) 9%,transparent) 4px),linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--bg) 30%,transparent) 65%,color-mix(in srgb,var(--bg) 92%,transparent) 100%);z-index:2}.c-portrait__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 15%;filter:contrast(1.03)}.c-portrait__foot{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;color:var(--fg)}.c-portrait__name{font-family:var(--f-sans);font-weight:600;font-size:15px;letter-spacing:-.01em}.c-portrait__loc{font-family:var(--f-mono);font-size:11px;color:var(--fg-dim);letter-spacing:.05em;display:flex;align-items:center;gap:6px;margin-top:2px}.c-portrait__loc:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--led-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--led-green) 25%,transparent)}.tag{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:4px;border:1px solid var(--border-hi);color:var(--fg-dim);background:transparent}.section-label{grid-column:1 / -1;margin:0;padding:0 2px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);display:flex;align-items:center;gap:12px}.section-label:after{content:"";width:80px;flex:none;height:1px;background:linear-gradient(to right,var(--border-hi),transparent)}.c-post{grid-column:span 2;padding:22px 24px;gap:10px;background:var(--corner-tl),var(--corner-tr),var(--corner-bl),var(--corner-br),var(--bg-card);box-shadow:inset 0 2px 0 var(--border-hi);transition:--corner-c .22s ease,box-shadow .2s ease}.c-post__tags{display:flex;flex-wrap:wrap;gap:5px}.c-post__title{margin:0;font-family:var(--f-serif);font-weight:400;font-size:clamp(18px,1.8vw,22px);line-height:1.2;letter-spacing:-.01em;color:var(--fg)}.c-post__desc{margin:0;font-size:12.5px;color:var(--fg-dim);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.c-post__foot{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--border) 80%,transparent)}.c-post__date{font-family:var(--f-mono);font-size:10.5px;color:var(--fg-dim);letter-spacing:.06em}.c-post__arrow{font-family:var(--f-mono);font-size:11px;color:var(--accent);letter-spacing:.04em;transition:letter-spacing .2s ease,transform .22s ease}@media(hover:hover)and (pointer:fine){a.cell.c-post:hover{background:var(--corner-tl),var(--corner-tr),var(--corner-bl),var(--corner-br),var(--bg-card);transform:none;box-shadow:inset 0 2px 0 var(--accent)}.c-post:hover .c-post__arrow{letter-spacing:.1em;transform:translate(2px)}}.c-contact{grid-column:span 6;padding:28px 40px;background:var(--corner-tl),var(--corner-tr),var(--corner-bl),var(--corner-br),var(--bg-card)}.c-contact:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in oklch,var(--fg) 18%,transparent) 1px,transparent 1px);background-size:28px 28px;opacity:.08;pointer-events:none;border-radius:inherit}.c-contact__body{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:space-between;gap:40px;width:100%}.c-contact__left{flex:1;display:flex;flex-direction:column;gap:8px}.c-contact__title{margin:0;font-family:var(--f-serif);font-size:clamp(18px,1.8vw,24px);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--fg)}.c-contact__title em{font-family:var(--f-serif);font-style:italic;color:var(--accent);font-weight:400}.c-contact__right{display:flex;flex-direction:column;gap:14px;align-items:flex-end;flex-shrink:0}.c-contact__sep{width:1px;align-self:stretch;flex-shrink:0;background:linear-gradient(to bottom,transparent 0%,color-mix(in oklch,var(--border-hi) 90%,transparent) 20%,color-mix(in oklch,var(--border-hi) 90%,transparent) 80%,transparent 100%);margin:0 8px}.c-contact__socials{display:flex;align-items:center;gap:8px}.c-contact__social-btn{width:36px;height:36px;border-radius:2px;border:1px solid var(--border-hi);display:inline-flex;align-items:center;justify-content:center;color:var(--fg-dim);transition:border-color .15s,color .15s}.c-contact__social-btn:hover{border-color:var(--accent);color:var(--accent)}.c-hero__mobile-portrait{display:none;position:absolute;right:0;top:0;bottom:6%;width:50%;overflow:hidden;pointer-events:none;z-index:1}.c-hero__mobile-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:contrast(1.06) brightness(.85);mask-image:linear-gradient(to bottom,transparent 0%,rgb(0 0 0 / .4) 6%,rgb(0 0 0 / .85) 14%,#000 22%,#000 76%,rgb(0 0 0 / .7) 88%,transparent 100%),linear-gradient(to right,transparent 0%,rgb(0 0 0 / .25) 8%,rgb(0 0 0 / .7) 20%,#000 42%,#000 100%);mask-composite:intersect}@media(max-width:1024px){.c-hero__ambient{display:none}.btn__label{padding:10px 12px 10px 14px}.btn__arrow{padding:0 12px}.c-post__title{font-size:clamp(15px,2vw,19px)}.c-post__desc{-webkit-line-clamp:2}}@media(min-width:641px)and (max-width:1024px){.shell{padding:20px 18px}.bento{grid-template-columns:1fr 1fr;gap:12px}.c-hero{grid-column:1 / 2;grid-row:1 / 3;padding:28px 26px 36px;min-height:380px}.c-hero__mobile-portrait{display:none}.c-hero:after{display:none}.c-hero__inner{max-width:none;gap:18px}.c-hero__title{font-size:clamp(30px,4.8vw,46px);margin-top:0}.c-hero__line{font-size:14px;max-width:none;margin-top:auto;padding-top:0;color:var(--fg-dim)}.c-hero__quick{gap:10px;margin-top:20px}.c-portrait{grid-column:2 / 3;grid-row:1 / 3;display:flex;min-height:380px}.c-portrait__img{object-fit:cover;object-position:center 15%;mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 70%,transparent 100%),linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 70%,transparent 100%),linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);-webkit-mask-composite:source-in}.c-post{grid-column:1 / -1;grid-row:auto}.c-contact{grid-column:1 / -1;grid-row:auto;padding:14px 24px}.c-contact__body{gap:28px}.c-contact__sep{display:none}.kicker{font-size:10px;letter-spacing:.12em}}@media(max-width:640px){.shell{padding:16px 14px}.bento{grid-template-columns:1fr;grid-template-rows:auto;gap:10px}.c-hero{grid-column:1 / -1;grid-row:auto;padding:32px 20px 40px;min-height:440px}.c-hero__inner{gap:12px;max-width:none;position:relative;z-index:3}.c-hero__title{font-size:clamp(28px,8.5vw,38px);margin-top:4px}.c-hero__line{font-size:14px;max-width:none;color:var(--fg);margin-top:8px;padding-top:0}.c-hero__quick{gap:10px;margin-top:20px}.c-hero__mobile-portrait{display:block;z-index:1;opacity:.94}.c-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,color-mix(in oklch,var(--bg-card) 95%,transparent) 38%,color-mix(in oklch,var(--bg-card) 70%,transparent) 54%,color-mix(in oklch,var(--bg-card) 20%,transparent) 68%,transparent 82%),linear-gradient(to bottom,transparent 24%,color-mix(in oklch,var(--bg-card) 60%,transparent) 70%);z-index:2;pointer-events:none}.c-portrait{display:none}.kicker{font-size:10px;letter-spacing:.1em}.c-hero{order:1}.section-label:nth-of-type(1){order:2}.c-post{order:3;grid-column:1 / -1}.section-label:nth-of-type(2){order:4}.c-contact{order:5}.c-contact{grid-column:1 / -1;padding:14px 18px}.c-contact__body{flex-direction:column;align-items:flex-start;gap:20px}.c-contact__sep{display:none}.c-contact__title{font-size:clamp(17px,5vw,21px)}.c-contact__right{align-items:flex-start;width:100%}.c-contact__right .btn{width:100%;justify-content:space-between}}@media(max-width:380px){.c-hero__title{font-size:34px}.c-hero__quick{flex-direction:column;align-items:stretch}.c-hero__quick .btn{justify-content:space-between}.tag{font-size:9.5px;padding:3px 7px}}@keyframes cell-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.cell{animation:cell-in .55s cubic-bezier(.25,.46,.45,.94) backwards}.c-hero{animation-delay:0ms}.c-portrait{animation-delay:80ms}.bento>.c-post:nth-child(3){animation-delay:.15s}.bento>.c-post:nth-child(4){animation-delay:.19s}.bento>.c-post:nth-child(5){animation-delay:.23s}.c-contact{animation-delay:.29s}.bento.bento-skip-entrance .cell{animation:none}@keyframes ambient-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.c-hero__ambient-track{display:flex;flex-direction:column;animation:ambient-scroll 80s linear infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.cursor{color:var(--accent);text-shadow:0 0 8px var(--accent);animation:cursor-blink 1.1s step-end infinite}.sh-pr{color:var(--fg-faint)}.sh-cm{color:var(--fg);font-weight:500}.sh-st{color:#7bac8b}.sh-nm{color:var(--fg-dim)}.sh-vl{color:var(--fg-dimmer)}.sh-mt{color:var(--fg-faint)}@keyframes led-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--led-green) 25%,transparent);opacity:1}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--led-green) 8%,transparent);opacity:.35}}.c-portrait__loc:before{animation:led-pulse 2.8s ease-in-out infinite}@keyframes hero-sweep{0%{transform:translate(-100%) skew(-10deg)}to{transform:translate(220%) skew(-10deg)}}.c-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,color-mix(in oklch,var(--fg) 5%,transparent) 50%,transparent 75%);transform:translate(-100%) skew(-10deg);pointer-events:none;z-index:4;animation:hero-sweep 1.6s cubic-bezier(.4,0,.2,1) .7s forwards}.bento.bento-skip-entrance .c-hero:before{animation:none}@keyframes dot-pulse{0%,to{opacity:.08}50%{opacity:.15}}.c-contact:before{animation:dot-pulse 5s ease-in-out infinite}@keyframes sep-shimmer{0%,to{opacity:.55}50%{opacity:1}}.c-contact__sep{animation:sep-shimmer 3.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.cell{animation:none}a.cell:hover{transform:none}.c-hero__ambient-track,.cursor{animation:none}.c-portrait__loc:before{animation:none}.c-hero:before{animation:none}.c-contact:before{animation:none}.c-contact__sep{animation:none}}
