.project-section{background:#f4f6fc;grid-template-columns:320px 1px 1fr;height:100vh;display:grid;overflow:hidden}.project-left-pane{background:#fff;flex-direction:column;padding:2.5rem 1.5rem 2.5rem 2rem;display:flex;overflow-y:auto}.project-divider{background:#dbeafe;width:1px}.project-right-pane{background:#f4f6fc;padding:2.5rem 3rem;overflow-y:auto}.project-pane-title{letter-spacing:.12em;text-transform:uppercase;color:#6366f1;margin-bottom:2rem;font-size:.7rem;font-weight:700}.timeline-list{margin:0;padding:0;list-style:none}.timeline-item-row{gap:1rem;display:flex;position:relative}.timeline-connector{flex-direction:column;flex-shrink:0;align-items:center;width:18px;display:flex;position:relative}.timeline-dot{all:unset;cursor:pointer;z-index:2;background:#fff;border:2px solid #93c5fd;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.timeline-dot:hover{border-color:#3b82f6;transform:scale(1.2)}.timeline-dot--active{background:#ec4899;border-color:#ec4899;transform:scale(1.25);box-shadow:0 0 10px #ec489966}.timeline-dot--active:hover{transform:scale(1.35)}.timeline-dot-ring{border:1.5px solid #ec4899;border-radius:50%;animation:2s cubic-bezier(.4,0,.6,1) infinite timeline-pulse;position:absolute;inset:-6px}@keyframes timeline-pulse{0%,to{opacity:0;transform:scale(.8)}50%{opacity:.6;transform:scale(1.1)}}.timeline-line{background:#bfdbfe;border-radius:999px;flex:1;width:2px;margin-top:4px;margin-bottom:4px;transition:background .3s}.timeline-line--active{background:linear-gradient(#ec4899,#8b5cf6)}.timeline-label{all:unset;cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:2px 10px 24px 0;transition:opacity .2s;display:flex}.timeline-label:hover{opacity:.7}.timeline-label-date{color:#94a3b8;letter-spacing:.05em;font-size:.7rem;font-weight:600;transition:color .3s}.timeline-label--active .timeline-label-date{color:#ec4899}.timeline-label-title{color:#64748b;font-size:.85rem;font-weight:500;line-height:1.4;transition:color .3s}.timeline-label--active .timeline-label-title{color:#0f172a;font-weight:700}.bento-wrapper{opacity:0;grid-template-columns:repeat(3,1fr);gap:14px;max-width:860px;margin:0 auto;transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1);display:grid;transform:translateY(12px)}.bento-wrapper--visible{opacity:1;transform:translateY(0)}.bento-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.5rem;transition:border-color .25s,box-shadow .25s,transform .2s}.bento-card:hover{border-color:#8b5cf6;transform:translateY(-2px);box-shadow:0 8px 24px #8b5cf61f}.bento-card--hero{background:linear-gradient(#fff 0%,#f8fafc 100%);grid-column:1/-1;padding:2rem}.bento-hero-title{background:linear-gradient(135deg,#4f46e5,#ec4899);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;margin:0 0 .75rem;font-size:1.65rem;font-weight:800;line-height:1.3}.bento-hero-desc{color:#475569;margin:0;font-size:.95rem;line-height:1.65}.bento-card--meta{align-items:flex-start;gap:.75rem;display:flex}.bento-meta-icon{color:#4f46e5;background:#e0e7ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:2px;display:flex}.bento-meta-label{text-transform:uppercase;letter-spacing:.1em;color:#8b5cf6;margin-bottom:4px;font-size:.65rem;font-weight:700;display:block}.bento-meta-value{color:#1e293b;font-size:.85rem;font-weight:600;line-height:1.45;display:block}.bento-meta-value--muted{color:#94a3b8;font-style:italic;font-weight:500}.bento-company-badge{color:#065f46;letter-spacing:.02em;background:#d1fae5;border:1px solid #6ee7b7;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;line-height:1.6;display:inline-block}.bento-meta-icon--company{color:#059669;background:#d1fae5}.bento-meta-icon--personal{color:#94a3b8;background:#f1f5f9}.bento-company-logo-wrap{background:#fff;border:1px solid #d1fae5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.bento-company-logo-img{object-fit:contain;width:100%;height:100%}.bento-card--details,.bento-card--pictures{grid-column:1/-1}.bento-picture-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.bento-picture-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.bento-picture-img{object-fit:cover;width:100%;height:auto;transition:transform .3s;display:block}.bento-picture-item:hover .bento-picture-img{transform:scale(1.02)}.bento-section-title{text-transform:uppercase;letter-spacing:.1em;color:#14b8a6;margin:0 0 1rem;font-size:.7rem;font-weight:700}.bento-bullet-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.bento-bullet-item{color:#334155;align-items:baseline;gap:12px;font-size:.875rem;line-height:1.6;display:flex}.bento-bullet-dot{background:#14b8a6;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:8px;box-shadow:0 0 6px #14b8a666}.bento-card--links{flex-wrap:wrap;grid-column:1/-1;gap:10px;padding:1.25rem 1.5rem;display:flex}.bento-link{color:#4f46e5;background:#e0e7ff;border:1px solid #c7d2fe;border-radius:10px;align-items:center;gap:6px;padding:.55rem 1.1rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.bento-link:hover{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 4px 12px #4f46e540}.bento-link:hover svg{stroke:#fff}.bento-empty{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;height:100%;display:flex}.bento-empty-icon{color:#cbd5e1;margin-bottom:.25rem}.bento-empty-title{color:#475569;margin:0;font-size:1.1rem;font-weight:600}.bento-empty-subtitle{color:#94a3b8;margin:0;font-size:.85rem}@media (max-width:768px){.project-section{grid-template-rows:auto 1px 1fr;grid-template-columns:1fr;height:auto;min-height:100vh}.project-left-pane{max-height:40vh;padding:1.5rem}.project-divider{width:auto;height:1px}.project-right-pane{padding:1.5rem}.bento-wrapper{grid-template-columns:1fr}.bento-card--meta{grid-column:1/-1}}
