.badge{color:#f16b5c;letter-spacing:.02em;background-color:#fdeae7;border-radius:50px;align-items:center;gap:.5rem;width:fit-content;padding:.4rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}
.btn{cursor:pointer;border:none;align-items:center;gap:.5rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex}.btn--primary{color:#fff;background-color:#f16b5c;border-radius:10px;padding:.85rem 1.75rem;box-shadow:0 2px 8px #f16b5c4d}.btn--primary:hover{background-color:#e05a4a;transform:translateY(-1px);box-shadow:0 4px 14px #f16b5c66}.btn--secondary{color:#1f1f1f;background:0 0;border-radius:0;padding:.85rem 0}.btn--secondary:hover{color:#f16b5c}
.arrow-link{color:#f16b5c;align-items:center;gap:.5rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.arrow-link:hover{color:#e05a4a}.arrow-link--muted{color:#1f1f1f;font-weight:500}.arrow-link--muted:hover{color:#f16b5c}.arrow-link__arrow{transition:transform .2s;display:inline-block}.arrow-link:hover .arrow-link__arrow{transform:translate(4px)}
.card{background:#fff;border-radius:16px;width:200px;padding:1.25rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #0000000f}.card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0000001a}.card__icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:.75rem;font-size:1.1rem;display:flex}.card__title{color:#1f1f1f;margin:0 0 .35rem;font-size:.85rem;font-weight:700}.card__description{color:#7e7e7e;margin:0;font-size:.78rem;line-height:1.4}
.avatar-stack{align-items:center;gap:.75rem;display:flex}.avatar-stack__avatars{display:flex}.avatar-stack__avatar{color:#fff;border:2px solid #fef8f6;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-left:-8px;font-size:.7rem;font-weight:700;display:flex}.avatar-stack__avatar:first-child{margin-left:0}.avatar-stack__label{color:#7e7e7e;font-size:.82rem;line-height:1.4}
.hero{max-width:1400px;margin:0 auto;padding:0 clamp(2rem,4vw,4rem) 4rem}.hero__layout{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,6vw,8rem);display:grid}.hero__left{flex-direction:column;display:flex}.hero__text{flex-direction:column;justify-content:center;gap:1.5rem;min-height:100vh;padding-top:0;padding-bottom:10rem;display:flex}.hero__heading{color:#1f1f1f;letter-spacing:-.02em;margin:0;font-size:3.5rem;font-weight:800;line-height:1.15}.hero__heading--accent{color:#f16b5c}.hero__subtext{color:#7e7e7e;max-width:480px;margin:0;font-size:1.1rem;line-height:1.65}.hero__actions{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.hero__right{align-items:center;height:calc(100vh - 72px);padding-bottom:4rem;display:flex;position:sticky;top:72px}.hero__cards{aspect-ratio:520/550;width:min(520px,100%);margin-left:auto;margin-right:auto;position:relative}.hero__card.card{position:absolute;width:38.5%!important}.hero__card:first-child{animation:6.5s ease-in-out infinite float-1;top:0;left:0;transform:rotate(-2.5deg)}.hero__card:nth-child(2){animation:6s ease-in-out infinite float-2;top:2.7%;left:53.8%;transform:rotate(2deg)}.hero__card:nth-child(3){animation:5.5s ease-in-out infinite float-3;top:33.6%;left:5.8%;transform:rotate(1.5deg)}.hero__card:nth-child(4){animation:5.8s ease-in-out infinite float-1;top:35.5%;left:57.7%;transform:rotate(-2deg)}.hero__card:nth-child(5){animation:5s ease-in-out infinite float-2;top:68.2%;left:28.8%;transform:rotate(1deg)}@keyframes float-1{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-10px)rotate(-3deg)}}@keyframes float-2{0%,to{transform:translateY(0)rotate(2deg)}50%{transform:translateY(-12px)rotate(2deg)}}@keyframes float-3{0%,to{transform:translateY(0)rotate(2deg)}50%{transform:translateY(-8px)rotate(2deg)}}.services-scroll{height:170vh;position:relative}.services-scroll__sticky{flex-direction:column;justify-content:flex-start;min-height:calc(100vh - 72px);padding-top:3rem;display:flex;position:sticky;top:72px}.services-scroll__header{padding:0 0 1.5rem}.services-scroll__header--mobile{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(20px)}.services-scroll__header--visible{opacity:1;transform:translateY(0)}.services-scroll__heading{color:#1f1f1f;letter-spacing:-.02em;margin:0 0 .75rem;font-family:Inter,sans-serif;font-size:2.5rem;font-weight:800;line-height:1.2}.services-scroll__heading--accent{color:#f16b5c}.services-scroll__sub{color:#7e7e7e;max-width:480px;margin:0;font-family:Inter,sans-serif;font-size:1.05rem;line-height:1.7}.services-scroll__list{flex-direction:column;gap:0;display:flex}.services-scroll__item{border-bottom:1px solid #ededed;border-left:2px solid #eaeaea;padding:1.5rem 0 1.5rem 1.5rem;transition:none;position:relative}.services-scroll--js .services-scroll__item{will-change:transform,opacity}.services-scroll__item:last-child{border-bottom:none}.services-scroll__dot{border-radius:50%;width:10px;height:10px;position:absolute;top:2rem;left:-6px}.services-scroll__title{color:#1f1f1f;margin:0 0 .4rem;font-family:Inter,sans-serif;font-size:1.15rem;font-weight:700;line-height:1.3}.services-scroll__desc{color:#7e7e7e;margin:0;font-family:Inter,sans-serif;font-size:.95rem;line-height:1.65}.hero__scroll{z-index:10;transition:opacity .5s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.hero__scroll--hidden{opacity:0;pointer-events:none}.hero__scroll-mouse{border:2px solid #d4d4d4;border-radius:12px;justify-content:center;width:22px;height:34px;padding-top:6px;display:flex}.hero__scroll-dot{background:#d4d4d4;border-radius:2px;width:3px;height:8px;animation:1.8s ease-in-out infinite scroll-bounce}@keyframes scroll-bounce{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.3;transform:translateY(6px)}}@media (max-width:900px){.hero{padding:0 2rem 2rem}.hero__layout{grid-template-columns:1fr;gap:1.5rem}.hero__text{min-height:auto;padding-bottom:2rem}.hero__heading{font-size:2.5rem}.hero__right{height:auto;padding-bottom:0;position:static}.hero__cards{max-width:500px;margin:0 auto}.services-scroll__heading{font-size:2rem}.services-scroll__sticky{padding:2rem 0}}@media (max-width:600px){.hero{padding:0 1.25rem 1rem}.hero__layout{gap:1rem}.hero__text{gap:1.25rem;min-height:auto;padding-top:0;padding-bottom:1.5rem}.hero__heading{font-size:2rem}.hero__subtext{font-size:.95rem}.hero__actions{gap:1rem}.hero__actions .btn{font-size:.85rem}.hero__actions .btn--primary{padding:.7rem 1.25rem}.hero__right,.hero__scroll{display:none}.services-scroll__heading{font-size:1.6rem}.services-scroll__sticky{min-height:auto;padding:1.5rem 0}.services-scroll__item{padding:1rem 0 1rem 1.25rem}.services-scroll__sub{font-size:.95rem}}
.portfolio{background:#fef8f6;padding:2rem 4rem 5rem}.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{text-align:center;margin-top:2.5rem}.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}}
.about{background:#fef8f6;padding:5rem 4rem}.about__header{text-align:center;max-width:600px;margin:0 auto 3rem}.about__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}.about__subheading{color:#7e7e7e;margin:0;font-family:Inter,sans-serif;font-size:1.05rem;line-height:1.7}.about__team{flex-direction:column;gap:1.25rem;max-width:680px;margin:0 auto;display:flex}.about__card{background:#fff;border-radius:16px;align-items:flex-start;gap:1.25rem;padding:1.5rem 1.75rem;display:flex;box-shadow:0 1px 3px #0000000a}.about__avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-family:Inter,sans-serif;font-size:1rem;font-weight:800;display:flex}.about__avatar-img{object-fit:cover;border-radius:50%;flex-shrink:0;width:56px;height:56px}.about__info{flex:1;min-width:0}.about__name-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.35rem;display:flex}.about__name{color:#1f1f1f;margin:0;font-family:Inter,sans-serif;font-size:1.05rem;font-weight:700;line-height:1.3}.about__role{border-radius:50px;padding:.15rem .55rem;font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;line-height:1.4}.about__title{color:#999;margin:0 0 .35rem;font-family:Inter,sans-serif;font-size:.8rem;line-height:1.4}.about__bio{color:#7e7e7e;margin:0;font-family:Inter,sans-serif;font-size:.9rem;line-height:1.6}.about__socials{gap:1rem;margin-top:.6rem;display:flex}.about__social-link{color:#555;background:#f2f2f2;border-radius:50px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.about__social-link:after{content:"";background:currentColor;width:10px;height:10px;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 2h6.5v6.5M9.5 2.5L2 10' stroke='currentColor' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 2h6.5v6.5M9.5 2.5L2 10' stroke='currentColor' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% no-repeat}.about__social-link:hover{color:#1f1f1f;background:#e8e8e8}.about__cta{text-align:center;margin-top:2.5rem}.about__cta-link{color:#f16b5c;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:color .2s}.about__cta-link:hover{color:#e05a4a}.about__arrow{transition:transform .2s;display:inline-block}.about__cta-link:hover .about__arrow{transform:translate(4px)}@media (max-width:900px){.about{padding:3.5rem 2rem}.about__heading{font-size:1.85rem}}@media (max-width:600px){.about{padding:2.5rem 1.25rem}.about__heading{font-size:1.5rem}.about__card{text-align:center;flex-direction:column;align-items:center;padding:1.5rem 1.25rem}.about__name-row,.about__socials{justify-content:center}.about__avatar{width:52px;height:52px;font-size:.9rem}}
.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}}
