.fibx-portfolio{--bg:#0a0a0a;--text:#edeae3;--text-dim:#8c8a82;--text-mute:#5a5853;--accent:#33b072;--accent-soft:#4acb8a;--border:hsla(42,22%,91%,.08);--display:var(--font-fraunces),Georgia,serif;--body:var(--font-geist-sans),-apple-system,sans-serif;--mono:var(--font-jetbrains),monospace;position:relative;background:var(--bg);color:var(--text);font-family:var(--body);overflow:clip;-webkit-font-smoothing:antialiased}.fibx-portfolio *{margin:0;padding:0;box-sizing:border-box}.fibx-portfolio a{color:inherit;text-decoration:none}.fibx-portfolio:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:100;opacity:.03;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' /%3E%3C/svg%3E")}.fibx-portfolio .portfolio{padding:100px 56px;max-width:1280px;margin:0 auto;position:relative;z-index:1}.fibx-portfolio .section-head{margin-bottom:60px;max-width:760px}.fibx-portfolio .eyebrow{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.22em;text-transform:uppercase;display:flex;align-items:center;gap:14px;margin-bottom:24px}.fibx-portfolio .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.fibx-portfolio .section-head h1{font-family:var(--display);font-size:clamp(34px,4vw,56px);font-weight:300;line-height:1.12;letter-spacing:-.02em;margin-bottom:18px}.fibx-portfolio .section-head h1 em{font-style:italic;background:linear-gradient(135deg,var(--accent),var(--text));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.fibx-portfolio .section-head p{font-size:16px;line-height:1.6;color:var(--text-dim);font-weight:300;max-width:580px}.fibx-portfolio .grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:rgba(51,176,114,.35);border:1px solid rgba(51,176,114,.45);border-radius:14px;overflow:hidden;box-shadow:0 0 24px rgba(51,176,114,.18),inset 0 0 28px rgba(51,176,114,.06)}@media (max-width:1100px){.fibx-portfolio .grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.fibx-portfolio .grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.fibx-portfolio .grid{grid-template-columns:1fr}}.fibx-portfolio .card{position:relative;background:var(--bg);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),background .4s ease}.fibx-portfolio .card.in{opacity:1;transform:translateY(0)}.fibx-portfolio .card:not([href]){cursor:default}.fibx-portfolio .card:hover{background:#131311}.fibx-portfolio .tap-hint{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(51,176,114,.5);display:none;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;color:var(--accent);z-index:3;pointer-events:none;transition:transform .3s,opacity .3s}.fibx-portfolio .card.is-open .tap-hint{transform:rotate(45deg);opacity:.6}.fibx-portfolio .card:first-child.in{transition-delay:0s}.fibx-portfolio .card:nth-child(2).in{transition-delay:.04s}.fibx-portfolio .card:nth-child(3).in{transition-delay:.08s}.fibx-portfolio .card:nth-child(4).in{transition-delay:.12s}.fibx-portfolio .card:nth-child(5).in{transition-delay:.16s}.fibx-portfolio .card:nth-child(6).in{transition-delay:.2s}.fibx-portfolio .card:nth-child(7).in{transition-delay:.24s}.fibx-portfolio .card:nth-child(8).in{transition-delay:.28s}.fibx-portfolio .card:nth-child(9).in{transition-delay:.32s}.fibx-portfolio .card:nth-child(10).in{transition-delay:.36s}.fibx-portfolio .card:nth-child(11).in{transition-delay:.4s}.fibx-portfolio .card:nth-child(12).in{transition-delay:.44s}.fibx-portfolio .card:nth-child(13).in{transition-delay:.48s}.fibx-portfolio .card:nth-child(14).in{transition-delay:.52s}.fibx-portfolio .card:nth-child(15).in{transition-delay:.56s}.fibx-portfolio .card:nth-child(16).in{transition-delay:.6s}.fibx-portfolio .card:nth-child(17).in{transition-delay:.64s}.fibx-portfolio .card:nth-child(18).in{transition-delay:.68s}.fibx-portfolio .card:nth-child(19).in{transition-delay:.72s}.fibx-portfolio .card:nth-child(20).in{transition-delay:.76s}.fibx-portfolio .logo{width:92%;height:82%;background:linear-gradient(160deg,hsla(42,39%,94%,.1),hsla(42,39%,94%,.04) 50%,rgba(51,176,114,.04));border:1px solid hsla(42,22%,91%,.06);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:18px 22px;font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,28px);color:var(--text);line-height:1.1;letter-spacing:-.01em;text-align:center;transition:all .4s ease}.fibx-portfolio .logo img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .4s ease,filter .4s ease}.fibx-portfolio .card.is-open .logo,.fibx-portfolio .card:hover .logo{transform:translateY(-4px);border-color:rgba(51,176,114,.3);background:linear-gradient(160deg,hsla(42,39%,94%,.16),hsla(42,39%,94%,.06) 50%,rgba(51,176,114,.08))}.fibx-portfolio .card.is-open .logo img,.fibx-portfolio .card:hover .logo img{filter:drop-shadow(0 0 12px rgba(51,176,114,.25))}.fibx-portfolio .overlay{position:absolute;inset:0;background:hsla(0,0%,4%,.95);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:32px 30px 28px;display:flex;flex-direction:column;justify-content:center;opacity:0;transition:opacity .4s ease;pointer-events:none}.fibx-portfolio .card.is-open .overlay,.fibx-portfolio .card:hover .overlay{opacity:1}@media (hover:none){.fibx-portfolio .tap-hint{display:flex}}.fibx-portfolio .o-sector{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px}.fibx-portfolio .o-name{font-family:var(--display);font-size:clamp(20px,1.9vw,26px);font-weight:400;margin-bottom:12px;color:var(--text);line-height:1.15;letter-spacing:-.01em}.fibx-portfolio .o-desc{font-size:13.5px;line-height:1.55;color:var(--text-dim);font-weight:300;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.fibx-portfolio .o-link{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-top:16px;display:flex;align-items:center;gap:6px}.fibx-portfolio .card:not([href]) .o-link{display:none}