.portfolio{background:#fef8f6;padding:2rem 4rem 5rem}.portfolio [data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--reveal-index,0) * 90ms);will-change:opacity, transform;transform:translateY(24px)}.portfolio [data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.portfolio [data-reveal],.portfolio [data-reveal].is-visible{opacity:1;transition:none;transform:none}}.portfolio__header{text-align:center;max-width:640px;margin:0 auto 3rem}.portfolio__heading{color:#1f1f1f;letter-spacing:-.02em;margin:0 0 .75rem;font-family:Inter,sans-serif;font-size:2.25rem;font-weight:800;line-height:1.2}.portfolio__subheading{color:#7e7e7e;margin:0;font-family:Inter,sans-serif;font-size:1.1rem;line-height:1.6}.portfolio__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto;display:grid}.portfolio__card{background:#fff;border-radius:16px;transition:box-shadow .2s,transform .2s;overflow:hidden;box-shadow:0 1px 4px #0000000f,0 4px 16px #0000000a}.portfolio__card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #00000014,0 8px 24px #0000000f}.portfolio__card-body{padding:1.5rem 1.75rem 1.75rem}.portfolio__card-top{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.portfolio__card-title{color:#1f1f1f;margin:0;font-family:Inter,sans-serif;font-size:1.15rem;font-weight:700;line-height:1.3}.portfolio__card-year{color:#7e7e7e;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500}.portfolio__card-desc{color:#7e7e7e;margin:0 0 1rem;font-family:Inter,sans-serif;font-size:.95rem;line-height:1.6}.portfolio__tags{flex-wrap:wrap;gap:.5rem;display:flex}.portfolio__tag{border-radius:50px;padding:.25rem .65rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;line-height:1.4}.portfolio__tag--coral{color:#f16b5c;background:#f16b5c1f}.portfolio__tag--green{color:#2f9e5a;background:#48bb781f}.portfolio__tag--blue{color:#3b78db;background:#4285f41f}.portfolio__tag--amber{color:#d4940a;background:#eaaa3c1f}.portfolio__mockup{border-radius:16px 16px 0 0;padding:.75rem .75rem 0}.portfolio__mockup-bar{background:#ffffffb3;border-radius:8px 8px 0 0;align-items:center;gap:.35rem;padding:.5rem .6rem;display:flex}.portfolio__dot{background:#d1d1d1;border-radius:50%;width:7px;height:7px}.portfolio__url-bar{background:#0000000d;border-radius:4px;flex:1;height:14px;margin-left:.5rem}.portfolio__mockup-body{background:#fff;flex-direction:column;gap:.5rem;min-height:130px;padding:.75rem;display:flex}.portfolio__mockup-body--image{min-height:0;padding:0;overflow:hidden}.portfolio__mockup-img{width:100%;height:auto;display:block}.portfolio__mockup-nav{border-radius:4px;width:100%;height:8px}.portfolio__mockup-hero{border-radius:6px;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1rem .75rem;display:flex}.portfolio__mockup-heading{border-radius:3px;width:60%;height:10px}.portfolio__mockup-text{border-radius:3px;width:80%;height:6px}.portfolio__mockup-grid{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.portfolio__mockup-block{border-radius:4px;height:28px}.portfolio__cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;margin-top:2.5rem;display:flex}.portfolio__cta-link{color:#f16b5c;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:color .2s}.portfolio__cta-link:hover{color:#e05a4a}.portfolio__arrow{transition:transform .2s;display:inline-block}.portfolio__cta-link:hover .portfolio__arrow{transform:translate(4px)}@media (max-width:900px){.portfolio{padding:3.5rem 2rem}.portfolio__grid{grid-template-columns:repeat(2,1fr)}.portfolio__heading{font-size:1.85rem}}@media (max-width:600px){.portfolio{padding:2.5rem 1.25rem}.portfolio__grid{grid-template-columns:1fr;gap:1.25rem}.portfolio__heading{font-size:1.5rem}.portfolio__card-body{padding:1.25rem 1.25rem 1.5rem}}
.process{background:#fff;padding:5rem 4rem}.process__header{text-align:center;max-width:640px;margin:0 auto 3.5rem}.process__heading{color:#1f1f1f;letter-spacing:-.02em;margin:0 0 .75rem;font-family:Inter,sans-serif;font-size:2.25rem;font-weight:800;line-height:1.2}.process__subheading{color:#7e7e7e;margin:0;font-family:Inter,sans-serif;font-size:1.1rem;line-height:1.6}.process__timeline{grid-template-columns:repeat(5,1fr);gap:0;max-width:1100px;margin:0 auto;display:grid}.process__step{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.process__indicator{justify-content:center;align-items:center;width:100%;margin-bottom:1.25rem;display:flex;position:relative}.process__number{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-family:Inter,sans-serif;font-size:1.05rem;font-weight:800;display:flex;position:relative}.process__number--coral{color:#f16b5c;background:#f16b5c1f}.process__number--amber{color:#d4940a;background:#eaaa3c1f}.process__number--green{color:#2f9e5a;background:#48bb781f}.process__number--blue{color:#3b78db;background:#4285f41f}.process__connector{transform-origin:0;background:#eaeaea;height:2px;position:absolute;top:50%;left:calc(50% + 30px);right:calc(30px - 50%);transform:translateY(-50%)scaleX(0)}@keyframes connector-draw{0%{transform:translateY(-50%)scaleX(0)}to{transform:translateY(-50%)scaleX(1)}}.process__timeline.is-visible .process__connector{animation:.7s cubic-bezier(.33,1,.68,1) forwards connector-draw;animation-delay:calc(var(--step-index) * .35s + .5s)}.process__connector--dashed{background:0 0;border-top:2px dashed #d4d4d4;height:0;transform:translateY(0)scaleX(0)}@keyframes connector-draw-dashed{0%{transform:translateY(0)scaleX(0)}to{transform:translateY(0)scaleX(1)}}.process__timeline.is-visible .process__connector--dashed{animation:.7s cubic-bezier(.33,1,.68,1) forwards connector-draw-dashed;animation-delay:calc(var(--step-index) * .35s + .5s)}.process__content{padding:0 .5rem}.process__step-title{color:#1f1f1f;margin:0 0 .4rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:700;line-height:1.3}.process__title-row{justify-content:center;align-items:center;gap:.5rem;display:flex}.process__title-row .process__step-title{margin-bottom:0}.process__optional-badge{color:#7e7e7e;letter-spacing:.02em;white-space:nowrap;background:#f2f2f2;border-radius:50px;padding:.15rem .5rem;font-family:Inter,sans-serif;font-size:.65rem;font-weight:600}.process__optional-badge--block{margin-top:.5rem;display:inline-block}.process__optional-badge--inline{display:none}.process__step-desc{color:#7e7e7e;margin:0;font-family:Inter,sans-serif;font-size:.875rem;line-height:1.55}@keyframes step-jump-in{0%{opacity:0;transform:translateY(0)}20%{opacity:1;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}.process__timeline:not(.is-visible) .process__step{opacity:0}.process__timeline.is-visible .process__step{animation:1.4s cubic-bezier(.33,1,.68,1) both step-jump-in;animation-delay:calc(var(--step-index) * .35s);will-change:transform, opacity;backface-visibility:hidden}.process__cta{text-align:center;margin-top:2.5rem}.process__cta-link{color:#f16b5c;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:color .2s}.process__cta-link:hover{color:#e05a4a}.process__arrow{transition:transform .2s;display:inline-block}.process__cta-link:hover .process__arrow{transform:translate(4px)}@media (max-width:900px){.process{padding:3.5rem 2rem}.process__heading{font-size:1.85rem}.process__timeline{grid-template-columns:repeat(3,1fr);gap:2rem 0}.process__step:nth-child(3) .process__connector{display:none}}@keyframes connector-draw-vertical{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (max-width:600px){.process{padding:2.5rem 1.25rem}.process__heading{font-size:1.5rem}.process__timeline{grid-template-columns:1fr;gap:0;max-width:400px}.process__step{text-align:left;flex-direction:row;align-items:stretch;padding-bottom:0}.process__step:last-child{padding-bottom:0}.process__indicator{flex-direction:column;justify-content:flex-start;align-self:stretch;align-items:center;gap:0;width:auto;margin-bottom:0;margin-right:1.25rem}.process__number{flex-shrink:0}.process__connector{transform-origin:top;flex:1;width:2px;height:auto;min-height:0;margin-top:0;position:relative;top:auto;left:auto;right:auto;transform:scaleY(0)}.process__timeline.is-visible .process__connector,.process__timeline.is-visible .process__connector--dashed{animation:.7s cubic-bezier(.33,1,.68,1) forwards connector-draw-vertical;animation-delay:calc(var(--step-index) * .35s + .5s)}.process__connector--dashed{background:repeating-linear-gradient(#d4d4d4 0 6px,#0000 6px 12px);border-top:none;width:2px;height:auto;transform:scaleY(0)}.process__step:nth-child(3) .process__connector{display:block}.process__content{flex:1;padding:.15rem 0 1rem}.process__step:nth-last-child(2) .process__content{padding-bottom:2rem}.process__step:last-child .process__content{padding-bottom:0}.process__title-row{justify-content:flex-start}.process__optional-badge--inline{display:inline-block}.process__optional-badge--block{display:none}}
