.fwtn-portfolio{position:relative;overflow:hidden;background:#0a0a0a;color:#fff;padding:clamp(4rem,7.4vw,5.8rem) 0}
.fwtn-portfolio__bg{position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0a 0%,rgba(0,0,0,.2) 50%,#0a0a0a 100%),url("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1600&q=80") center/cover no-repeat;opacity:.25}
.fwtn-portfolio__orb{position:absolute;border-radius:999px;filter:blur(150px)}
.fwtn-portfolio__orb--one{top:28%;right:-4%;width:min(700px,60vw);aspect-ratio:1;background:rgba(76,43,124,.15)}
.fwtn-portfolio__orb--two{bottom:20%;left:-4%;width:min(600px,52vw);aspect-ratio:1;background:rgba(107,63,160,.12)}
.fwtn-portfolio__container{position:relative;z-index:1;width:min(96vw,1440px);margin:0 auto}
.fwtn-portfolio__head{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:clamp(2rem,5vw,5rem)}
.fwtn-portfolio__eyebrow{display:inline-flex;padding:.62rem 1.15rem;border-radius:9999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#6b3fa0;font-size:.875rem}
.fwtn-portfolio__title{display:block;margin:1rem 0 0;font-size:clamp(2rem,5vw,4.4rem);line-height:1.08;color:#fff}
.fwtn-portfolio__title span{display:block}
.fwtn-portfolio__title .is-accent{margin-top:.2rem;background:linear-gradient(90deg,#6b3fa0,#8b5cf6,#6b3fa0);-webkit-background-clip:text;background-clip:text;color:transparent}
.fwtn-portfolio__subtitle{margin:.8rem 0 0;max-width:34ch;color:rgba(255,255,255,.62);font-size:clamp(1rem,1.7vw,1.35rem);line-height:1.35}
.fwtn-portfolio__cta{display:inline-flex;align-items:center;gap:.45rem;min-height:68px;padding:0 2rem;border-radius:24px;color:#fff;text-decoration:none;font-weight:600;background:linear-gradient(180deg,#5a3589,#4c2b7c);box-shadow:0 12px 40px rgba(76,43,124,.6), inset 0 2px 0 rgba(255,255,255,.25)}
.fwtn-portfolio__grid{display:grid;grid-template-columns:1fr;gap:1.4rem}
.fwtn-project{border-radius:32px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(20px);box-shadow:0 20px 72px rgba(0,0,0,.56),0 8px 24px rgba(0,0,0,.35);transition:transform .32s ease, box-shadow .32s ease}
.fwtn-project:hover{transform:translateY(-6px);box-shadow:0 24px 84px rgba(0,0,0,.62),0 10px 28px rgba(76,43,124,.2)}
.fwtn-project__media{position:relative;height:242px;overflow:hidden}
.fwtn-project__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.fwtn-project:hover .fwtn-project__media img{transform:scale(1.04)}
.fwtn-project__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.58) 100%)}
.fwtn-project__badge{position:absolute;top:14px;left:14px;z-index:2;padding:.35rem .7rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-size:.72rem;line-height:1}
.fwtn-project__body{padding:1rem 1.15rem 1.05rem}
.fwtn-project__body h3{margin:0 0 .45rem;font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.08;letter-spacing:-.01em}
.fwtn-project__body p{margin:0;color:rgba(255,255,255,.64);font-size:.92rem;line-height:1.48;max-width:42ch}
.fwtn-project__line{margin:.34rem 0 0;color:rgba(255,255,255,.72);font-size:.94rem;line-height:1.46;max-width:none}
.fwtn-project__line:first-of-type{margin-top:.1rem}
.fwtn-project__line strong{display:inline;color:#e9dcff;font-weight:700}
.fwtn-project__line span{color:rgba(255,255,255,.8)}
.fwtn-project__tech{margin-top:.55rem;font-size:.8rem;color:rgba(255,255,255,.48)}
.fwtn-project__result{margin-top:.78rem;padding-top:.78rem;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:center}
.fwtn-project__result span{font-size:.86rem;color:rgba(255,255,255,.62)}
.fwtn-project__result b{font-size:1.25rem;line-height:1;color:#8d4ce8;font-weight:600}
.fwtn-pr{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.fwtn-pr-2{transition-delay:.12s}.fwtn-pr-3{transition-delay:.24s}
.fwtn-portfolio-reveal.is-in .fwtn-pr{opacity:1;transform:translateY(0)}
@media (min-width:1024px){.fwtn-portfolio__head{flex-direction:row;justify-content:space-between;align-items:flex-end}.fwtn-portfolio__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}}

@media (max-width:767.98px){
  .fwtn-portfolio{padding:clamp(4.2rem,11.8vw,5.8rem) 0}
  .fwtn-portfolio__head{gap:1.2rem;margin-bottom:1.7rem}
  .fwtn-portfolio__grid{gap:1.1rem}
  .fwtn-project{border-radius:18px}
  .fwtn-project__media{height:210px}
  .fwtn-project__body{padding:1rem .95rem 1rem}
}
