.home-hero{padding:var(--size-8) 0 var(--size-6);background:hsl(var(--pink-2-hsl));border-bottom:5px solid hsl(var(--pink-5-hsl));overflow:hidden}body.dark .home-hero{background:var(--color-pink-deep);border-bottom-color:var(--color-pink)}.home-hero__content{max-width:1200px;padding:0 var(--size-6);gap:var(--size-8);grid-template-columns:1fr auto;align-items:center;margin:0 auto;display:grid}.home-hero__text{min-width:0}.home-hero__greeting{font-family:var(--font-body);color:var(--text-1);margin:0 0 var(--size-2) 0;opacity:0;font-size:clamp(1.25rem,1rem + 1.5vw,2rem);font-weight:700;animation:.6s cubic-bezier(.25,1,.5,1) .1s forwards hero-fade-up}.home-hero__vibes{width:clamp(10rem,8rem + 12vw,18rem);height:clamp(10rem,8rem + 12vw,18rem);position:relative}.home-hero__vibe{opacity:0;font-family:GT-Maru-Emoji,GT-Maru,system-ui;line-height:1;display:block;position:absolute;color:#000!important}.home-hero__vibe--wave{z-index:2;transform-origin:70% 80%;font-size:clamp(7rem,5rem + 10vw,14rem);animation:.5s cubic-bezier(.25,1,.5,1) .4s forwards hero-fade-up,1.2s cubic-bezier(.25,1,.5,1) .9s hero-wave;top:10%;left:5%}.home-hero__vibe--blossom{z-index:1;font-size:clamp(3rem,2rem + 4vw,5rem);animation:.4s cubic-bezier(.25,1,.5,1) .7s forwards hero-fade-up,4s ease-in-out 1.5s infinite hero-float;top:-5%;right:5%}.home-hero__vibe--pig{z-index:3;font-size:clamp(2.5rem,2rem + 3vw,4.5rem);animation:.4s cubic-bezier(.25,1,.5,1) .9s forwards hero-fade-up,3.5s ease-in-out 2s infinite hero-bob;bottom:5%;right:0%}.home-hero__vibe--avocado{z-index:1;font-size:clamp(2rem,1.5rem + 2.5vw,3.5rem);animation:.4s cubic-bezier(.25,1,.5,1) 1.1s forwards hero-fade-up,5s ease-in-out 2.2s infinite hero-float;top:40%;right:-8%}@keyframes hero-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(5deg)}}@keyframes hero-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(-3deg)}}@keyframes hero-wave{0%{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(10deg)}to{transform:rotate(0)}}.home-hero__name{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 var(--size-6) 0;color:var(--text-1);margin-left:-.04em;font-size:clamp(5rem,4rem + 8vw,12rem);font-weight:900;line-height:.85}.home-hero__letter{opacity:0;animation:.5s cubic-bezier(.25,1,.5,1) forwards hero-letter-in;animation-delay:calc(.15s + var(--i) * 60ms);display:inline-block}.home-hero__letter--dot{color:var(--accent-pink)}.home-hero__bio{font-family:var(--font-body);color:var(--text-2);opacity:0;max-width:50ch;margin:0;font-size:clamp(1rem,.9rem + .5vw,1.2rem);line-height:1.6;animation:.6s cubic-bezier(.25,1,.5,1) .7s forwards hero-fade-up}.home-hero__bio a{color:var(--text-1);font-weight:600}@keyframes hero-letter-in{0%{opacity:0;transform:translateY(.15em)rotate(-3deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.home-hero__letter,.home-hero__greeting,.home-hero__bio,.home-hero__vibe{opacity:1;animation:none}}@media (width<=768px){.home-hero{padding:var(--size-6) 0 var(--size-4)}.home-hero__content{gap:var(--size-4);grid-template-columns:1fr}.home-hero__vibes{order:-1;justify-self:start;width:clamp(6rem,20vw,10rem);height:clamp(6rem,20vw,10rem)}.home-hero__vibe--wave{font-size:clamp(4rem,12vw,7rem)}.home-hero__vibe--blossom,.home-hero__vibe--pig{font-size:clamp(2rem,5vw,3rem)}.home-hero__vibe--avocado{font-size:clamp(1.5rem,4vw,2.5rem)}.home-hero__name{font-size:clamp(3.5rem,15vw,6rem)}}.home-page{width:100%}.blog-section{padding:var(--size-10) 0;background:hsl(var(--yellow-2-hsl));border-bottom:5px solid hsl(var(--yellow-5-hsl));width:100%}body.dark .blog-section{background:var(--color-yellow-deep)}.blog-section__header{margin-bottom:var(--size-10);max-width:1200px;padding:0 var(--size-6);margin-left:auto;margin-right:auto}.blog-section__title{font-family:var(--font-heading);margin:0 0 var(--size-6) 0;letter-spacing:-.02em;color:var(--text-1);font-size:clamp(2.5rem,5vw,4rem);font-weight:900}.blog-section__description{font-family:var(--font-body);font-size:var(--font-size-3);color:var(--text-2);max-width:70ch;margin:0;line-height:1.7}.blog-section__content{gap:var(--size-10);max-width:1200px;padding:0 var(--size-6);flex-direction:column;margin:0 auto;display:flex}.lead-post{padding:var(--size-8);background:var(--surface-1);border:5px solid var(--text-1);text-decoration:none;transition:transform .2s cubic-bezier(.25,1,.5,1),box-shadow .2s cubic-bezier(.25,1,.5,1);display:block}.lead-post:hover{box-shadow:8px 8px 0 var(--text-1);border-bottom:5px solid var(--text-1);transform:translate(-4px,-4px)}body.dark .lead-post{background:var(--surface-2);border-color:#fff}body.dark .lead-post:hover{box-shadow:8px 8px #fff}.lead-post__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-pink);margin-bottom:var(--size-3);font-size:clamp(.7rem,.65rem + .25vw,.8rem);font-weight:700;display:inline-block}.lead-post__title{font-family:var(--font-display);margin:0 0 var(--size-4) 0;letter-spacing:-.02em;color:var(--text-1);max-width:20ch;font-size:clamp(2rem,1.5rem + 3vw,3.5rem);font-weight:900;line-height:1.1}.lead-post__description{font-family:var(--font-body);color:var(--text-2);margin:0 0 var(--size-6) 0;max-width:55ch;font-size:clamp(1rem,.95rem + .5vw,1.2rem);line-height:1.7}.lead-post__read{font-family:var(--font-display);color:var(--accent-pink);border-bottom:3px solid var(--accent-pink);padding-bottom:2px;font-size:clamp(.875rem,.8rem + .35vw,1rem);font-weight:700}.lead-post:hover .lead-post__read{border-bottom-width:5px}.blog-grid{gap:var(--size-4);margin-top:var(--size-6);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.blog-grid__card{gap:var(--size-2);padding:var(--size-5);background:var(--surface-1);border:3px solid var(--text-1);flex-direction:column;text-decoration:none;transition:transform .2s cubic-bezier(.25,1,.5,1),box-shadow .2s cubic-bezier(.25,1,.5,1);display:flex}.blog-grid__card:hover{box-shadow:6px 6px 0 var(--text-1);border-bottom:3px solid var(--text-1);transform:translate(-3px,-3px)}body.dark .blog-grid__card{background:var(--surface-2);border-color:#fff}body.dark .blog-grid__card:hover{box-shadow:6px 6px #fff}.blog-grid__card--growing{background:hsl(var(--lime-1-hsl))}.blog-grid__card--til{background:hsl(var(--cyan-1-hsl))}.blog-grid__card--leaflet{background:hsl(var(--green-1-hsl))}body.dark .blog-grid__card--growing{background:var(--color-lime-deep)}body.dark .blog-grid__card--til{background:var(--color-teal-deep)}body.dark .blog-grid__card--leaflet{background:oklch(15% .02 150)}.blog-grid__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);font-size:clamp(.7rem,.65rem + .2vw,.8rem);font-weight:700}.blog-grid__title{font-family:var(--font-body);color:var(--text-1);margin:0;font-size:clamp(1rem,.95rem + .5vw,1.25rem);font-weight:700;line-height:1.3}.blog-grid__description{font-family:var(--font-body);color:var(--text-2);margin:0;font-size:clamp(.875rem,.8rem + .35vw,1rem);line-height:1.6}.links-section{padding:var(--size-10) 0;background:hsl(var(--indigo-1-hsl));border-bottom:5px solid hsl(var(--indigo-4-hsl));width:100%}body.dark .links-section{background:var(--color-indigo-deep)}.links-section__header{max-width:1200px;margin:0 auto var(--size-10);padding:0 var(--size-6)}.links-section__title{font-family:var(--font-body);margin:0 0 var(--size-6) 0;letter-spacing:-.02em;color:var(--text-1);font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.2}.links-section__description{font-family:var(--font-body);font-size:var(--font-size-3);color:hsl(var(--gray-8-hsl));margin:0 0 var(--size-4) 0;line-height:1.7}body.dark .links-section__description{color:hsl(var(--gray-4-hsl))}.links-carousel{gap:var(--size-6);padding:0 var(--size-6) var(--size-6);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:black transparent;max-width:1200px;margin:0 auto;display:flex;overflow-x:auto}.links-carousel::-webkit-scrollbar{height:8px}.links-carousel::-webkit-scrollbar-track{background:0 0}.links-carousel::-webkit-scrollbar-thumb{background:#000;border-radius:4px}body.dark .links-carousel{scrollbar-color:white transparent}body.dark .links-carousel::-webkit-scrollbar-thumb{background:#fff}.link-card{scroll-snap-align:start;background:#fff;border:3px solid #000;flex-direction:column;flex-shrink:0;min-width:320px;max-width:380px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.link-card:hover{transform:translate(-4px,-4px);box-shadow:8px 8px #000}body.dark .link-card{border-color:var(--neon-lime);background:#111}body.dark .link-card:hover{box-shadow:8px 8px 0 var(--neon-lime)}.link-card__content{padding:var(--size-6);gap:var(--size-4);flex-direction:column;flex:1;min-height:0;display:flex}.link-card__author{font-family:var(--font-mono);font-size:var(--font-size-0);text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--gray-6-hsl));margin:0;font-weight:600}.link-card__title{font-family:var(--font-body);font-size:var(--font-size-4);letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.3}.link-card__title a{color:#000;border-bottom:2px solid var(--accent-pink)}body.dark .link-card__title a{color:#fff}.link-card__title a:hover{border-bottom-width:4px}.link-card__description{font-family:var(--font-body);font-size:var(--font-size-2);color:hsl(var(--gray-7-hsl));flex:auto;margin:0;line-height:1.6}body.dark .link-card__description{color:hsl(var(--gray-4-hsl))}.link-card__footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.link-card__category{font-family:var(--font-mono);font-size:var(--font-size-0);text-transform:uppercase;letter-spacing:.08em;color:#fff;background:#000;padding:.25rem .5rem;font-weight:600}body.dark .link-card__category{color:#000;background:#fff}.link-card__arrow{font-size:var(--font-size-4);color:var(--accent-pink);border-bottom:none}.link-card__arrow:hover{border-bottom:none;transform:translate(4px)}@media (width<=768px){.lead-post{padding:var(--size-6)}.lead-post__title{max-width:none}.blog-grid{grid-template-columns:1fr}}
