.df-hub .v2-chapter-nav{top:0}.df-hub .v2-toc{padding-right:max(var(--v2-gutter),104px)}.df-hub-hero .df-hero-shell{min-height:calc(100svh - 40px);align-content:space-between}.df-hub-composition{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(24px,4vw,72px)}.df-hub-hero h1.wordmark{font-size:clamp(64px,16vw,280px);line-height:.8;letter-spacing:-.08em;text-transform:none}.df-hub-hero .wordmark span{display:block}.df-hub-orbit{position:relative;display:grid;place-items:center;width:clamp(180px,24vw,380px);aspect-ratio:1}.df-hub-orbit-ring{position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--v2-ink) 16%,transparent);border-radius:50%}.df-hub-orbit-ring:nth-child(2){inset:14%;border-color:color-mix(in srgb,var(--story-lime) 38%,transparent)}.df-hub-orbit-ring:nth-child(3){inset:28%;border-style:dashed;border-color:color-mix(in srgb,var(--story-lilac) 45%,transparent)}.df-hub-orbit-ring:after{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--story-lime);box-shadow:0 0 18px var(--story-lime)}.df-hub-orbit-ring:nth-child(2):after{background:var(--story-peach);box-shadow:0 0 18px var(--story-peach)}.df-hub-orbit-ring:nth-child(3):after{background:var(--story-lilac);box-shadow:0 0 18px var(--story-lilac)}.df-hub-cube{position:relative;width:40%;height:auto;filter:drop-shadow(0 22px 42px color-mix(in srgb,var(--acc) 30%,transparent))}.nuclear-v2:not(.v2-motion-paused) .df-hub-orbit-ring{animation:df-hub-orbit 22s linear infinite}.nuclear-v2:not(.v2-motion-paused) .df-hub-orbit-ring:nth-child(2){animation-duration:15s;animation-direction:reverse}.nuclear-v2:not(.v2-motion-paused) .df-hub-orbit-ring:nth-child(3){animation-duration:30s}.nuclear-v2:not(.v2-motion-paused) .df-hub-cube{animation:df-hub-float 6s ease-in-out infinite}.df-hub-hero-bottom{align-items:end}.df-hub-hero-bottom .df-lede{max-width:700px}.df-hub .projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(14px,1.6vw,22px)}.df-hub .card{--card-tone: var(--story-lime);position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--v2-line);border-radius:var(--v2-radius);background:color-mix(in srgb,var(--surf) 92%,transparent);color:inherit;text-decoration:none}.df-hub .projects-grid .card:nth-child(3n+2){--card-tone: var(--story-lilac)}.df-hub .projects-grid .card:nth-child(3n){--card-tone: var(--story-peach)}.df-hub .card-preview{height:168px;overflow:hidden;border-bottom:1px solid var(--v2-line)}.df-hub .card-preview svg{display:block;width:100%;height:100%}.df-hub .card-body{flex:1;display:flex;flex-direction:column;padding:22px 24px 18px}.df-hub .card-category{margin:0 0 10px;color:var(--card-tone);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.df-hub .card-title{margin:0 0 12px;color:var(--v2-ink);font-family:var(--v2-display);font-size:clamp(22px,2vw,30px);line-height:1;letter-spacing:-.045em}.df-hub .card-desc{flex:1;margin:0;color:var(--text-soft);font-size:14px;line-height:1.65}.df-hub .card-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.df-hub .tag{padding:3px 10px;border:1px solid var(--v2-line);border-radius:999px;color:var(--v2-muted);font-size:11px;font-weight:700}.df-hub .card-arrow{position:absolute;top:16px;right:16px;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--card-tone) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--bg-deep) 72%,transparent);color:var(--card-tone);backdrop-filter:blur(8px);transition:background .2s,color .2s,transform .2s}.df-hub .card-arrow svg{width:12px;height:12px;stroke:currentColor}.df-hub .card:hover .card-arrow,.df-hub .card-arrow:focus-visible{background:var(--card-tone);color:var(--story-stripe-text);transform:translate(2px,-2px)}.df-hub .card-links{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 24px}.df-hub .card-link{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 14px;border:1px solid var(--v2-line);border-radius:999px;color:var(--v2-ink);font-size:12px;font-weight:800;text-decoration:none;transition:background .2s,border-color .2s,color .2s}.df-hub .card-link--primary{border-color:var(--card-tone);background:var(--card-tone);color:var(--story-stripe-text)}.df-hub .card-link--primary:hover{background:transparent;color:var(--card-tone)}.df-hub .card-link--secondary:hover{border-color:var(--v2-ink)}.df-hub .card-link--flag svg{flex:0 0 auto;width:16px;height:11px;border:1px solid rgba(255,255,255,.16);border-radius:2px}.df-hub-development{background:radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--story-lilac) 9%,transparent),transparent 42%)}.df-hub .dev-projects-chevron{width:10px;height:10px;flex-shrink:0;transition:transform .22s ease}.df-hub .dev-projects-toggle.is-open .dev-projects-chevron{transform:rotate(90deg)}.df-hub .dev-projects-content{display:none}.df-hub .dev-projects-content.is-open{display:block}.df-hub-about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,110px);align-items:end}.df-hub-about h2{margin:9px 0 0;color:var(--v2-ink);font-family:var(--v2-display);font-size:clamp(44px,6vw,98px);line-height:.9;letter-spacing:-.06em;text-transform:uppercase}.df-hub-about h2 span{color:var(--story-lime)}.df-hub-about .v2-eyebrow{color:var(--v2-muted)}.df-hub-about-copy{display:grid;justify-items:start;gap:18px}.df-hub-about-copy p{margin:0;color:var(--text-soft);font-size:16px;line-height:1.7}.df-hub-about-copy p:first-child{color:var(--v2-ink);font-size:clamp(18px,1.6vw,22px);line-height:1.45}@keyframes df-hub-orbit{to{transform:rotate(360deg)}}@keyframes df-hub-float{50%{transform:translateY(-10px)}}@media (min-width: 1180px){.df-hub #projects .projects-grid .card:first-child{grid-column:span 2}.df-hub #projects .projects-grid .card:first-child .card-preview{height:212px}}@media (max-width: 920px){.df-hub-about-grid{grid-template-columns:minmax(0,1fr);align-items:start}}@media (max-width: 700px){.df-hub-hero .df-hero-shell{min-height:0}.df-hub-composition{grid-template-columns:minmax(0,1fr)}.df-hub-hero h1.wordmark{font-size:clamp(56px,21vw,120px)}.df-hub-orbit{position:absolute;top:0;right:0;width:132px;opacity:.8}.df-hub .v2-toc{padding-right:96px}.df-hub-about h2{font-size:clamp(36px,11.5vw,60px)}}
