:root{--avatar-size: 10rem;--tail-space: 2.5rem;--hero-gap: 10em;--dusk: 16 12 9}.body{position:relative}.body:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgb(var(--dusk) / 0) 0 48svh,rgb(var(--dusk) / .18) 72svh,rgb(var(--dusk) / .55) 100svh,rgb(var(--dusk) / .88) 145svh,rgb(var(--dusk) / .95))}.invert{padding:1px 3px;transition:background-color .2s ease-in-out,color .2s ease-in-out}.invert:hover{background-color:var(--link-color);color:var(--ink);text-shadow:none}.home-main{position:relative;flex:none;width:100%;height:100vh;height:100svh;display:grid;place-content:center;justify-items:center;gap:2rem;padding-inline:1.5rem;animation:fadein 1.6s ease-out;--hero-y: 67svh;padding-block-start:calc(2 * var(--hero-y) - 100svh)}.home-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:400;line-height:1;letter-spacing:.1em;text-align:center;color:var(--title-color);text-shadow:var(--text-halo)}.home-lead{max-width:34rem;font-size:1.05rem;text-align:center;text-wrap:pretty;color:var(--title-color);opacity:.85;text-shadow:var(--text-halo)}.home-scroll{position:absolute;bottom:2.5rem;left:50%;translate:-50% 0;display:grid;place-items:center;width:3rem;height:3rem;color:var(--title-color);opacity:.9;filter:drop-shadow(0 1px 2px rgb(0 0 0 / .55)) drop-shadow(0 0 7px rgb(0 0 0 / .45));animation:bob 2.4s ease-in-out infinite;transition:opacity .2s ease-in-out;z-index:1}.home-scroll:hover{opacity:1}.home-scroll span{width:1.05rem;height:1.05rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;rotate:45deg;translate:0 -22%}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(.35rem)}}.main{padding-bottom:var(--tail-space)}.content{width:min(var(--article-width),100% - 2 * var(--gutter));margin:var(--hero-gap) auto 3rem}.article p{font-size:1.05rem;text-align:justify}.article h2:not(.about-me__name){font-size:1.2rem;font-weight:400;margin:0}.about-me{display:flex;gap:3rem}.about-me__avatar{flex:none;width:var(--avatar-size);height:var(--avatar-size);border-radius:.4rem;object-fit:cover;background:var(--main-fallback);box-shadow:0 6px 24px #00000073}.about-me__text{display:flex;flex-direction:column;align-items:flex-start;min-height:var(--avatar-size)}.about-me__name{font-size:1.15rem;font-weight:400;margin:0 0 1rem}.about-me__text p{font-size:1.05rem;margin:0 0 .5rem;text-align:start}.links{margin-top:auto;padding-top:1rem;display:flex;flex-wrap:wrap;gap:.25rem 1.6rem}.links a{display:inline-flex;align-items:center;gap:.45em;font-size:1.2rem;line-height:1.2;color:var(--link-color)}.link__icon{flex:none;height:.72em;width:calc(.72em * var(--icon-ratio, 1));fill:currentColor}@supports (height: 1cap){.link__icon{height:1cap;width:calc(1cap * var(--icon-ratio, 1))}}.link__icon--mask{display:block;background-color:currentColor;-webkit-mask:var(--icon-src) center / contain no-repeat;mask:var(--icon-src) center / contain no-repeat}.portals{margin-top:1.1rem;display:flex;flex-wrap:wrap;gap:1.75rem}.portal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:6.5rem;height:6.5rem;padding:.7rem;border:1px solid rgb(255 255 255 / .34);border-radius:50%;background-color:#ffffff17;color:var(--link-color);box-shadow:0 4px 18px #0000004d;text-align:center;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out}.portal__icon{flex:none;width:2.25rem;height:2.25rem}.portal__label{font-size:.82rem;line-height:1.3;letter-spacing:.02em;text-wrap:balance}.portal:hover,.portal:focus-visible{background-color:var(--link-color);border-color:var(--link-color);color:var(--ink)}.home-block{margin-top:3rem}.home-block__label+.contact{margin-top:.6rem}.contact{color:var(--text-color);line-height:1.9}.contact a{color:var(--link-color);text-decoration:underline;text-underline-offset:.2em}@media(max-width:700px){:root{--avatar-size: 7.5rem;--tail-space: 4rem;--hero-gap: 9rem}.content{margin-bottom:2rem;text-align:center}.home-lead{font-size:1rem}.article p,.about-me__text p{text-align:center}.about-me{flex-direction:column;align-items:center;gap:1.25rem}.about-me__text{align-items:center;min-height:0}.about-me__name{font-size:1.1rem}.links{justify-content:center;gap:.35rem 1.1rem;padding-top:.75rem}.links a{font-size:1.1rem}.home-block{margin-top:2.25rem}.portals{justify-content:center;gap:1rem}.portal{width:6rem;height:6rem}}
