:root{--bg: #0b1220;--surface: #0f172a;--ink: #e5e7eb;--muted: #94a3b8;--accent: #38bdf8;--border: #1f2937;--radius: 14px;--shadow: 0 10px 30px rgba(0, 0, 0, .25)}@media (prefers-color-scheme: light){:root{--bg: #f7f8fb;--surface: #ffffff;--ink: #0f172a;--muted: #475569;--accent: #2563eb;--border: #e5e7eb}}*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:var(--ink);z-index:0;isolation:isolate;background:url(/media/backdrop_saturated.png) center top / 200px repeat fixed,var(--bg);position:relative;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(to bottom,#bfdfe0fa 20%,#bfdfe099 75%,#bfdfe04d 90%,#bfdfe000)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:url(/media/backdrop_muted.png) center top / 200px repeat fixed;-webkit-mask-image:linear-gradient(to bottom,black 0%,rgba(0,0,0,.98) 25%,rgba(0,0,0,.85) 70%,rgba(0,0,0,.6) 85%,rgba(0,0,0,.3) 100%,transparent 100%);mask-image:linear-gradient(to bottom,black 0%,rgba(0,0,0,.98) 25%,rgba(0,0,0,.85) 70%,rgba(0,0,0,.6) 98%,rgba(0,0,0,.3) 100%,transparent 100%)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;.card-link,.card-link:visited,.card-link:hover,.card-link:focus{text-decoration:none!important}.card-link *{text-decoration:none!important}}.site-nav{position:sticky;top:0;z-index:1000;width:100%;background:var(--surface);border-bottom:1px solid var(--border)}.nav-inner{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:36px}.brand{font-weight:700;font-size:18px;color:var(--ink);text-decoration:none;white-space:nowrap}.menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.menu .linkedin-btn{background:#0a66c2;color:#fff;border-radius:8px;padding:6px 12px;display:inline-flex;align-items:center;gap:6px;font-weight:500;text-decoration:none;transition:background .2s ease}.menu .linkedin-btn:hover{background:#004182}@media (max-width: 800px){.nav-inner{justify-content:space-between;gap:16px}.menu{justify-content:flex-end;gap:16px}}@media (max-width: 800px){body{background-attachment:scroll,scroll}body:before{background-attachment:scroll}body:after{background-attachment:scroll}}.nav-toggle{display:none;background:transparent;border:1px solid var(--border);color:var(--ink);padding:8px 10px;border-radius:10px}.theme-toggle{background:transparent;border:1px solid var(--border);color:var(--ink);padding:8px 10px;border-radius:10px}@media (max-width: 800px){.menu{display:none;flex-direction:column;background:var(--surface);position:absolute;left:0;right:0;top:56px;border-top:1px solid var(--border);padding:8px}.nav-toggle{display:inline-block}.menu.open{display:flex}}.hero{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;flex:0 0 auto;padding:16px 24px 10px;min-height:unset}@media (min-width: 1200px){.hero--compact{padding-block:8px}.grid{margin-top:-44px;margin-bottom:-34px}}.hero h1{font-size:clamp(28px,4vw,44px);letter-spacing:-.02em;margin:0 0 8px}.lead{color:var(--muted);max-width:60ch;margin:0 0 16px}.cta-row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;background:var(--accent);color:#fff;padding:10px 16px;border-radius:12px;border:0;box-shadow:var(--shadow)}.btn.outline{background:transparent;color:var(--ink);border:1px solid var(--border)}.menu .linkedin-btn{background:#0a66c2;color:#fff;border-radius:8px;padding:8px 12px;display:inline-flex;align-items:center;font-weight:500;transition:background .2s ease}.menu .linkedin-btn:hover{background:#004182;text-decoration:none}.menu .linkedin-btn img{width:18px;height:18px;margin-right:6px;vertical-align:middle}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 24px;margin:6px 0 0;align-items:stretch;flex:1}.hero--compact{padding-block-end:8px}@media (min-width: 1200px){.hero--compact{padding-block-end:6px}.grid{margin:6px 0}}@media (max-width: 900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.grid{padding:0 16px;margin-bottom:8px}}.card{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;justify-content:space-between;height:100%;overflow:hidden;min-height:240px}.grid.grid-tc{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,300px));justify-content:center;gap:16px;padding:0 24px;margin:6px 0 0;align-items:stretch;perspective:1000px}@media (max-width: 640px){.grid.grid-tc{padding:0 16px}}.grid .card-link{position:relative;z-index:0;transition:transform .15s ease,z-index 0s ease .15s}.grid .card-link:hover{z-index:50;transform:scale(1.03);transition:transform .15s ease,z-index 0s}.card.tc{position:relative;background:var(--surface);color:var(--ink);border-radius:18px;padding:14px;aspect-ratio:3 / 4;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 28px #0000002e;overflow:hidden;isolation:isolate;transition:transform .18s ease,box-shadow .18s ease;transform-style:preserve-3d;transform:rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg))}.card.tc h2{margin:4px 0 6px;font-size:20px;padding:6px 10px;border-radius:8px;background:color-mix(in oklab,var(--accent) 10%,transparent)}.card.tc p{color:var(--muted);margin:0 0 10px}.card.tc a{margin-top:auto}.card.tc:before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;background:linear-gradient(135deg,#8fd3ff,#7bf3c5,#ffd36e 60%,#8fd3ff);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card.tc:after{content:"";position:absolute;inset:8px;border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 0 0 2px #0000000f;pointer-events:none;z-index:0}.card-link{display:block;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}.card-link,.card-link *{text-decoration:none!important}.card.tc:focus-within,.card-link:focus-visible .card.tc{outline:2px solid color-mix(in oklab,var(--accent) 70%,transparent);outline-offset:2px;border-radius:20px}.card-link:active .card.tc{transform:translateY(-2px) scale(.995) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:0 10px 24px #0003}.card-link:hover .card.tc{transform:translateY(-8px) scale(1.05) rotateX(var(--rx,90deg)) rotateY(var(--ry,90deg));box-shadow:0 18px 38px #00000040}.card-link{display:block;transform:rotate(var(--base-rot, 0deg)) translateY(var(--base-ty, 0px));transition:transform .25s ease}.card-link:hover{transform:rotate(var(--base-rot, 0deg)) translateY(var(--base-ty, 0px)) scale(1.02)}.tc-sheen{position:absolute;top:-20%;left:-40%;width:70%;height:140%;z-index:2;pointer-events:none;opacity:0;filter:none;background:linear-gradient(120deg,#fff0,#ffffffd9,#fff0);transition:transform .55s ease,opacity .55s ease}.card-link:hover .tc-sheen{opacity:.35;transform:translate3d(30%,0,0) rotate(6deg)}.tc-holo{position:absolute;inset:0;border-radius:inherit;z-index:1;pointer-events:none;opacity:.72;mix-blend-mode:overlay;filter:saturate(1.35) contrast(1.18);--mx: 50%;--my: 50%;background:radial-gradient(260px 200px at var(--mx) var(--my),rgba(255,255,255,.55),rgba(255,255,255,0) 72%),repeating-radial-gradient(circle at 30% 40%,#ffffff2e 0 1px,#fff0 1px 6px),repeating-linear-gradient(135deg,#ffffff18 0 2px,#fff0 2px 7px),repeating-conic-gradient(from 0deg at 50% 50%,#ffffff1f 0deg 5deg,#fff0 5deg 10deg),conic-gradient(from 0deg at 50% 50%,#7bf3c5,#8fd3ff,#cfa4ff,#ffd36e,#7bf3c5,#8fd3ff,#cfa4ff,#ffd36e);background-blend-mode:color-dodge,screen,overlay,color-dodge,normal;background-size:150% 150%,200% 200%,180% 180%,220% 220%,240% 240%;animation:holoDrift 10s linear infinite,holoTwinkle 2.8s ease-in-out infinite}.card-link:hover .tc-holo{opacity:.85;mix-blend-mode:screen;animation-duration:8s,2.2s}@keyframes holoDrift{0%{background-position:0% 0%,0% 0%,0% 0%,0% 0%,0% 0%}50%{background-position:100% 100%,60% 40%,80% 20%,90% 60%,70% 50%}to{background-position:0% 0%,100%100%,100%100%,0%100%,0% 0%}}@keyframes holoTwinkle{0%,to{filter:saturate(1.35) contrast(1.18) hue-rotate(0deg)}50%{filter:saturate(1.45) contrast(1.25) hue-rotate(14deg)}}@media (prefers-reduced-motion: reduce){.tc-holo{animation:none}.card-link:hover .card.tc{transform:translateY(-6px)}}.grid .card a{text-decoration:none}.card.tc,.card.tc *{backface-visibility:hidden}.card.tc .card-content{transform:translateZ(0);backface-visibility:hidden}.card.tc{position:relative}.card.tc .tc-holo{position:absolute;inset:0;border-radius:inherit;z-index:1;pointer-events:none}.card.tc .card-content{position:relative;z-index:2}@property --starsO{syntax:"<number>"; inherits:true; initial-value: 1;}@property --twA{syntax:"<number>"; inherits:true; initial-value: 1;}@property --twB{syntax:"<number>"; inherits:true; initial-value: 1;}.tc--cartoon .tc-holo{opacity:.2;mix-blend-mode:normal;border-radius:inherit;background:linear-gradient(60deg,#ffd35a,#7cff6e,#ff6464,#b56bff 60%,#ffd35a);background-size:240% 240%;background-position:center;animation:holoHue 28.8s linear infinite}.tc--cartoon .tc-holo:before{content:"";position:absolute;width:140%;height:140%;left:-20%;top:-20%;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(60deg,#ffffff80 0 14px,#ffffff2e 14px 28px);background-size:320% 320%;animation:bandsSlide 19.2s linear infinite alternate;will-change:transform}:root{--starA: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><g fill='white' opacity='0.5'><polygon points='6,0 7,5 12,6 7,7 6,12 5,7 0,6 5,5'/></g></svg>");--starB: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><g fill='white' opacity='0.2'><polygon points='6,1 6.6,4.8 11,6 6.6,7.2 6,11 5.4,7.2 1,6 5.4,4.8'/></g></svg>")}.tc--cartoon .tc-holo:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;mix-blend-mode:screen;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon fill='white' opacity='0.95' points='5.5,2 6.5,5.5 10,6 6.5,6.5 6,10 5.5,6.5 2,6 5.5,5.5'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon fill='white' opacity='0.6' points='12,6 13,11 18,12 13,13 12,18 11,13 6,12 11,11'/></svg>");background-repeat:repeat,repeat;background-size:120px 120px,160px 160px;background-position:0 0,80px 60px;transform:rotate(1deg) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));filter:brightness(calc((.8 + var(--starsO)*.7) * var(--twA) * var(--twB)));opacity:.5;will-change:background-position,filter,transform;animation:starsDriftA 60s linear infinite,starsBlinkA 1s steps(2,end) infinite,starsBlinkB 1.5s steps(2,end) infinite reverse}@keyframes starsDriftA{0%{background-position:0 0,80px 60px}to{background-position:200% 100%,-120% 80%}}@keyframes blinkA{0%,49%{--twA: 1}50%,to{--twA: 3}}@keyframes blinkB{0%,49%{--twB: 1}50%,to{--twB: 2.4}}@keyframes holoHue{0%{filter:hue-rotate(0deg) saturate(1.35) contrast(1.18)}50%{filter:hue-rotate(180deg) saturate(1.4) contrast(1.22)}to{filter:hue-rotate(360deg) saturate(1.35) contrast(1.18)}}@keyframes bandsSlide{0%{transform:translate3d(-16%,-6%,0)}to{transform:translate3d(16%,6%,0)}}.card.tc{position:relative;isolation:isolate}.card.tc{content-visibility:auto;contain-intrinsic-size:480px 320px}.tc-holo,.tc-stars{position:absolute;inset:0;z-index:2}.card-content{position:relative;z-index:4}.card-sticker{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--stick-x,50%) var(--stick-y,50%);z-index:1;opacity:.16;mix-blend-mode:luminosity;filter:saturate(.9) contrast(1.05);pointer-events:none;clip-path:inset(var(--clip-t,12%) var(--clip-r,12%) var(--clip-b,12%) var(--clip-l,12%) round 10px);transform:rotate(var(--st-rot,0deg)) scale(var(--st-scale,1));transform-origin:center;transition:opacity .35s ease,clip-path .35s ease,transform .5s ease,filter .5s ease,mix-blend-mode .5s ease}.card-sticker{opacity:.16;transition:opacity .35s ease,clip-path .35s ease}.tc-holo{opacity:.55;transition:opacity .35s ease}.card-link:hover .card-sticker{opacity:1;clip-path:inset(0 0 0 0)}.card-link:hover .tc-holo{opacity:.1}.card-sticker{opacity:.16;transform:scale(1);transition:opacity .35s ease,clip-path .35s ease,transform .5s ease;transform-origin:center center}.card-link:hover .card-sticker{opacity:1;clip-path:inset(0 0 0 0);transform:scale(1.1)}.tc-holo,.tc--cartoon .tc-holo:before,.tc--cartoon .tc-holo:after{animation-play-state:paused}.inview .tc-holo,.inview .tc-holo:before,.inview .tc-holo:after{animation-play-state:running}.card.tc{--frame: rgba(255,255,255,.08);position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius, 14px);border:1.5px solid var(--frame)}.card.tc:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,#ffffff26,#ffffff08);opacity:.2;transition:opacity .4s ease;z-index:0}.card-link:hover .card.tc:before{opacity:.35}.card-sticker{position:absolute;inset:3px;border-radius:calc(var(--radius,14px) - 3px);object-fit:cover;object-position:var(--stick-x,50%) var(--stick-y,50%);z-index:1;opacity:.16;mix-blend-mode:luminosity;filter:saturate(.9) contrast(1.05);pointer-events:none;clip-path:inset(var(--clip-t,12%) var(--clip-r,12%) var(--clip-b,12%) var(--clip-l,12%) round 10px);transform:rotate(var(--st-rot,0deg)) scale(var(--st-scale,1));transform-origin:center;transition:opacity .35s ease,clip-path .35s ease,transform .5s ease,filter .5s ease,mix-blend-mode .5s ease}.card-link:hover .card-sticker{opacity:1;clip-path:inset(0 0 0 0);--st-scale: 1.1;mix-blend-mode:normal;filter:none}.tc-holo,.tc-stars{z-index:2}.card-content{position:relative;z-index:3}.card.tc:after{content:"";position:absolute;inset:0;border-radius:inherit;border:10px solid var(--frame);pointer-events:none;z-index:999;box-sizing:border-box}.card-content h2,.card-content p,.card-content .card-cta{color:var(--ink);transition:color .3s ease,text-shadow .3s ease}.card-link:hover .card-content h2,.card-link:hover .card-content p,.card-link:hover .card-content .card-cta{color:#fff;text-shadow:0 0 4px rgba(0,0,0,.6),0 0 10px rgba(0,0,0,.4)}.gallery{columns:320px;column-gap:14px}.gallery a{break-inside:avoid;display:block;margin:0 0 14px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#0000}.gallery img{width:100%;height:auto;display:block}.post-list{list-style:none;padding:0;margin:0}.post-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--border)}.post-list .date{color:var(--muted)}html,body{height:100%}.layout{display:flex;flex-direction:column;min-height:100vh}.layout main{flex:1;display:flex;flex-direction:column}.site-foot{max-width:1080px;margin:-10px auto auto;padding-top:0;padding-bottom:6px;color:var(--muted);text-align:center;color:#fff;opacity:.9;text-shadow:0 0 3px rgba(0,0,0,1),0 0 8px rgba(0,0,0,.4);-webkit-text-stroke:.1px rgba(0,0,0,.7)}
