.portfolio-page.svelte-flgb7k.svelte-flgb7k{padding-top:68px;min-height:100vh;background:var(--bg-primary)}.port-hero.svelte-flgb7k.svelte-flgb7k{position:relative;overflow:hidden;padding:clamp(64px,10vw,120px) 0 clamp(48px,6vw,80px);opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.port-hero.visible.svelte-flgb7k.svelte-flgb7k{opacity:1;transform:translateY(0)}.hero-bg.svelte-flgb7k.svelte-flgb7k{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hex.svelte-flgb7k.svelte-flgb7k{position:absolute;width:120px;height:120px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:linear-gradient(135deg,#d4af5a26,#d4af5a05);animation:svelte-flgb7k-hexFloat 8s ease-in-out infinite alternate}@keyframes svelte-flgb7k-hexFloat{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-16px) rotate(8deg)}}.hero-inner.svelte-flgb7k.svelte-flgb7k{position:relative;z-index:1}.hero-tag.svelte-flgb7k.svelte-flgb7k{display:inline-block;padding:3px 0 3px 12px;border-left:2px solid #C9A84C;color:#c9a84c;font:700 .68rem var(--font-ui);letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px}.tag-dot.svelte-flgb7k.svelte-flgb7k{display:none}@keyframes svelte-flgb7k-pulse{0%,to{opacity:1}50%{opacity:.4}}.hero-title.svelte-flgb7k.svelte-flgb7k{font:900 clamp(36px,5.5vw,72px) var(--font-display);line-height:1.08;letter-spacing:-.02em;color:#fff;margin-bottom:24px}.hero-desc.svelte-flgb7k.svelte-flgb7k{max-width:600px;font-size:clamp(.95rem,1.5vw,1.1rem);color:#fff9;line-height:1.75;margin-bottom:48px}.hero-stats.svelte-flgb7k.svelte-flgb7k{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.hs.svelte-flgb7k.svelte-flgb7k{display:flex;flex-direction:column;gap:4px}.hs-n.svelte-flgb7k.svelte-flgb7k{font:800 2rem var(--font-display);background:linear-gradient(135deg,#f0d88a,#d4af5a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.hs-l.svelte-flgb7k.svelte-flgb7k{font:500 .78rem var(--font-ui);color:#ffffff73;letter-spacing:.06em}.hs-div.svelte-flgb7k.svelte-flgb7k{width:1px;height:40px;background:#d4af5a33}.filter-wrap.svelte-flgb7k.svelte-flgb7k{padding-top:0;padding-bottom:0;opacity:0;transform:translateY(16px);transition:opacity .6s .2s ease,transform .6s .2s ease}.filter-wrap.visible.svelte-flgb7k.svelte-flgb7k{opacity:1;transform:translateY(0)}.filter-row.svelte-flgb7k.svelte-flgb7k{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 32px;border-bottom:1px solid rgba(212,175,90,.1)}.filter-btn.svelte-flgb7k.svelte-flgb7k{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid rgba(201,168,76,.15);border-radius:6px;background:transparent;color:#ffffff80;font:600 .75rem var(--font-ui);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.filter-btn.svelte-flgb7k.svelte-flgb7k:hover{border-color:#c9a84c59;color:#ffffffd9}.filter-btn.active.svelte-flgb7k.svelte-flgb7k{border-color:var(--accent-gold);background:#c9a84c1a;color:#c9a84c}.cat-icon.svelte-flgb7k.svelte-flgb7k{font-size:1rem;line-height:1}.cat-count.svelte-flgb7k.svelte-flgb7k{min-width:20px;padding:1px 6px;border-radius:99px;background:#ffffff12;font-size:.65rem;text-align:center}.filter-btn.active.svelte-flgb7k .cat-count.svelte-flgb7k{background:#d4af5a33}.grid-section.svelte-flgb7k.svelte-flgb7k{padding-top:40px;padding-bottom:40px}.projects-grid.svelte-flgb7k.svelte-flgb7k{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.project-card.svelte-flgb7k.svelte-flgb7k{display:flex;flex-direction:column;text-decoration:none;border-radius:20px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;animation:svelte-flgb7k-fadeUp .5s both ease}@keyframes svelte-flgb7k-fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.project-card.svelte-flgb7k.svelte-flgb7k:hover{transform:translateY(-6px);border-color:rgba(var(--accent, 212,175,90),.3)!important;box-shadow:0 24px 48px #0000004d}.project-card.featured.svelte-flgb7k.svelte-flgb7k{grid-column:span 2;flex-direction:row}.card-thumb.svelte-flgb7k.svelte-flgb7k{flex-shrink:0}.thumb-pattern.svelte-flgb7k.svelte-flgb7k{width:100%;min-height:180px;display:flex;align-items:center;justify-content:center;position:relative}.featured.svelte-flgb7k .thumb-pattern.svelte-flgb7k{width:260px;min-height:100%}.thumb-icon.svelte-flgb7k.svelte-flgb7k{font-size:4rem;opacity:.7;-webkit-user-select:none;user-select:none}.featured-badge.svelte-flgb7k.svelte-flgb7k{position:absolute;top:14px;left:14px;padding:4px 10px;border-radius:99px;background:#d4af5a26;border:1px solid rgba(212,175,90,.3);color:#d4af5a;font:700 .62rem var(--font-ui);letter-spacing:.1em;text-transform:uppercase}.card-body.svelte-flgb7k.svelte-flgb7k{flex:1;padding:22px 24px;display:flex;flex-direction:column;gap:12px}.card-meta.svelte-flgb7k.svelte-flgb7k{display:flex;align-items:center;justify-content:space-between;gap:8px}.cat-pill.svelte-flgb7k.svelte-flgb7k{font:700 .65rem var(--font-ui);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:99px}.card-year.svelte-flgb7k.svelte-flgb7k{font:600 .72rem var(--font-ui);color:#ffffff4d}.card-title.svelte-flgb7k.svelte-flgb7k{font:700 1.15rem var(--font-display);color:#fff;line-height:1.3;margin:0}.card-excerpt.svelte-flgb7k.svelte-flgb7k{font-size:.85rem;color:#ffffff80;line-height:1.65;margin:0;flex:1}.card-metrics.svelte-flgb7k.svelte-flgb7k{display:flex;gap:16px;padding:12px 0;border-top:1px solid rgba(212,175,90,.08);border-bottom:1px solid rgba(212,175,90,.08)}.cm.svelte-flgb7k.svelte-flgb7k{display:flex;flex-direction:column;gap:2px}.cm-val.svelte-flgb7k.svelte-flgb7k{font:800 1.1rem var(--font-display);line-height:1}.cm-lbl.svelte-flgb7k.svelte-flgb7k{font:500 .62rem var(--font-ui);color:#fff6}.card-tags.svelte-flgb7k.svelte-flgb7k{display:flex;gap:6px;flex-wrap:wrap}.tag.svelte-flgb7k.svelte-flgb7k{padding:3px 9px;border-radius:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#ffffff80;font:500 .68rem var(--font-ui)}.tag-more.svelte-flgb7k.svelte-flgb7k{color:var(--accent-gold);border-color:#d4af5a33;background:#d4af5a0f}.card-footer.svelte-flgb7k.svelte-flgb7k{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.client-name.svelte-flgb7k.svelte-flgb7k{font:500 .75rem var(--font-ui);color:#ffffff4d}.read-more.svelte-flgb7k.svelte-flgb7k{font:700 .75rem var(--font-ui);color:var(--accent-gold);transition:gap .2s}.project-card.svelte-flgb7k:hover .read-more.svelte-flgb7k{letter-spacing:.02em}.empty-state.svelte-flgb7k.svelte-flgb7k{padding:64px;text-align:center;color:#ffffff4d}.cta-section.svelte-flgb7k.svelte-flgb7k{padding-bottom:clamp(60px,8vw,100px);opacity:0;transform:translateY(20px);transition:opacity .7s .3s ease,transform .7s .3s ease}.cta-section.visible.svelte-flgb7k.svelte-flgb7k{opacity:1;transform:translateY(0)}.cta-card.svelte-flgb7k.svelte-flgb7k{position:relative;overflow:hidden;display:flex;align-items:center;gap:40px;padding:40px 48px;flex-wrap:wrap}.cta-batik.svelte-flgb7k.svelte-flgb7k{position:absolute;right:0;top:0;bottom:0;width:400px;opacity:.6;pointer-events:none}.cta-batik.svelte-flgb7k svg.svelte-flgb7k{width:100%;height:100%}.cta-copy.svelte-flgb7k.svelte-flgb7k{flex:1;min-width:280px;position:relative;z-index:1}.cta-copy.svelte-flgb7k h2.svelte-flgb7k{font:700 1.5rem var(--font-display);color:#fff;margin-bottom:10px;line-height:1.3}.cta-copy.svelte-flgb7k p.svelte-flgb7k{font-size:.9rem;color:#ffffff80;line-height:1.65}.cta-actions.svelte-flgb7k.svelte-flgb7k{display:flex;gap:12px;flex-shrink:0;position:relative;z-index:1;flex-wrap:wrap}@media (max-width: 900px){.project-card.featured.svelte-flgb7k.svelte-flgb7k{grid-column:span 1;flex-direction:column}.featured.svelte-flgb7k .thumb-pattern.svelte-flgb7k{width:100%;min-height:160px}.hero-stats.svelte-flgb7k.svelte-flgb7k{gap:20px}.hs-div.svelte-flgb7k.svelte-flgb7k{display:none}}@media (max-width: 600px){.projects-grid.svelte-flgb7k.svelte-flgb7k{grid-template-columns:1fr}.cta-card.svelte-flgb7k.svelte-flgb7k{padding:28px 24px}.filter-row.svelte-flgb7k.svelte-flgb7k{gap:6px}.filter-btn.svelte-flgb7k.svelte-flgb7k{padding:7px 12px;font-size:.7rem}}
