.ffex{--ffex-bg:#f8f6f1;--ffex-navy:#13233f;--ffex-navy-2:#1c3157;--ffex-gold:#c8a45a;--ffex-ink:#1b2433;--ffex-muted:#5f6b7d;--ffex-line:#e4dfd3;--ffex-serif:var(--ff-font-martel),"Martel",Georgia,serif;font-family:var(--ff-font-inter),"Inter",system-ui,sans-serif;background:var(--ffex-bg);color:var(--ffex-ink);container-type:inline-size;overflow-x:clip}.ffex a{color:inherit;text-decoration:none}.ffex h1,.ffex h2,.ffex h3,.ffex p{margin:0}.ffex-wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}@container (min-width: 640px){.ffex-wrap{padding:0 2rem}}.ffex-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ffex-top{position:sticky;top:0;z-index:20;background:#ffffff;border-bottom:1px solid var(--ffex-line)}.ffex-top__inner{position:relative;display:flex;align-items:center;gap:1rem;min-height:4rem}.ffex-brand{min-width:0;font-family:var(--ffex-serif);font-size:1.15rem;font-weight:700;color:var(--ffex-navy)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ffex-top__links{display:none;margin-left:auto;gap:1.75rem;font-size:.86rem;font-weight:500;color:var(--ffex-muted)}.ffex-top__links a:hover{color:var(--ffex-navy)}.ffex-top__links.is-open{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem;background:#ffffff;border-bottom:1px solid var(--ffex-line)}.ffex-top__links.is-open a{padding:.7rem 0}.ffex-top__resume{margin-left:auto}.ffex-top__toggle{display:grid;place-items:center;width:2.4rem;height:2.4rem;margin-left:auto;border:1px solid var(--ffex-line);border-radius:.4rem;background:#ffffff;color:var(--ffex-navy);cursor:pointer}.ffex-top__resume+.ffex-top__toggle{margin-left:0}@container (min-width: 820px){.ffex-top__links,.ffex-top__links.is-open{position:static;display:flex;flex-direction:row;gap:1.75rem;padding:0;background:none;border:0}.ffex-top__links.is-open a{padding:0}.ffex-top__resume{margin-left:.5rem}.ffex-top__toggle{display:none}}.ffex-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.2rem;border-radius:.3rem;font-size:.86rem;font-weight:600;white-space:nowrap;transition:background .15s ease,color .15s ease}.ffex-btn--outline{border:1px solid var(--ffex-navy);color:var(--ffex-navy)!important}.ffex-btn--outline:hover{background:var(--ffex-navy);color:#ffffff!important}.ffex-btn--gold{background:var(--ffex-gold);color:var(--ffex-navy)!important}.ffex-btn--gold:hover{background:#d6b56e}.ffex-hero{background:linear-gradient(135deg,rgba(255,255,255,.04) 25%,transparent 25%) 0 0 /24px 24px,linear-gradient(160deg,var(--ffex-navy-2),var(--ffex-navy));color:#ffffff;padding:3rem 0}.ffex-hero--results{padding-bottom:5.5rem}@container (min-width: 640px){.ffex-hero{padding:4rem 0}.ffex-hero--results{padding-bottom:6.5rem}}.ffex-hero__inner{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:1.75rem}@container (min-width: 760px){.ffex-hero__inner{flex-direction:row;align-items:center;justify-content:space-between;gap:3rem}}.ffex-hero__copy{min-width:0}.ffex-hero__name{font-family:var(--ffex-serif);font-size:clamp(2.1rem,6cqi,3.6rem);font-weight:700;line-height:1.1;letter-spacing:-.01em}.ffex-hero__title{margin-top:.8rem!important;font-size:.85rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ffex-gold)}.ffex-hero__contact{margin:1.6rem 0 0;padding:1.2rem 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;border-top:1px solid rgba(255,255,255,.15);font-size:.88rem;color:rgba(255,255,255,.82)}.ffex-hero__contact li{display:inline-flex;align-items:center;gap:.4rem;min-width:0;overflow-wrap:anywhere}.ffex-hero__contact svg{flex:none;color:var(--ffex-gold)}.ffex-hero__contact a:hover{color:#ffffff;text-decoration:underline}.ffex-hero__photo{flex:none;width:8rem;height:8rem;padding:4px;border-radius:999px;border:2px solid var(--ffex-gold)}@container (min-width: 760px){.ffex-hero__photo{width:11rem;height:11rem}}.ffex-hero__photo img{width:100%;height:100%;display:block;border-radius:999px;object-fit:cover}.ffex-results{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:-3.5rem}@container (min-width: 900px){.ffex-results{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}.ffex-result{display:flex;flex-direction:column;padding:1.15rem 1.25rem;border-top:3px solid var(--ffex-gold);border-radius:.3rem;background:#ffffff;box-shadow:0 14px 34px -22px rgba(19,35,63,.45)}.ffex-result strong{font-family:var(--ffex-serif);font-size:clamp(1.5rem,3.4cqi,2rem);font-weight:700;line-height:1.15;color:var(--ffex-navy)}.ffex-result span{margin-top:.3rem;font-size:.82rem;line-height:1.4;color:var(--ffex-muted)}.ffex-body{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-top:3rem;padding-bottom:4rem}@container (min-width: 900px){.ffex-body{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:3rem;padding-top:3.5rem}.ffex-body--single{grid-template-columns:minmax(0,1fr)}}.ffex-main,.ffex-side{display:flex;flex-direction:column;gap:2.5rem;min-width:0}.ffex-block{scroll-margin-top:5rem}.ffex-block__title{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem!important;font-family:var(--ffex-serif);font-size:1.35rem;font-weight:700;color:var(--ffex-navy)}.ffex-block__title:after{content:"";flex:1;height:1px;background:var(--ffex-line)}.ffex-about{font-size:1rem;line-height:1.8;color:#334155}.ffex-roles{display:flex;flex-direction:column}.ffex-role{padding:1.25rem 0 1.25rem 1.25rem;border-left:2px solid var(--ffex-line);position:relative}.ffex-role:before{content:"";position:absolute;top:1.6rem;left:-.4rem;width:.7rem;height:.7rem;border-radius:999px;background:var(--ffex-gold);box-shadow:0 0 0 3px var(--ffex-bg)}.ffex-role:first-child{padding-top:.25rem}.ffex-role:first-child:before{top:.6rem}.ffex-role header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.35rem 1rem}.ffex-role h3{font-size:1.05rem;font-weight:700;color:var(--ffex-navy)}.ffex-role__org{margin-top:.2rem!important;font-size:.9rem;color:var(--ffex-muted)}.ffex-role__period{padding:.2rem .6rem;border-radius:.25rem;background:#efe9db;font-size:.78rem;font-weight:600;color:#6b5426;white-space:nowrap}.ffex-role__points{margin:.8rem 0 0;padding-left:1.1rem;font-size:.92rem;line-height:1.65;color:#334155}.ffex-role__points li+li{margin-top:.3rem}.ffex-role__points li::marker{color:var(--ffex-gold)}.ffex-projects{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.ffex-project{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem;border:1px solid var(--ffex-line);border-radius:.4rem;background:#ffffff;transition:border-color .15s ease,box-shadow .15s ease}a.ffex-project:hover{border-color:var(--ffex-gold);box-shadow:0 10px 24px -18px rgba(19,35,63,.4)}.ffex-projects__num{flex:none;min-width:2.2rem;font-variant-numeric:tabular-nums;font-family:var(--ffex-serif);font-size:1.35rem;font-weight:700;line-height:1.2;color:var(--ffex-gold)}.ffex-project h3{display:flex;align-items:center;gap:.35rem;font-size:1rem;font-weight:700;color:var(--ffex-navy)}.ffex-project p{margin-top:.3rem!important;font-size:.9rem;line-height:1.6;color:#334155}.ffex-side{align-self:start;padding:1.75rem 1.5rem;border:1px solid var(--ffex-line);border-radius:.4rem;background:#ffffff;gap:2rem}.ffex-block--side .ffex-block__title{font-size:1.1rem;margin-bottom:.9rem!important}.ffex-checks{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;font-size:.9rem}@container (min-width: 500px) and (max-width: 899px){.ffex-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}.ffex-checks li{display:flex;align-items:flex-start;gap:.5rem}.ffex-checks svg{flex:none;margin-top:.2rem;color:var(--ffex-gold)}.ffex-list{margin:0;padding:0;list-style:none;gap:1rem}.ffex-list,.ffex-list li{display:flex;flex-direction:column}.ffex-list strong{font-size:.94rem;font-weight:700;color:var(--ffex-navy)}.ffex-list span{margin-top:.15rem;font-size:.86rem;color:var(--ffex-muted)}.ffex-list small{margin-top:.15rem;font-size:.8rem;color:#8a6d2f}.ffex-awards{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.85rem}.ffex-awards li{display:flex;align-items:flex-start;gap:.6rem}.ffex-awards svg{flex:none;margin-top:.1rem;color:var(--ffex-gold)}.ffex-awards span{display:flex;flex-direction:column}.ffex-awards strong{font-size:.9rem;font-weight:600;line-height:1.4;color:var(--ffex-navy)}.ffex-awards small{font-size:.8rem;color:#8a6d2f}.ffex-langs{margin:0;padding:0;list-style:none}.ffex-langs li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--ffex-line);font-size:.9rem}.ffex-langs li:last-child{border-bottom:0}.ffex-langs span{color:var(--ffex-muted)}.ffex-contact{background:var(--ffex-navy);color:#ffffff;scroll-margin-top:4rem}.ffex-contact__inner{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;padding-top:3rem;padding-bottom:3rem}@container (min-width: 760px){.ffex-contact__inner{flex-direction:row;align-items:center;justify-content:space-between}}.ffex-contact h2{font-family:var(--ffex-serif);font-size:clamp(1.5rem,3.6cqi,2.1rem);font-weight:700}.ffex-contact p{margin-top:.5rem!important;max-width:36rem;line-height:1.6;color:rgba(255,255,255,.75)}.ffex-footer{background:#0d1a31;font-size:.82rem;color:rgba(255,255,255,.6)}.ffex-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding-top:1.25rem;padding-bottom:1.5rem}.ffex-footer a{font-weight:600;color:#ffffff}.ffl{--ffl-pink:#ffb6c1;--ffl-green:#90ee90;--ffl-purple:#dda0dd;--ffl-yellow:#ffe4b5;--ffl-leaf:#228b22;--ffl-ink:#1f2937;--ffl-text:#4b5563;--ffl-muted:#6b7280;container-type:inline-size;position:relative;min-height:100%;color:var(--ffl-ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;background:radial-gradient(circle at 20% 50%,rgba(255,182,193,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(144,238,144,.1) 0,transparent 50%),radial-gradient(circle at 40% 20%,rgba(221,160,221,.1) 0,transparent 50%),linear-gradient(135deg,#f0fdf4,#ffffff,#fdf2f8)}.ffl *,.ffl :after,.ffl :before{box-sizing:border-box}.ffl a{color:inherit;text-decoration:none}.ffl h1,.ffl h2,.ffl h3,.ffl p{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.ffl-wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}.ffl-narrow{max-width:720px}.ffl-center{text-align:center}.ffl-gradient{background:linear-gradient(90deg,var(--ffl-pink),var(--ffl-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ffl-flower{position:relative;width:100px;height:100px;flex-shrink:0}.ffl-flower--sm{width:50px;height:50px;margin:-6px -4px -6px -10px;transform:scale(.5);transform-origin:center}.ffl-flower--lg{margin:24px auto 56px;transform:scale(1.5);animation:ffl-bloom 2s ease-out forwards}.ffl-petal{position:absolute;top:50%;left:50%;width:50%;height:50%;margin:-50% 0 0 -50%;transform-origin:100% 100%;border-radius:0 100% 0 100%;background:linear-gradient(135deg,#ffb6c1,#ffc0cb)}.ffl-flower--sm .ffl-petal{width:32px;height:32px;margin:-32px 0 0 -32px}.ffl-flower--lg .ffl-petal{width:42px;height:42px;margin:-42px 0 0 -42px}.ffl-flower__center{position:absolute;top:50%;left:50%;width:40%;height:40%;transform:translate(-50%,-50%);border-radius:50%;background:var(--ffl-yellow);box-shadow:0 4px 12px rgba(0,0,0,.08)}@keyframes ffl-bloom{0%{transform:scale(0);opacity:0}50%{transform:scale(1.6);opacity:.8}to{transform:scale(1.5);opacity:1}}@keyframes ffl-float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes ffl-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.ffl-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 2px rgba(0,0,0,.05)}.ffl-nav__row{justify-content:space-between;padding-top:8px;padding-bottom:8px}.ffl-brand,.ffl-nav__row{display:flex;align-items:center}.ffl-brand{gap:4px;color:var(--ffl-leaf)!important;font-size:1.25rem;font-weight:700}.ffl-nav__links{display:flex;gap:32px;margin:0;padding:0;list-style:none}.ffl-nav__links a,.ffl-nav__mobile a{color:#374151;transition:color .2s}.ffl-nav__links a:hover,.ffl-nav__mobile a:hover{color:var(--ffl-leaf)}.ffl-nav__toggle{display:none;border:0;background:none;color:#374151;cursor:pointer}.ffl-nav__mobile{display:flex;flex-direction:column;padding-bottom:12px}.ffl-nav__mobile a{padding:8px 0}.ffl-hero{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:48px 0}.ffl-hero__title{margin-bottom:16px!important;font-size:clamp(2.6rem,7cqi,4.5rem);font-weight:700;line-height:1.1;color:#1f2937}.ffl-hero__tagline{margin-bottom:32px!important;color:var(--ffl-text);font-size:clamp(1.2rem,2.4cqi,1.5rem)}.ffl-hero__intro{max-width:42rem;margin:0 auto 48px!important;color:var(--ffl-muted);font-size:1.125rem}.ffl-hero__ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.ffl-btn{display:inline-block;padding:12px 32px;border-radius:999px;font-weight:500;transition:transform .2s,background .2s,color .2s}.ffl-btn:hover{transform:scale(1.05)}.ffl-btn--solid{background:var(--ffl-leaf);color:#fff!important}.ffl-btn--solid:hover{background:#15803d}.ffl-btn--outline{border:2px solid var(--ffl-leaf);color:var(--ffl-leaf)!important}.ffl-btn--outline:hover{background:var(--ffl-leaf);color:#fff!important}.ffl-section{padding:80px 0}.ffl-section--tint{background:rgba(255,255,255,.5)}.ffl-h2{margin-bottom:48px!important;font-size:2.25rem;font-weight:700;text-align:center;color:#1f2937}.ffl-text{margin-bottom:24px!important;color:var(--ffl-text);line-height:1.75}.ffl-about{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;max-width:896px;margin:0 auto}.ffl-stats{display:flex;flex-wrap:wrap;gap:24px}.ffl-stat{text-align:center}.ffl-stat__value{font-size:1.875rem;font-weight:700}.ffl-stat__label{color:var(--ffl-text);font-size:.875rem}.ffl-tone-pink{color:var(--ffl-pink)}.ffl-tone-green{color:var(--ffl-green)}.ffl-tone-purple{color:var(--ffl-purple)}.ffl-tone-yellow{color:#e0b46b}.ffl-blob{width:min(16rem,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--ffl-pink),var(--ffl-purple));animation:ffl-float 6s ease-in-out infinite}.ffl-blob img{width:100%;height:100%;object-fit:cover}.ffl-blob__emoji{font-size:3.75rem}.ffl-skills{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;max-width:896px;margin:0 auto}.ffl-skill{text-align:center}.ffl-skill:hover .ffl-skill__bubble{animation:ffl-bounce 1s infinite}.ffl-skill__bubble{width:80px;height:80px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;font-size:1.875rem}.ffl-bubble-pink{background:linear-gradient(135deg,var(--ffl-pink),#f9a8d4)}.ffl-bubble-green{background:linear-gradient(135deg,var(--ffl-green),#86efac)}.ffl-bubble-purple{background:linear-gradient(135deg,var(--ffl-purple),#d8b4fe)}.ffl-bubble-yellow{background:linear-gradient(135deg,var(--ffl-yellow),#fde047)}.ffl-skill h3{font-weight:600;color:#1f2937}.ffl-skill p{color:var(--ffl-text);font-size:.875rem}.ffl-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1152px;margin:0 auto}.ffl-card{display:block;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);transition:box-shadow .2s}.ffl-card:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.ffl-card__media{height:192px;display:grid;place-items:center;overflow:hidden;font-size:3.75rem}.ffl-card__media img{width:100%;height:100%;object-fit:cover}.ffl-card__body{padding:24px}.ffl-card__body h3{margin-bottom:8px!important;font-size:1.25rem;font-weight:600;color:#1f2937}.ffl-card__body p{margin-bottom:16px!important;color:var(--ffl-text)}.ffl-tags{display:flex;flex-wrap:wrap;gap:8px}.ffl-tag{padding:4px 12px;border-radius:999px;font-size:.875rem}.ffl-tag-pink{background:rgba(255,182,193,.2);color:#be185d}.ffl-tag-green{background:rgba(144,238,144,.2);color:#15803d}.ffl-tag-purple{background:rgba(221,160,221,.2);color:#7e22ce}.ffl-tag-yellow{background:rgba(255,228,181,.2);color:#a16207}.ffl-contact{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 28px;margin-top:8px}.ffl-contact a{display:inline-flex;align-items:center;gap:8px;color:var(--ffl-leaf)!important;transition:color .2s}.ffl-contact a:hover{color:#15803d!important}.ffl-footer{padding:32px 24px;text-align:center;color:var(--ffl-text);background:linear-gradient(0deg,#dcfce7,transparent)}.ffl-footer a{color:var(--ffl-leaf)}@container (max-width: 860px){.ffl-nav__links{display:none}.ffl-nav__toggle{display:inline-flex}.ffl-about,.ffl-projects{grid-template-columns:1fr}.ffl-skills{grid-template-columns:repeat(2,1fr)}}@container (min-width: 861px){.ffl-nav__mobile{display:none}}@container (max-width: 520px){.ffl-h2{font-size:1.8rem}.ffl-contact{flex-direction:column}}.fffl-root{--fffl-lime:#CEFA05;--fffl-lime-hover:#bde604;--fffl-dark:#222222;--fffl-dark-surface:#18181b;--fffl-card-bg:#D8DCE2;--fffl-text:#111111;--fffl-muted:#71717a;--fffl-border:rgba(0,0,0,0.07);font-family:var(--ff-font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--fffl-text);background:var(--fffl-lime);min-height:100vh;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;position:relative;container-type:inline-size}@media (max-width:768px){.fffl-root{padding:12px}}.fffl-canvas{width:100%;max-width:1240px;background:#ffffff;border-radius:36px;box-shadow:0 25px 70px rgba(0,0,0,.07);overflow:hidden;display:flex;flex-direction:column}@media (max-width:768px){.fffl-canvas{border-radius:24px}}.fffl-section-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:48px;gap:12px}.fffl-section-eyebrow{display:inline-block;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#111111;background:rgba(206,250,5,.4);padding:5px 14px;border-radius:9999px}.fffl-section-title{font-size:clamp(26px,3.4vw,40px);font-weight:800;line-height:1.18;letter-spacing:-.03em;color:#111111;margin:0;max-width:720px}.fffl-section-desc{font-size:15px;line-height:1.6;color:var(--fffl-muted);max-width:580px;margin:0}.fffl-nav{padding:28px 48px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;background:#ffffff}.fffl-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#111111;font-weight:800;font-size:21px;letter-spacing:-.02em}.fffl-brand-glyph{width:24px;height:24px;color:#111111}.fffl-nav-links{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.fffl-nav-link{text-decoration:none;color:#374151;font-size:13.5px;font-weight:500;transition:color .18s ease}.fffl-nav-link--active,.fffl-nav-link:hover{color:#111111;font-weight:600}.fffl-nav-cta{display:inline-flex;align-items:center;gap:12px;background:#111111;color:#ffffff;padding:8px 10px 8px 22px;border-radius:9999px;font-size:13.5px;font-weight:600;text-decoration:none;transition:transform .2s ease,background-color .2s ease}.fffl-nav-cta:hover{background:#000000;transform:translateY(-1px)}.fffl-nav-cta-arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--fffl-lime);color:#111111;border-radius:50%;font-size:14px;font-weight:700}.fffl-nav-toggle{display:none;background:none;border:none;padding:6px;color:#111;cursor:pointer}.fffl-mobile-menu{display:none;flex-direction:column;padding:16px 24px 24px;background:#ffffff;border-bottom:1px solid rgba(0,0,0,.05);gap:14px}.fffl-mobile-menu.is-open{display:flex}.fffl-mobile-link{text-decoration:none;color:#111;font-size:16px;font-weight:600;padding:8px 0}.fffl-hero{padding:36px 48px 48px;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:36px;align-items:center}.fffl-hero-col-left{display:flex;flex-direction:column;align-items:flex-start}.fffl-eyebrow{font-size:16px;font-weight:500;color:#27272a;margin-bottom:16px}.fffl-hero-name{font-size:clamp(34px,4.4vw,56px);font-weight:900;line-height:.96;letter-spacing:-.035em;color:#111111;text-transform:uppercase;margin:0 0 20px;white-space:pre-line}.fffl-hero-bio{font-size:14px;line-height:1.5;color:#52525b;margin:0 0 28px;max-width:290px}.fffl-btn-primary{display:inline-flex;align-items:center;gap:12px;background:var(--fffl-lime);color:#111111;padding:8px 8px 8px 22px;border-radius:9999px;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 6px 18px rgba(206,250,5,.35);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.fffl-btn-primary:hover{background:var(--fffl-lime-hover);transform:translateY(-1.5px);box-shadow:0 8px 22px rgba(206,250,5,.45)}.fffl-btn-icon-black{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#111111;color:var(--fffl-lime);border-radius:50%}.fffl-hero-col-center,.fffl-photo-card{display:flex;justify-content:center;position:relative}.fffl-photo-card{max-width:360px;aspect-ratio:.84;background:var(--fffl-card-bg);overflow:visible;box-shadow:0 20px 45px rgba(0,0,0,.08)}.fffl-photo-card,.fffl-photo-img-wrap{width:100%;border-radius:34px;align-items:flex-end}.fffl-photo-img-wrap{height:100%;overflow:hidden;display:flex;justify-content:center}.fffl-photo-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.fffl-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:800;color:#9ca3af}.fffl-floating-socials{position:absolute;top:18px;right:18px;display:flex;flex-direction:column;gap:10px;z-index:3}.fffl-social-circle{width:38px;height:38px;background:rgba(130,140,150,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#ffffff;text-decoration:none;font-size:15px;transition:transform .2s ease,background .2s ease}.fffl-social-circle:hover{background:#111111;color:var(--fffl-lime);transform:scale(1.08)}.fffl-status-badge{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);background:#ffffff;padding:9px 20px;border-radius:9999px;display:inline-flex;align-items:center;gap:9px;box-shadow:0 10px 28px rgba(0,0,0,.1);white-space:nowrap;font-size:13.5px;font-weight:700;color:#111111;z-index:4}.fffl-status-dot{width:8px;height:8px;background:#10B981;border-radius:50%;box-shadow:0 0 0 3px rgba(16,185,129,.25)}.fffl-hero-col-right{display:flex;flex-direction:column;align-items:flex-start;padding-left:12px}.fffl-firm-badge{font-size:14.5px;line-height:1.4;color:#71717a;white-space:pre-line;margin-bottom:14px}.fffl-role-title{font-size:clamp(28px,3.4vw,42px);font-weight:900;line-height:.98;letter-spacing:-.03em;color:#111111;text-transform:uppercase;margin:0 0 32px;white-space:pre-line}.fffl-clients-card{display:flex;flex-direction:column;gap:10px}.fffl-avatar-item,.fffl-avatar-stack{display:flex;align-items:center}.fffl-avatar-item{width:32px;height:32px;border-radius:50%;border:2px solid #ffffff;margin-left:-8px;background-color:#cbd5e1;background-position:50%;background-size:cover;justify-content:center;font-size:11px;font-weight:700;color:#334155}.fffl-avatar-item:first-child{margin-left:0}.fffl-avatar-item--stat{background:#111111;color:#ffffff;font-size:10px;font-weight:800}.fffl-clients-text{display:flex;flex-direction:column;gap:2px}.fffl-clients-headline{font-size:14px;font-weight:800;color:#111111}.fffl-clients-sub{font-size:12px;color:#71717a}.fffl-trusted{padding:32px 48px;display:flex;align-items:center;gap:40px;border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05)}.fffl-trusted-title{font-size:14px;font-weight:600;color:#111111;max-width:120px;line-height:1.35;padding-right:28px;border-right:1px solid rgba(0,0,0,.12);flex-shrink:0}.fffl-trusted-logos{display:flex;align-items:center;justify-content:space-between;gap:36px;flex:1;overflow-x:auto;scrollbar-width:none}.fffl-trusted-logos::-webkit-scrollbar{display:none}.fffl-trusted-logo-item{display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#94a3b8;letter-spacing:-.02em;white-space:nowrap;transition:color .2s ease}.fffl-trusted-logo-item:hover{color:#475569}.fffl-intro{padding:60px 48px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.fffl-intro-left{display:flex;flex-direction:column;align-items:flex-start}.fffl-intro-statement{font-size:clamp(24px,3.2vw,36px);font-weight:800;line-height:1.28;letter-spacing:-.03em;color:#111111;margin:0 0 36px}.fffl-intro-contacts{display:flex;align-items:center;gap:32px;margin-bottom:36px;flex-wrap:wrap}.fffl-contact-badge{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.fffl-contact-icon{width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-flex;align-items:center;justify-content:center;color:#111111}.fffl-contact-meta{display:flex;flex-direction:column;gap:2px}.fffl-contact-label{font-size:12px;color:#71717a;font-weight:500}.fffl-contact-val{font-size:13.5px;color:#111111;font-weight:700}.fffl-btn-dark{display:inline-flex;align-items:center;gap:8px;background:#111111;color:#ffffff;padding:12px 24px;border-radius:9999px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s ease,background .2s ease}.fffl-btn-dark:hover{background:#000000;transform:translateY(-1.5px)}.fffl-intro-mockups{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fffl-mockup-card{border-radius:20px;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,.08);aspect-ratio:.88;background:#f1f5f9;position:relative}.fffl-mockup-img{width:100%;height:100%;object-fit:cover;display:block}.fffl-services{padding:72px 48px;background:#fafafa;border-top:1px solid rgba(0,0,0,.04)}.fffl-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.fffl-service-card{background:#ffffff;border-radius:24px;padding:36px 30px;display:flex;flex-direction:column;gap:16px;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 20px rgba(0,0,0,.03);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;position:relative}.fffl-service-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.08);border-color:rgba(206,250,5,.8)}.fffl-service-num{font-size:15px;font-weight:800;color:#111111;background:var(--fffl-lime);width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}.fffl-service-title{font-size:20px;font-weight:800;line-height:1.25;color:#111111;margin:0}.fffl-service-desc{font-size:14px;line-height:1.55;color:#52525b;margin:0;flex:1}.fffl-service-tags{font-size:12px;font-weight:600;color:#71717a;padding-top:12px;border-top:1px solid rgba(0,0,0,.06)}.fffl-feature{padding:72px 48px;background:#ffffff}.fffl-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.fffl-feature-card{background:#f8fafc;border-radius:24px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;border:1px solid rgba(0,0,0,.05);transition:transform .2s ease,background .2s ease}.fffl-feature-card:hover{background:#ffffff;transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.06)}.fffl-feature-icon-wrap{width:44px;height:44px;border-radius:14px;background:#111111;color:var(--fffl-lime);display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}.fffl-feature-title{font-size:18px;font-weight:800;color:#111111;margin:0}.fffl-feature-desc{font-size:14px;line-height:1.55;color:#64748b;margin:0}.fffl-skills{padding:72px 48px;background:#fafafa;border-top:1px solid rgba(0,0,0,.04)}.fffl-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.fffl-skill-card{background:#ffffff;border-radius:20px;padding:22px 24px;display:flex;align-items:center;gap:16px;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 16px rgba(0,0,0,.02);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.fffl-skill-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.06);border-color:rgba(206,250,5,.9)}.fffl-skill-icon{width:44px;height:44px;border-radius:12px;background:#f1f5f9;display:inline-flex;align-items:center;justify-content:center;color:#111111;flex-shrink:0}.fffl-skill-meta{display:flex;flex-direction:column;gap:2px;overflow:hidden}.fffl-skill-name{font-size:15px;font-weight:800;color:#111111;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fffl-skill-category{font-size:12px;color:#71717a;font-weight:600}.fffl-experience{padding:72px 48px;background:#ffffff}.fffl-experience-timeline{display:flex;flex-direction:column;gap:28px;max-width:960px;margin:0 auto}.fffl-exp-item{background:#f8fafc;border-radius:24px;padding:32px 36px;display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:flex-start;border:1px solid rgba(0,0,0,.05);position:relative;transition:transform .2s ease,background .2s ease}.fffl-exp-item:hover{background:#ffffff;box-shadow:0 14px 32px rgba(0,0,0,.06);transform:translateY(-2px)}.fffl-exp-left{display:flex;flex-direction:column;gap:6px}.fffl-exp-period{font-size:13px;font-weight:700;color:#111111;background:var(--fffl-lime);padding:4px 12px;border-radius:9999px;align-self:flex-start}.fffl-exp-company{font-size:18px;font-weight:800;color:#0f172a;margin-top:6px}.fffl-exp-right{display:flex;flex-direction:column;gap:10px}.fffl-exp-title{font-size:20px;font-weight:800;color:#111111;margin:0}.fffl-exp-desc{font-size:14.5px;line-height:1.6;color:#52525b;margin:0}.fffl-work{padding:72px 48px;background:#fafafa;border-top:1px solid rgba(0,0,0,.04)}.fffl-work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.fffl-work-card{background:#ffffff;border-radius:28px;overflow:hidden;border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 24px rgba(0,0,0,.04);display:flex;flex-direction:column;transition:transform .24s ease,box-shadow .24s ease;text-decoration:none;color:inherit}.fffl-work-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(0,0,0,.1)}.fffl-work-image-wrap{width:100%;aspect-ratio:1.4;background:#e2e8f0;position:relative;overflow:hidden}.fffl-work-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.fffl-work-card:hover .fffl-work-img{transform:scale(1.04)}.fffl-work-body{padding:24px 28px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.fffl-work-meta{display:flex;flex-direction:column;gap:6px}.fffl-work-tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.fffl-work-title{font-size:20px;font-weight:800;color:#111111;margin:0}.fffl-work-arrow-btn{width:44px;height:44px;border-radius:50%;background:#111111;color:var(--fffl-lime);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease,background .2s ease}.fffl-work-card:hover .fffl-work-arrow-btn{background:var(--fffl-lime);color:#111111;transform:rotate(45deg)}.fffl-stats{background:var(--fffl-dark);color:#ffffff;padding:64px 48px;display:flex;flex-direction:column;gap:48px}.fffl-stats-heading{font-size:clamp(22px,2.8vw,32px);font-weight:700;line-height:1.35;letter-spacing:-.02em;color:#ffffff;text-align:center;max-width:860px;margin:0 auto}.fffl-stats-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}.fffl-video-card{width:220px;height:130px;border-radius:18px;overflow:hidden;position:relative;background:#2a2a2a;box-shadow:0 12px 30px rgba(0,0,0,.35);flex-shrink:0}.fffl-video-img{width:100%;height:100%;object-fit:cover;display:block}.fffl-video-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.85);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:inline-flex;align-items:center;justify-content:center;color:#111111;box-shadow:0 4px 12px rgba(0,0,0,.2)}.fffl-stats-columns{display:flex;align-items:center;gap:48px;flex:1;justify-content:flex-end}.fffl-stat-col{display:flex;flex-direction:column;gap:6px;padding-left:36px;border-left:1px solid rgba(255,255,255,.16)}.fffl-stat-col:first-child{border-left:none;padding-left:0}.fffl-stat-val{font-size:clamp(34px,4vw,52px);font-weight:800;line-height:1;letter-spacing:-.03em;color:#ffffff}.fffl-stat-label{font-size:13.5px;color:#9ca3af;font-weight:500}.fffl-certifications{padding:72px 48px;background:#ffffff}.fffl-cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.fffl-cert-card{background:#f8fafc;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:16px;border:1px solid rgba(0,0,0,.05);transition:transform .2s ease,box-shadow .2s ease}.fffl-cert-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.05);background:#ffffff}.fffl-cert-icon-row{display:flex;align-items:center;justify-content:space-between}.fffl-cert-icon{width:42px;height:42px;border-radius:12px;background:#111111;color:var(--fffl-lime);display:inline-flex;align-items:center;justify-content:center}.fffl-cert-year{font-size:12px;font-weight:700;color:#64748b;background:#e2e8f0;padding:3px 10px;border-radius:9999px}.fffl-cert-name{font-size:18px;font-weight:800;color:#111111;margin:0;line-height:1.3}.fffl-cert-issuer{font-size:13.5px;color:#64748b;margin:0;font-weight:500}.fffl-cert-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#111111;text-decoration:none;margin-top:auto;padding-top:12px;border-top:1px solid rgba(0,0,0,.06);transition:color .18s ease}.fffl-cert-btn:hover{color:#4338ca}.fffl-achievements{padding:72px 48px;background:#fafafa;border-top:1px solid rgba(0,0,0,.04)}.fffl-achieve-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.fffl-achieve-card{background:#ffffff;border-radius:24px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 18px rgba(0,0,0,.03);transition:transform .22s ease,box-shadow .22s ease}.fffl-achieve-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.08)}.fffl-achieve-top{display:flex;align-items:center;justify-content:space-between}.fffl-achieve-icon{width:44px;height:44px;border-radius:50%;background:var(--fffl-lime);color:#111111;display:inline-flex;align-items:center;justify-content:center}.fffl-achieve-year{font-size:12.5px;font-weight:800;color:#111111;background:#f1f5f9;padding:4px 12px;border-radius:9999px}.fffl-achieve-title{font-size:19px;font-weight:800;color:#111111;margin:0;line-height:1.25}.fffl-achieve-org{font-size:13.5px;font-weight:600;color:#64748b;margin:0}.fffl-achieve-desc{font-size:14px;line-height:1.55;color:#52525b;margin:0}.fffl-education{padding:72px 48px;background:#ffffff}.fffl-edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;max-width:960px;margin:0 auto}.fffl-edu-card{background:#f8fafc;border-radius:22px;padding:28px 32px;display:flex;flex-direction:column;gap:10px;border:1px solid rgba(0,0,0,.05)}.fffl-edu-years{font-size:12.5px;font-weight:700;color:#111111;background:var(--fffl-lime);padding:3px 10px;border-radius:9999px;align-self:flex-start}.fffl-edu-degree{font-size:18px;font-weight:800;color:#111111;margin:0}.fffl-edu-school{font-size:14px;color:#64748b;font-weight:600;margin:0}.fffl-testimonial{padding:72px 48px;background:#fafafa;border-top:1px solid rgba(0,0,0,.04)}.fffl-testimonial-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}.fffl-testimonial-main{background:#ffffff;border-radius:30px;padding:44px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 24px rgba(0,0,0,.03)}.fffl-testimonial-rating{font-size:15px;font-weight:800;color:#eab308;letter-spacing:.1em}.fffl-testimonial-quote{font-size:clamp(20px,2.4vw,28px);font-weight:700;line-height:1.35;color:#0f172a;margin:0}.fffl-testimonial-author{display:flex;align-items:center;gap:16px}.fffl-testimonial-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #ffffff;box-shadow:0 4px 12px rgba(0,0,0,.08)}.fffl-testimonial-author-name{font-size:16px;font-weight:800;color:#111111}.fffl-testimonial-author-role{font-size:13px;color:#64748b}.fffl-testimonial-side-list{display:flex;flex-direction:column;gap:20px}.fffl-testimonial-side-card{background:#ffffff;border-radius:22px;padding:24px 26px;display:flex;flex-direction:column;gap:12px;border:1px solid rgba(0,0,0,.05)}.fffl-testimonial-side-quote{font-size:14.5px;line-height:1.5;color:#334155;margin:0;font-style:italic}.fffl-testimonial-side-meta{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid rgba(0,0,0,.05)}.fffl-testimonial-side-name{font-size:13px;font-weight:700;color:#111111}.fffl-testimonial-side-role{font-size:11.5px;color:#64748b}.fffl-faq{padding:72px 48px;background:#ffffff}.fffl-faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.fffl-faq-item{background:#f8fafc;border-radius:20px;border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 16px rgba(0,0,0,.02);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.fffl-faq-item.is-open{background:#ffffff;border-color:rgba(206,250,5,.9);box-shadow:0 8px 24px rgba(0,0,0,.06)}.fffl-faq-question-btn{width:100%;padding:22px 28px;display:flex;justify-content:space-between;background:none;border:none;cursor:pointer;text-align:left;font-size:17px;gap:16px}.fffl-faq-icon-pill,.fffl-faq-question-btn{align-items:center;font-weight:700;color:#111111}.fffl-faq-icon-pill{width:32px;height:32px;border-radius:50%;background:#e2e8f0;display:inline-flex;justify-content:center;font-size:18px;flex-shrink:0;transition:transform .2s ease,background .2s ease}.fffl-faq-item.is-open .fffl-faq-icon-pill{background:var(--fffl-lime);transform:rotate(45deg)}.fffl-faq-answer{padding:0 28px 22px;font-size:14.5px;line-height:1.6;color:#52525b}.fffl-contact{padding:72px 48px;background:#fafafa;border-top:1px solid rgba(0,0,0,.04)}.fffl-contact-box{background:var(--fffl-dark);border-radius:32px;padding:56px 48px;color:#ffffff;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}.fffl-contact-info{display:flex;flex-direction:column;gap:20px}.fffl-contact-title{font-size:clamp(26px,3.2vw,42px);font-weight:800;line-height:1.2;letter-spacing:-.03em;color:#ffffff;margin:0}.fffl-contact-text{font-size:15px;line-height:1.6;color:#a1a1aa;margin:0}.fffl-contact-details{display:flex;flex-direction:column;gap:14px;margin-top:10px}.fffl-contact-link-row{display:inline-flex;align-items:center;gap:12px;color:#e4e4e7;text-decoration:none;font-size:15px;font-weight:600;transition:color .2s ease}.fffl-contact-link-row:hover{color:var(--fffl-lime)}.fffl-contact-link-icon{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;color:var(--fffl-lime)}.fffl-contact-actions{display:flex;flex-direction:column;gap:18px;align-items:flex-start;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:36px}.fffl-contact-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;border-radius:9999px;background:var(--fffl-lime);color:#111111;font-size:15px;font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(206,250,5,.35);transition:transform .2s ease,background .2s ease}.fffl-contact-cta-btn:hover{background:var(--fffl-lime-hover);transform:translateY(-2px)}.fffl-contact-cal-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;border-radius:9999px;background:transparent;color:#ffffff;border:1px solid rgba(255,255,255,.2);font-size:14px;font-weight:700;text-decoration:none;transition:background .2s ease,border-color .2s ease}.fffl-contact-cal-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}.fffl-footer{padding:24px 48px;background:#1a1a1a;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.fffl-footer,.fffl-footer-line{color:#9ca3af}.fffl-footer-brand{color:#d1d5db;text-decoration:none;font-weight:600}.fffl-footer-brand:hover{color:var(--fffl-lime)}@media (max-width:980px){.fffl-hero{grid-template-columns:1fr;gap:40px;text-align:center}.fffl-hero-col-left,.fffl-hero-col-right{align-items:center;padding-left:0}.fffl-hero-bio{max-width:480px}.fffl-nav-cta,.fffl-nav-links{display:none}.fffl-nav-toggle{display:block}.fffl-intro{gap:40px}.fffl-exp-item,.fffl-intro,.fffl-work-grid{grid-template-columns:1fr}.fffl-exp-item{gap:16px}.fffl-contact-box,.fffl-testimonial-layout{grid-template-columns:1fr}.fffl-contact-box{padding:36px 28px}.fffl-stats-bottom-row{flex-direction:column;align-items:center}.fffl-stats-columns{justify-content:center;width:100%;flex-wrap:wrap;gap:24px}.fffl-stat-col{padding-left:20px}}@media (max-width:600px){.fffl-nav{padding:20px 24px}.fffl-hero{padding:24px}.fffl-trusted{padding:24px;flex-direction:column;align-items:flex-start;gap:20px}.fffl-trusted-title{border-right:none;padding-right:0;max-width:100%}.fffl-intro{padding:36px 24px}.fffl-intro-mockups{grid-template-columns:1fr}.fffl-achievements,.fffl-certifications,.fffl-contact,.fffl-education,.fffl-experience,.fffl-faq,.fffl-feature,.fffl-services,.fffl-skills,.fffl-testimonial,.fffl-work{padding:48px 24px}.fffl-stats{padding:40px 24px}.fffl-footer{padding:20px 24px;flex-direction:column;text-align:center}}.fff{--fff-ink:#161816;--fff-muted:#8b8f8a;--fff-line:#ecefeb;--fff-green:#7cd67e;--fff-green-deep:#2f9e44;--fff-soft:#f6f8f5;position:relative;font-family:var(--ff-font-inter),"Inter",system-ui,sans-serif;background:#fff;color:var(--fff-ink);container-type:inline-size;overflow:clip}.fff a{color:inherit;text-decoration:none}.fff-glow{position:absolute;left:50%;width:70rem;height:40rem;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(124,214,126,.32),rgba(124,214,126,0));pointer-events:none}.fff-glow--top{top:-16rem}.fff-glow--bottom{bottom:-20rem}.fff-nav{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--fff-line);background:rgba(255,255,255,.82);backdrop-filter:blur(12px)}.fff-nav__bar{position:relative;max-width:68rem;height:4rem;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;gap:1.75rem}.fff-nav__logo{margin-right:auto;display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;letter-spacing:-.01em}.fff-nav__mark{width:.7rem;height:.7rem;border-radius:999px;background:var(--fff-green);box-shadow:0 0 0 4px rgba(124,214,126,.25)}.fff-nav__links{display:none;align-items:center;gap:1.75rem}.fff-nav__links a{font-size:.84rem;color:var(--fff-muted);transition:color .15s ease}.fff-nav__links a:hover{color:var(--fff-ink)}.fff-nav__cta{display:none;padding:.5rem 1rem;border-radius:999px;background:var(--fff-ink);color:#fff!important;font-size:.8rem;font-weight:500}.fff-nav__toggle{display:inline-flex;padding:.45rem;border:1px solid var(--fff-line);border-radius:.6rem;background:#fff;color:var(--fff-ink);cursor:pointer}@container (min-width: 820px){.fff-nav__cta,.fff-nav__links{display:flex}.fff-nav__cta-mobile,.fff-nav__toggle{display:none}}@container (max-width: 819px){.fff-nav__links.is-open{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1rem;border-bottom:1px solid var(--fff-line);background:#fff}.fff-nav__links.is-open a{padding:.85rem 0;border-bottom:1px solid var(--fff-line);font-size:.95rem;color:var(--fff-ink)}.fff-nav__links.is-open .fff-nav__cta-mobile{border-bottom:0;color:var(--fff-green-deep);font-weight:600}}.fff-hero{position:relative;max-width:44rem;margin:0 auto;padding:3.5rem 1.25rem 4.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.fff-hero__photo{width:7.5rem;height:9.5rem;object-fit:cover;border-radius:.6rem;border:4px solid #fff;box-shadow:0 16px 40px rgba(47,158,68,.2);transform:rotate(-2deg)}.fff-hero__title{margin:2rem 0 0;display:flex;flex-direction:column;align-items:center;gap:.15em;font-size:clamp(1.9rem,6cqi,2.75rem);font-weight:500;line-height:1.2;letter-spacing:-.02em}.fff-hero__title mark{padding:0 .35em .05em;border-radius:999px;background:var(--fff-green);color:var(--fff-ink)}.fff-btn{margin-top:2rem;display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1.2rem;border-radius:999px;background:var(--fff-ink);color:#fff!important;font-size:.82rem;font-weight:500;transition:transform .15s ease}.fff-btn:hover{transform:translateY(-2px)}.fff-btn__dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--fff-green);box-shadow:0 0 0 3px rgba(124,214,126,.3)}.fff-section{position:relative;max-width:68rem;margin:0 auto;padding:3.5rem 1.25rem}.fff-head{margin-bottom:2.25rem;text-align:center}.fff-eyebrow{margin:0 0 .4rem;font-size:.72rem;color:var(--fff-muted)}.fff-eyebrow:before{content:"[ ";color:var(--fff-green-deep)}.fff-eyebrow:after{content:" ]";color:var(--fff-green-deep)}.fff-head h2{margin:0;font-size:clamp(1.4rem,4cqi,1.75rem);font-weight:500;letter-spacing:-.01em}.fff-works{display:grid;grid-template-columns:1fr;gap:2.25rem 1.5rem}@container (min-width: 640px){.fff-works{grid-template-columns:repeat(2,1fr)}}@container (min-width: 960px){.fff-works{grid-template-columns:repeat(3,1fr)}}.fff-work{display:block}.fff-work__media{aspect-ratio:4/3;overflow:hidden;border-radius:.75rem;background:var(--fff-soft);box-shadow:0 20px 40px -24px rgba(0,0,0,.3)}.fff-work__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.fff-work:hover .fff-work__media img{transform:scale(1.04)}.fff-work__meta{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.75rem}.fff-work__meta strong{font-size:.86rem;font-weight:600}.fff-work__meta span{font-size:.74rem;color:var(--fff-muted)}.fff-more{margin:2.5rem auto 0;display:flex;width:fit-content;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500}.fff-more:hover{color:var(--fff-green-deep)}.fff-offer{margin:0;padding:0;list-style:none}.fff-offer li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;padding:.85rem 0;border-bottom:1px solid var(--fff-line)}.fff-offer__name{font-size:.9rem;font-weight:500}.fff-offer__name small{margin-right:.35rem;font-size:.74rem;color:var(--fff-muted)}.fff-offer__tags{font-size:.72rem;color:var(--fff-muted);white-space:pre}.fff-jobs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1.1rem}.fff-job{display:grid;grid-template-columns:auto 1fr;gap:.35rem .85rem;align-items:center}@container (min-width: 520px){.fff-job{grid-template-columns:auto 1fr auto}}.fff-job__logo{grid-row:span 2;width:2.25rem;height:2.25rem;border-radius:.4rem;object-fit:cover}@container (min-width: 520px){.fff-job__logo{grid-row:auto}}.fff-job__logo--initials{display:inline-flex;align-items:center;justify-content:center;background:#e3f6e3;color:var(--fff-green-deep);font-size:.72rem;font-weight:600}.fff-job__main strong,.fff-job__side strong{display:block;font-size:.82rem;font-weight:600}.fff-job__main span,.fff-job__side span{display:block;font-size:.72rem;color:var(--fff-muted)}.fff-job__side em{font-style:normal;font-weight:400;color:var(--fff-muted)}@container (min-width: 520px){.fff-job__side{text-align:right}}.fff-hobbies{max-width:46rem;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}@container (min-width: 560px){.fff-hobbies{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.5rem}}.fff-hobby{position:relative;margin:0;aspect-ratio:3/4;overflow:hidden;border:4px solid #fff;border-radius:.75rem;background:var(--fff-soft);box-shadow:0 14px 30px -14px rgba(0,0,0,.35);transition:transform .25s ease}.fff-hobby:nth-child(odd){transform:rotate(-4deg)}.fff-hobby:nth-child(2n){transform:rotate(3deg) translateY(.4rem)}.fff-hobby:hover{z-index:1;transform:rotate(0) scale(1.05)}.fff-hobby img{width:100%;height:100%;object-fit:cover}.fff-hobby figcaption{position:absolute;left:50%;bottom:.6rem;transform:translateX(-50%);padding:.2rem .6rem;border-radius:999px;background:rgba(255,255,255,.85);font-size:.68rem;font-weight:600;white-space:nowrap}.fff-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}@container (min-width: 560px){.fff-stats{grid-template-columns:repeat(4,1fr)}}.fff-stat{padding:1rem;border-radius:.75rem;background:var(--fff-soft)}.fff-stat strong{display:block;font-size:1.5rem;font-weight:500}.fff-stat span{margin-top:.75rem;display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--fff-muted)}.fff-stat span svg{color:var(--fff-green-deep)}.fff-cta{position:relative;padding:5rem 1.25rem 6rem;text-align:center}.fff-cta h2{position:relative;margin:0;font-size:clamp(1.9rem,6cqi,2.6rem);font-weight:500;line-height:1.2;letter-spacing:-.02em}.fff-cta__btn{position:relative;margin:2.25rem auto 0;display:flex;align-items:center;justify-content:center;width:6.5rem;height:6.5rem;border-radius:999px;background:var(--fff-green);font-size:.8rem;font-weight:600;transition:transform .2s ease}.fff-cta__btn:hover{transform:scale(1.08)}.fff-footer{position:relative;padding:2.5rem 1.25rem 2rem;background:var(--fff-ink);color:#fff;text-align:center}.fff-footer__brand{margin:0;font-size:1.1rem;font-weight:600;letter-spacing:.04em}.fff-footer__links{margin-top:1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem}.fff-footer__links a{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:#cfd2ce}.fff-footer__links a:hover{color:var(--fff-green)}.fff-footer__line{margin:1.5rem 0 0;font-size:.72rem;color:#9a9e99}.fff-footer__line a{color:#fff;font-weight:600}.ffh{--ffh-green:#19c113;--ffh-bg:#000;--ffh-card:#1e1e1e;--ffh-text:#e6e6e6;--ffh-muted:rgba(255,255,255,0.7);container-type:inline-size;min-height:100%;background:var(--ffh-bg) url(/portfolio-templates/ff-hacker/cursor.gif) no-repeat fixed -92px 0;color:var(--ffh-text);font-family:var(--ff-font-code),"Source Code Pro",ui-monospace,monospace;line-height:1.5}.ffh *,.ffh :after,.ffh :before{box-sizing:border-box}.ffh a{color:inherit;text-decoration:none}.ffh a,.ffh h1,.ffh h2,.ffh h3,.ffh p,.ffh small{font-family:var(--ff-font-code),"Source Code Pro",ui-monospace,monospace}.ffh-wrap{width:100%;max-width:1185px;margin:0 auto;padding:0 12px}.ffh-hero{min-height:100vh;display:flex;align-items:center}.ffh-hero .ffh-wrap>*{max-width:600px}.ffh-name{margin:0 0 8px;font-size:clamp(2.6rem,9cqi,6rem);font-weight:300;line-height:1.05;letter-spacing:-.015em;color:var(--ffh-green)}.ffh-caret{display:inline-block;width:.5em;height:.85em;margin-left:.12em;vertical-align:-.05em;background:var(--ffh-green);animation:ffh-blink 1.05s steps(1) infinite}@keyframes ffh-blink{50%{opacity:0}}.ffh-role{margin:0 0 16px;font-size:1.5rem;font-weight:400;color:var(--ffh-green)}.ffh-lead{margin:0 0 20px;color:var(--ffh-muted);font-size:1rem}.ffh-nav{display:flex;flex-wrap:wrap;gap:4px;max-width:none!important}.ffh-navbtn{display:inline-flex;align-items:center;height:36px;padding:0 16px;border:1px solid transparent;border-radius:4px;color:var(--ffh-green)!important;font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:background .2s}.ffh-navbtn:hover{background:rgba(25,193,19,.12)}.ffh-navbtn--outlined{border-color:currentColor}.ffh-section{padding:24px 0 48px}.ffh-title{margin:0 0 16px;font-size:2rem;font-weight:400;color:var(--ffh-green)}.ffh-cards{display:flex;flex-direction:column;gap:24px}.ffh-card{display:block;background:var(--ffh-card);border-radius:4px;overflow:hidden;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);transition:box-shadow .25s}.ffh-card:hover{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.ffh-card__title{margin:0;padding:16px 16px 0;font-size:1.5rem;font-weight:400;color:var(--ffh-green)}.ffh-card__text{margin:0;padding:24px 16px 16px;color:var(--ffh-muted);font-size:.875rem;white-space:pre-line}.ffh-card__tag{display:block;padding:6px 16px;background:#272727;text-align:right;color:var(--ffh-green);font-size:.75rem}.ffh-contact{text-align:center}.ffh-contact__line{margin:0 0 8px;font-size:1.15rem;font-weight:400}.ffh-contact__line a:hover{color:var(--ffh-green)}.ffh-contact__links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.ffh-pill{display:inline-flex;align-items:center;height:36px;padding:0 18px;border:1px solid var(--ffh-green);border-radius:999px;color:var(--ffh-green)!important;font-size:.875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.ffh-pill:hover{background:rgba(25,193,19,.12)}.ffh-footer{display:flex;justify-content:flex-end;padding:10px 16px;background:#272727;color:var(--ffh-muted);font-size:.75rem}.ffh-footer a{color:var(--ffh-green)}@container (max-width: 640px){.ffh-hero{min-height:88vh}.ffh-role{font-size:1.2rem}.ffh-title{font-size:1.6rem}.ffh-card__title{font-size:1.2rem}}.ffm{--ffm-blue:#2156f3;--ffm-blue-soft:#c9d6ff;--ffm-ink:#151515;--ffm-muted:#7a7a7a;--ffm-line:#d9d9d6;--ffm-bg:#f1f1ef;--ffm-tile:#262626;--ffm-display:var(--ff-font-fjalla),"Fjalla One","Arial Narrow",sans-serif;font-family:var(--ff-font-inter),"Inter",system-ui,sans-serif;background:var(--ffm-bg);color:var(--ffm-ink);container-type:inline-size;overflow-x:clip}.ffm a{color:inherit;text-decoration:none}.ffm-nav{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--ffm-line);background:rgba(241,241,239,.88);backdrop-filter:blur(12px)}.ffm-nav__bar{position:relative;max-width:68rem;height:4rem;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;gap:1.75rem}.ffm-nav__logo{margin-right:auto;font-family:var(--ffm-display);font-size:1.6rem;letter-spacing:.02em;color:var(--ffm-blue)!important}.ffm-nav__links{display:none;align-items:center;gap:1.75rem}.ffm-nav__links a{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:color .15s ease}.ffm-nav__links a:hover{color:var(--ffm-blue)}.ffm-nav__badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;background:var(--ffm-ink);color:#fff;font-size:.72rem;font-weight:600;white-space:nowrap}.ffm-nav__dot{width:.45rem;height:.45rem;border-radius:999px;background:#3ddc84;box-shadow:0 0 0 3px rgba(61,220,132,.25)}.ffm-nav__menu{display:inline-flex;padding:.45rem;border:1px solid var(--ffm-line);border-radius:.5rem;background:#fff;color:var(--ffm-ink);cursor:pointer}@container (min-width: 820px){.ffm-nav__links{display:flex}.ffm-nav__menu{display:none}}@container (max-width: 819px){.ffm-nav__links.is-open{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1rem;border-bottom:1px solid var(--ffm-line);background:var(--ffm-bg)}.ffm-nav__links.is-open a{padding:.9rem 0;border-bottom:1px solid var(--ffm-line);font-size:.85rem}}@container (max-width: 420px){.ffm-nav__badge{display:none}}.ffm-hero{max-width:68rem;margin:0 auto;padding:3rem 1.25rem 4rem;display:flex;flex-direction:column;align-items:center;text-align:center}.ffm-hero__eyebrow{margin:0 0 1rem;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ffm-muted)}.ffm-hero__name{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;font-family:var(--ffm-display);font-weight:400;font-size:clamp(4.5rem,22cqi,12rem);line-height:.86;letter-spacing:-.01em;text-transform:uppercase;color:var(--ffm-blue)}.ffm-hero__line{display:inline-flex;align-items:center;gap:.08em;white-space:nowrap}.ffm-hero__photo{height:.7em;width:1.05em;flex:none;border-radius:999px;object-fit:cover;border:.03em solid #fff;box-shadow:0 .04em .12em rgba(0,0,0,.18);transform:rotate(-4deg)}.ffm-hero__spark{width:1.4rem;height:1.4rem;margin-top:2.25rem;color:var(--ffm-blue)}.ffm-hero__intro{margin:1.75rem 0 0;max-width:26rem;font-size:1rem;line-height:1.65}.ffm-hero__scroll{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ffm-muted)}.ffm-hero__scroll span{width:1px;height:2.25rem;background:var(--ffm-ink);animation:ffm-scroll 1.8s ease-in-out infinite;transform-origin:top}@keyframes ffm-scroll{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{transform:scaleY(0);transform-origin:bottom}}.ffm-section{max-width:68rem;margin:0 auto;padding:3.5rem 1.25rem}.ffm-section--tight{padding-top:1rem}.ffm-label{display:flex;align-items:center;gap:1rem;margin-bottom:2.25rem}.ffm-label h2{margin:0;font-family:var(--ffm-display);font-weight:400;font-size:1.35rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ffm-blue)}.ffm-label__rule{position:relative;flex:1;height:1px;background:var(--ffm-line)}.ffm-label__rule:after{content:"";position:absolute;right:0;top:-1px;width:2.25rem;height:3px;background:var(--ffm-blue)}.ffm-two{display:grid;grid-template-columns:1fr;gap:1.75rem}@container (min-width: 640px){.ffm-two{grid-template-columns:1fr 1fr;gap:2.5rem}}.ffm-lead{margin:0;font-size:1.05rem;line-height:1.65;color:var(--ffm-muted)}.ffm-body{margin:0;font-size:.86rem;line-height:1.7}.ffm-tools{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.ffm-tool{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-radius:.35rem;background:var(--ffm-blue);color:#fff;transition:transform .2s ease}.ffm-tool:hover{transform:translateX(4px)}.ffm-tool strong{display:block;font-size:1.05rem;font-weight:600}.ffm-tool span{display:block;margin-top:.15rem;font-size:.72rem;opacity:.8}.ffm-tool em{font-family:var(--ffm-display);font-style:normal;font-size:2rem;color:var(--ffm-blue-soft);opacity:.85}.ffm-projects{display:grid;grid-template-columns:1fr;gap:1rem}@container (min-width: 520px){.ffm-projects{grid-template-columns:1fr 1fr}}.ffm-project{position:relative;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:.25rem;background:radial-gradient(circle at 30% 20%,#3a3a3a 0,var(--ffm-tile) 60%,#1b1b1b 100%);color:#fff}.ffm-project__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ffm-project__icon,.ffm-project__img{transition:transform .4s ease}.ffm-project:hover .ffm-project__icon,.ffm-project:hover .ffm-project__img{transform:scale(1.06)}.ffm-project__title{position:absolute;left:.9rem;bottom:.8rem;padding:.25rem .6rem;border-radius:999px;background:rgba(0,0,0,.55);font-size:.72rem;font-weight:600;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}.ffm-project:focus-visible .ffm-project__title,.ffm-project:hover .ffm-project__title{opacity:1;transform:none}.ffm-entries{display:grid;grid-template-columns:1fr;column-gap:2.5rem}@container (min-width: 640px){.ffm-entries{grid-template-columns:1fr 1fr}}.ffm-entry{padding:1.5rem 0;border-bottom:1px solid var(--ffm-line)}.ffm-entry h3{margin:0;font-size:.92rem;font-weight:600}.ffm-entry__meta{margin:.45rem 0 0;font-size:.74rem;line-height:1.6;color:var(--ffm-muted)}.ffm-entry__text{margin:.9rem 0 0;font-size:.82rem;line-height:1.65}.ffm-stats{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr)}.ffm-stats--grid{margin-top:0;row-gap:2rem}.ffm-stat{padding:0 1rem;border-left:1px solid var(--ffm-line)}.ffm-stat:nth-child(3n+1){padding-left:0;border-left:0}.ffm-stat strong{font-family:var(--ffm-display);font-weight:400;font-size:clamp(2rem,7cqi,2.75rem);line-height:1}.ffm-stat span,.ffm-stat strong{display:block;color:var(--ffm-blue)}.ffm-stat span{margin-top:.45rem;font-size:.72rem}.ffm-tickers{padding:1.5rem 0;display:flex;flex-direction:column;gap:.25rem}.ffm-ticker{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ffm-ticker__track{display:flex;width:max-content;animation:ffm-ticker 28s linear infinite}.ffm-ticker--outline .ffm-ticker__track{animation-direction:reverse}.ffm-ticker__run{display:flex;align-items:center;flex:none}.ffm-ticker__run span{padding:0 .35em;font-family:var(--ffm-display);font-size:clamp(2.75rem,10cqi,5rem);line-height:1.05;text-transform:uppercase;white-space:nowrap;color:var(--ffm-blue)}.ffm-ticker--outline .ffm-ticker__run span{color:var(--ffm-blue-soft)}.ffm-ticker__spark{flex:none;width:1.1rem;height:1.1rem;margin:0 .6rem;color:var(--ffm-line)}@keyframes ffm-ticker{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.ffm-hero__scroll span,.ffm-ticker__track{animation:none}}.ffm-posts{margin:0;padding:0;list-style:none}.ffm-post{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title tag" "date tag";align-items:center;column-gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--ffm-line);transition:color .15s ease}a.ffm-post:hover .ffm-post__title{color:var(--ffm-blue)}.ffm-post__title{grid-area:title;font-size:.88rem;font-weight:600}.ffm-post__date{grid-area:date;margin-top:.2rem;font-size:.72rem;color:var(--ffm-muted)}.ffm-post__tag{grid-area:tag;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ffm-blue)}@container (min-width: 640px){.ffm-post{grid-template-columns:1fr 8rem 5rem;grid-template-areas:"title date tag"}.ffm-post__date{margin-top:0}.ffm-post__date,.ffm-post__tag{text-align:right}}.ffm-contact__text{margin:0;font-size:1.05rem;line-height:1.6}.ffm-contact__meta{margin:1.5rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem;font-size:.82rem}.ffm-contact__meta li{display:inline-flex;align-items:center;gap:.35rem;color:var(--ffm-muted)}.ffm-contact__meta a{color:var(--ffm-blue)}.ffm-contact__actions{display:flex;flex-direction:column;gap:.6rem}.ffm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.25rem;border-radius:.35rem;background:var(--ffm-blue);color:#fff!important;font-size:.9rem;font-weight:600;transition:background .15s ease}.ffm-btn:hover{background:#1846d1}.ffm-social{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border:1px solid var(--ffm-line);border-radius:.35rem;background:#fff;font-size:.85rem;font-weight:500;transition:border-color .15s ease}.ffm-social span{flex:1}.ffm-social:hover{border-color:var(--ffm-blue);color:var(--ffm-blue)}.ffm-footer{padding:2rem 0 1.5rem}.ffm-footer .ffm-ticker__run span{font-size:clamp(3.5rem,16cqi,8rem)}.ffm-footer__line{margin-top:1.25rem;padding:0 1.25rem;text-align:center;font-size:.74rem;color:var(--ffm-muted)}.ffm-footer__line a{color:var(--ffm-ink);font-weight:600}@container (max-width: 480px){.ffm-hero{padding:2.25rem 1rem 3rem}.ffm-section{padding:2.75rem 1rem}.ffm-stats--grid{grid-template-columns:repeat(2,1fr)}.ffm-stats--grid .ffm-stat:nth-child(3n+1){padding-left:1rem;border-left:1px solid var(--ffm-line)}.ffm-stats--grid .ffm-stat:nth-child(odd){padding-left:0;border-left:0}.ffm-tool em{font-size:1.6rem}}.ffi{--ffi-navy:#2a3749;--ffi-amber:#e4a109;--ffi-light:#f9f9f9;--ffi-muted:#a2acbd;container-type:inline-size;min-height:100%;background:var(--ffi-light);color:var(--ffi-muted);font-family:var(--ff-font-poppins),"Poppins",system-ui,sans-serif;font-size:15px;font-weight:500;line-height:1.6}.ffi *,.ffi :after,.ffi :before{box-sizing:border-box}.ffi a{color:inherit;text-decoration:none}.ffi h1,.ffi h2,.ffi h3,.ffi p,.ffi ul{margin:0;font-family:var(--ff-font-poppins),"Poppins",system-ui,sans-serif}.ffi ul{padding:0;list-style:none}.ffi-wrap{width:calc(100% - 2rem);max-width:1024px;margin:0 auto}.ffi-header{position:sticky;top:0;z-index:50;background:var(--ffi-navy)}.ffi-nav{position:relative;display:flex;align-items:center;justify-content:space-between;height:4.5rem}.ffi-logo,.ffi-toggle{color:var(--ffi-light)!important;font-size:1.2rem;font-weight:900;cursor:pointer;transition:color .3s}.ffi-logo:hover,.ffi-toggle:hover{color:var(--ffi-amber)!important}.ffi-toggle{display:none;border:0;background:none}.ffi-nav__list{display:flex;gap:1.5rem}.ffi-nav__list a{color:var(--ffi-light);transition:color .3s}.ffi-nav__list a:hover{color:var(--ffi-amber);text-decoration:underline}.ffi-home{margin-bottom:4rem;background:var(--ffi-navy);overflow:hidden}.ffi-home__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;min-height:calc(100vh - 4.5rem);padding:3rem 0}.ffi-greeting{display:block;margin-bottom:.3rem;font-size:1.25rem;font-weight:700;color:var(--ffi-muted)}.ffi-title{padding:.5rem 0 1rem;color:var(--ffi-amber);font-size:4.2rem;font-weight:900;line-height:2rem}.ffi-career{margin-bottom:2rem!important;color:var(--ffi-amber);font-size:1.2rem}.ffi-description{color:var(--ffi-muted);font-size:1rem}.ffi-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.ffi-download,.ffi-hire{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.5rem;border:1px solid var(--ffi-amber);border-radius:10px;font-weight:500;cursor:pointer;transition:.3s}.ffi-hire{background:var(--ffi-amber);color:var(--ffi-navy)!important}.ffi-download,.ffi-hire:hover{background:var(--ffi-navy);color:var(--ffi-amber)!important}.ffi-download:hover{background:var(--ffi-amber);color:var(--ffi-navy)!important}.ffi-download--light{background:transparent;color:var(--ffi-navy)!important}.ffi-social{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:4rem}.ffi-social a{color:var(--ffi-light);transition:color .3s}.ffi-social a:hover{color:var(--ffi-amber)}.ffi-home__img{display:flex;justify-content:center}.ffi-home__img img{max-width:380px;width:100%;height:auto;filter:drop-shadow(1rem .8rem 2rem rgba(7,7,7,.76))}.ffi-home__placeholder{display:grid;place-items:center;width:min(340px,100%);aspect-ratio:3/4;border-radius:999px 999px 24px 24px;background:linear-gradient(160deg,rgba(228,161,9,.9),rgba(228,161,9,.25));box-shadow:1rem .8rem 2rem rgba(7,7,7,.5);color:var(--ffi-navy);font-size:5rem;font-weight:900}.ffi-section{padding:2rem 0 4rem}.ffi-h2{position:relative;margin-bottom:1.5rem!important;padding-top:2rem;color:var(--ffi-navy);font-size:2rem;font-weight:600;letter-spacing:.1rem;text-align:center}.ffi-h2:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;width:56px;height:.15rem;margin:auto;background:var(--ffi-amber)}.ffi-subtitle{margin:1.8rem auto!important;max-width:640px;padding:0 1rem;color:var(--ffi-navy);font-size:1rem;text-align:center}.ffi-services{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.ffi-service{display:grid;justify-items:center;padding:2rem 1rem;border-radius:.5rem;background:var(--ffi-navy);box-shadow:0 2px 5px rgba(199,195,195,.3);text-align:center;transition:.4s}.ffi-service__img{display:grid;place-items:center;width:230px;max-width:100%;margin-bottom:3rem;color:var(--ffi-amber)}.ffi-service__img img{display:block;width:100%;height:auto}.ffi-service__img svg{margin:40px 0}.ffi-service h3{margin-bottom:.5rem!important;color:var(--ffi-amber);font-weight:600}.ffi-service p{color:var(--ffi-light)}.ffi-carousel{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.ffi-carousel::-webkit-scrollbar{display:none}.ffi-slide{display:grid;justify-items:center;flex:0 0 100%;padding:1.5rem 1rem;border-radius:.5rem;background:var(--ffi-navy);box-shadow:0 2px 5px rgba(199,195,195,.3);text-align:center;scroll-snap-align:start}.ffi-slide h3{margin-bottom:1rem!important;color:var(--ffi-amber);font-size:1.5rem;font-weight:600}.ffi-slide__img{width:min(550px,100%);margin-bottom:1.5rem}.ffi-slide__img img{display:block;width:100%;border-radius:8px;box-shadow:0 4.4px 10px rgba(0,0,0,.135),0 14.6px 33.4px rgba(0,0,0,.194),0 35px 80px rgba(0,0,0,.27)}.ffi-slide__placeholder{display:grid;place-items:center;width:100%;aspect-ratio:16/9;border-radius:8px;background:#fff;color:#aaa;font-size:2.2rem;font-weight:300;letter-spacing:.04em}.ffi-slide p{max-width:640px;margin-bottom:1.5rem!important;color:var(--ffi-light)}.ffi-slide__link{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.5rem 1rem;border:1px solid var(--ffi-amber);border-radius:8px;color:var(--ffi-amber)!important;font-size:1rem;transition:.3s}.ffi-slide__link:hover{background:var(--ffi-amber);color:var(--ffi-navy)!important}.ffi-dots{display:flex;justify-content:center;gap:8px;margin-top:1rem}.ffi-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--ffi-muted);cursor:pointer}.ffi-dot.is-active{background:var(--ffi-amber)}.ffi-contact{text-align:center}.ffi-contact__links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.ffi-footer{padding:2rem 1rem;background:var(--ffi-navy);color:var(--ffi-amber);text-align:center;font-weight:300}.ffi-footer a{text-decoration:underline}@container (max-width: 767px){.ffi-title{font-size:3rem}.ffi-toggle{display:inline-flex}.ffi-nav__list{position:absolute;top:100%;left:-1rem;right:-1rem;display:none;flex-direction:column;gap:1.5rem;padding:1.5rem 0;border-radius:0 0 1rem 1rem;background:var(--ffi-navy);text-align:center}.ffi-nav__list.is-open{display:flex}.ffi-home__grid{grid-template-columns:1fr;min-height:0}.ffi-social{margin-top:2rem}.ffi-services{grid-template-columns:1fr}.ffi-h2{font-size:1.5rem}}.ffg{--ffg-primary:#ff6c4d;--ffg-dark:#0b0a15;container-type:inline-size;min-height:100%;background:var(--ffg-dark);color:#000;font-family:var(--ff-font-martel),"Martel",Georgia,serif;line-height:1.778}.ffg *,.ffg :after,.ffg :before{box-sizing:border-box}.ffg a{color:inherit;text-decoration:none}.ffg h1,.ffg h4,.ffg ul{margin:0;padding:0}.ffg ul{list-style:none}.ffg h1,.ffg h4,.ffg-btn,.ffg-item__cat,.ffg-item__links,.ffg-logo,.ffg-nav a{font-family:var(--ff-font-roboto-mono),"Roboto Mono",ui-monospace,monospace}.ffg-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:24px;height:80px;padding:0 4%;background:rgba(5,5,5,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ffg-logo{display:grid;place-items:center;height:44px;min-width:44px;color:#fff!important}.ffg-logo img{height:44px;width:auto}.ffg-logo img[src$="/ff-ingolfur/logo.svg"]{filter:invert(1)}.ffg-logo span{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--ffg-primary);font-size:15px;font-weight:600;letter-spacing:.08em}.ffg-header__content{display:flex;align-items:center;justify-content:space-between;gap:32px;flex:1}.ffg-nav{display:flex;gap:8px}.ffg-nav a{margin:0 10px;color:rgba(255,255,255,.45)!important;font-size:13px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;transition:color .2s}.ffg-btn,.ffg-nav a.is-active,.ffg-nav a:hover{color:#fff!important}.ffg-btn{display:inline-flex;align-items:center;height:44px;padding:0 22px;border:2px solid #fff;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;transition:background .2s,color .2s}.ffg-btn:hover{background:#fff;color:#000!important}.ffg-toggle{display:none;margin-left:auto;border:0;background:none;color:#fff;cursor:pointer}.ffg-hero{position:relative;display:flex;align-items:center;min-height:max(820px,100vh);margin-top:-80px;padding:140px 8% 80px;background-size:cover;background-position:50%;overflow:hidden}.ffg-hero--plain{background:radial-gradient(ellipse at 75% 30%,rgba(255,108,77,.35),transparent 55%),radial-gradient(ellipse at 20% 85%,rgba(56,74,160,.45),transparent 60%),linear-gradient(160deg,#1b1a2e,#0b0a15 70%)}.ffg-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 10%,rgba(0,0,0,0));opacity:.35}.ffg-hero__content{position:relative;max-width:820px;padding-left:108px}.ffg-hero h1{position:relative;color:#fff;font-size:clamp(2rem,4.7cqi,4rem);font-weight:400;line-height:1.257}.ffg-hero h1:before{content:"";position:absolute;left:-108px;top:.62em;width:80px;height:2px;background:var(--ffg-primary)}.ffg-social{display:flex;flex-wrap:wrap;gap:36px;margin-top:48px!important}.ffg-social a{display:inline-flex;color:#fff!important;transition:color .2s}.ffg-social a:hover{color:var(--ffg-primary)!important;opacity:1}.ffg-portfolio{position:relative;padding:240px 8%;background:#fff}.ffg-display{margin-bottom:110px!important;color:var(--ffg-primary);font-size:clamp(2rem,4cqi,3rem);font-weight:400;letter-spacing:.4em;line-height:1.286;text-transform:uppercase}.ffg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:1240px;margin:0 auto}.ffg-item{border-radius:8px}.ffg-item,.ffg-item__thumb{position:relative;overflow:hidden}.ffg-item__thumb{aspect-ratio:16/9}.ffg-item__placeholder,.ffg-item__thumb img{display:block;width:100%;height:100%;object-fit:cover}.ffg-item__placeholder{display:grid;place-items:center;color:rgba(255,255,255,.75)}.ffg-ph-0{background:linear-gradient(135deg,#f6a58f,#ff6c4d)}.ffg-ph-1{background:linear-gradient(135deg,#7b8bd6,#2c3a80)}.ffg-ph-2{background:linear-gradient(135deg,#6fc3b2,#1f6f63)}.ffg-ph-3{background:linear-gradient(135deg,#e5c07b,#a8742c)}.ffg-item__thumb:before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.8);opacity:0;transition:opacity .3s ease-in-out}.ffg-item__info{position:absolute;top:0;left:0;z-index:2;padding:36px 30px 0;opacity:0;transform:translate3d(0,-100%,0);transition:all .5s cubic-bezier(.215,.61,.355,1)}.ffg-item:hover .ffg-item__thumb:before{opacity:1}.ffg-item:hover .ffg-item__info{opacity:1;transform:translateZ(0)}.ffg-item__cat{color:rgba(255,255,255,.55);font-size:12px;letter-spacing:.15em;text-transform:uppercase}.ffg-item__title{color:#fff;font-size:18px;font-weight:400}.ffg-item__links{position:absolute;left:0;bottom:36px;z-index:3;display:flex;gap:8px;padding:6px 12px;background:#fff;color:#000;font-size:12px;line-height:20px;opacity:0;visibility:hidden;transform:translate3d(-100%,0,0);transition:all .5s cubic-bezier(.215,.61,.355,1)}.ffg-item:focus-within .ffg-item__links,.ffg-item:hover .ffg-item__links{opacity:1;visibility:visible;transform:none}@media (hover:none){.ffg-item__links{opacity:1;visibility:visible;transform:none}}.ffg-item__links a{color:#000!important}.ffg-item__links a:hover{color:var(--ffg-primary)!important}.ffg-top{position:absolute;right:6%;bottom:48px;display:grid;place-items:center;width:52px;height:52px;background:var(--ffg-primary);color:#000!important;transition:transform .2s}.ffg-top:hover{transform:translateY(-3px)}.ffg-footer{padding:28px 8%;background:var(--ffg-dark);color:rgba(255,255,255,.55);font-size:14px;text-align:center}.ffg-footer a{color:var(--ffg-primary)!important}@container (max-width: 900px){.ffg-hero__content{padding-left:0}.ffg-hero h1:before{position:static;display:block;margin-bottom:24px}}@container (max-width: 760px){.ffg-toggle{display:grid;place-items:center}.ffg-header__content{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:center;gap:24px;padding:28px 0 36px;background:rgba(5,5,5,.95)}.ffg-header__content.is-open{display:flex}.ffg-nav{flex-direction:column;align-items:center;gap:18px}.ffg-grid{grid-template-columns:1fr}.ffg-portfolio{padding:120px 6%}}