:root{--bg:#0a0a0a;--bg-card:#161616;--text-primary:#ffffff;--text-secondary:#d3d3d3;--text-muted:#6b6b6b;--accent-warm:#3d717e;--border-default:#262626;--text:var(--text-primary);--muted:var(--text-muted);--card-bg:var(--bg-card);--accent:var(--accent-warm);--accent-teal:var(--accent-warm);--accent-decoration:var(--text-secondary);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.6;min-height:100vh}a{cursor:pointer;color:var(--text-muted);text-decoration:underline;text-decoration-color:var(--text-muted);text-underline-offset:2px;transition:text-decoration-color .2s ease}a:hover{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--accent-warm);text-underline-offset:2px;transition:text-decoration-color .2s ease}h1,h2,h3{margin-bottom:var(--space-md);font-weight:600;letter-spacing:-.02em}h1{font-size:clamp(3rem,10vw,5rem);line-height:1.1}h2{font-size:2.5rem}h3{font-size:1.25rem}strong{color:var(--accent-teal)}@media(max-width:768px){h1{font-size:clamp(2rem,8vw,3rem)}h2{font-size:1.75rem}}.cv-hero h1,.davidthinks-hero h1,.davidcaptures-hero h1,.davidtalks-hero h1,.list-hero h1{font-size:clamp(3rem,10vw,5rem);font-weight:600;letter-spacing:-.03em}.section-label{color:var(--accent-warm);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;font-weight:500;margin-bottom:var(--space-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:var(--accent-warm);color:#0a0a0a}.btn-primary:hover{background:#f0e4d8;color:#0a0a0a}.btn-secondary{background:0 0;color:var(--accent-warm);border:1px solid var(--accent-warm)}.btn-secondary:hover{background:rgba(228,211,196,.1)}.filter-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-top:var(--space-xl)}.filter-box{background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;padding:var(--space-lg)}.filter-box-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-md)}.filter-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.filter-tag{color:var(--accent-teal);font-size:.8125rem;text-decoration:none;transition:color .2s ease;cursor:pointer}.filter-tag:hover{color:var(--accent-warm)}.filter-tag.active{color:var(--accent-warm);font-weight:600}.filter-section{margin-bottom:var(--space-xl)}.filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-md)var(--space-lg);background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.filter-toggle:hover{border-color:var(--accent-warm);color:var(--text-primary)}.filter-toggle.active{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}.filter-icon{font-size:1.25rem;transition:transform .2s ease}.filter-toggle.active .filter-icon{transform:rotate(45deg)}.filter-panel{display:none;padding:var(--space-lg);background:var(--bg-card);border:1px solid var(--border-default);border-top:none;border-radius:0 0 8px 8px}.filter-panel.open{display:block}.filter-group{margin-bottom:var(--space-md)}.filter-group:last-of-type{margin-bottom:0}.filter-group-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-sm)}.filter-options{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.active-filters{margin-top:var(--space-xl);padding:var(--space-md)var(--space-lg);background:rgba(228,211,196,.1);border-radius:8px;display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.active-filters-label{font-size:.875rem;color:var(--text-muted)}.active-filter-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.active-filter-tag{background:var(--accent-warm);color:var(--bg);padding:.25rem .75rem;border-radius:4px;font-size:.75rem;display:flex;align-items:center;gap:var(--space-xs)}.active-filter-tag button{background:0 0;border:none;color:inherit;cursor:pointer;padding:0;font-size:1rem;line-height:1}.clear-filters{background:0 0;border:1px solid var(--text-muted);color:var(--text-muted);padding:.25rem .75rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease;margin-left:auto}.clear-filters:hover{border-color:var(--accent-warm);color:var(--accent-warm)}.no-results{text-align:center;padding:var(--space-3xl);color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:16px;padding:var(--space-lg);transition:border-color .2s ease}.card:hover{border-color:var(--accent-warm)}.tag{font-size:.7rem;color:var(--text-muted);padding:.2rem .5rem;background:var(--bg-card);border:1px solid var(--border-default);border-radius:4px;cursor:pointer;transition:all .2s ease}.tag:hover{border-color:var(--accent-teal);color:var(--accent-teal)}.subtitle{color:var(--text-secondary);font-size:1.25rem}@media(max-width:768px){.filter-boxes{grid-template-columns:1fr;gap:var(--space-md)}.active-filters{flex-direction:column;align-items:flex-start}.clear-filters{margin-left:0;margin-top:var(--space-sm)}.subtitle{font-size:1rem}}@media(max-width:640px){.active-filters{flex-direction:column;align-items:flex-start}.clear-filters{margin-left:0}}.gif-bubble{position:absolute;z-index:100;background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;padding:8px;box-shadow:0 8px 32px rgba(0,0,0,.4);animation:bubble-appear .2s ease-out}.gif-bubble::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--border-default)}.gif-bubble img{display:block;max-width:300px;max-height:200px;border-radius:8px}@keyframes bubble-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.container{max-width:1200px;margin:0 auto;padding:var(--space-xl)}nav{position:sticky;top:0;z-index:100;height:64px;background:rgba(10,10,10,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:0 var(--space-xl);display:flex;align-items:center;gap:var(--space-xl);border-bottom:1px solid var(--border-default)}nav a{color:var(--text-secondary);font-weight:500;font-size:.875rem;transition:color .2s ease}nav a:hover{color:var(--accent-warm)}.pagination{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--border-default);display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.pagination-info{font-size:.875rem;color:var(--text-muted)}.pagination-controls{display:flex;align-items:center;gap:var(--space-xs)}.pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-default);color:var(--text-primary);font-size:1rem;text-decoration:none;transition:all .2s ease}.pagination-btn:hover:not(.disabled){border-color:var(--accent-warm);color:var(--accent-warm)}.pagination-btn.disabled{opacity:.3;cursor:not-allowed}.pagination-numbers{display:flex;align-items:center;gap:var(--space-xs);margin:0 var(--space-sm)}.pagination-num{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--space-sm);border-radius:8px;background:var(--bg-card);border:1px solid var(--border-default);color:var(--text-secondary);font-size:.875rem;text-decoration:none;transition:all .2s ease}.pagination-num:hover:not(.active){border-color:var(--accent-warm);color:var(--accent-warm)}.pagination-num.active{background:var(--accent-warm);border-color:var(--accent-warm);color:var(--bg);font-weight:600}.pagination-ellipsis{color:var(--text-muted);padding:0 var(--space-xs)}@media(max-width:768px){.container{padding:var(--space-lg)}nav{padding:0 var(--space-lg);gap:var(--space-lg)}}@media(max-width:640px){nav{gap:var(--space-md)}nav a{font-size:.8rem}.pagination-numbers{display:none}}