/* General Sans by Indian Type Foundry; supplied through Fontshare (fontshare.com). */
@font-face{font-family:'General Sans';src:url('/assets/general-sans-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url('/assets/general-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url('/assets/general-sans-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url('/assets/general-sans-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
.if-site{--paper:#fff;--white:#fff;--ink:#1b1b1d;--muted:#65646a;--line:#dedde1;--soft:#f5f5f5;--accent:#603ee1;--accent-ink:#603ee1;--dark:#19191a;--radius:30px;background:var(--paper);color:var(--ink);font-family:'General Sans',Arial,sans-serif;font-weight:400}
.if-site ::selection{background:var(--accent);color:#fff}.if-site h1,.if-site h2,.if-site h3{font-weight:400;letter-spacing:-.04em}.if-site em{font-style:normal;color:var(--accent-ink);font-weight:500}.if-site p{max-width:none}.if-accent{color:var(--accent-ink)}
.if-wrap{width:calc(100% - 144px);max-width:1200px;margin-inline:auto}.if-panel{margin-inline:10px;border-radius:30px}.if-panel .if-wrap{width:calc(100% - 120px)}.if-label{display:inline-block;padding:5px 10px;border:1px solid currentColor;border-radius:99px;line-height:1.25;font-size:.875rem;text-transform:uppercase;letter-spacing:0;font-weight:400}.if-link{display:inline-flex;gap:11px;align-items:center;min-height:44px;font-size:1.125rem;line-height:1.35;font-weight:500;color:var(--accent-ink)}.if-link svg{height:28px;width:28px;transition:transform .25s}.if-link:hover svg{transform:translateX(6px)}.if-link:hover span{text-decoration:underline;text-underline-offset:5px}.if-button{background:var(--accent);color:#fff;border-radius:50px;padding:14px 25px;gap:22px;min-height:56px}
/* Reference proportions: small navigation, three centered lines, long white opening. */
.if-site .header{position:relative;top:auto;background:var(--paper);border:0}.if-site .header-inner{min-height:96px;display:grid;grid-template-columns:1fr auto 1fr;gap:28px;max-width:none;width:calc(100% - 40px)}.if-site .header .logo{width:146px}.if-site .main-nav{margin:0;gap:28px;font-size:1rem;font-weight:500}.if-site .main-nav>a:not(.btn){padding-block:16px}.if-header-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px}.if-header-actions>.if-link{font-size:1rem}.if-site .theme-toggle{min-width:36px;width:36px;min-height:36px;border:0;padding:8px;border-radius:50%}.if-site .theme-toggle .theme-label-light,.if-site .theme-toggle .theme-label-dark{display:none!important}.if-site .mobile-toggle,.if-site .if-mobile-contact{display:none}
.if-hero{height:calc(100svh - 96px);min-height:850px;padding:132px 30px 100px;text-align:center;position:relative}.if-hero-title{position:relative;max-width:1288px;margin-inline:auto}.if-hero h1{font-size:clamp(4.5rem,7.42vw,6.25rem);line-height:.94;letter-spacing:-.06em;font-weight:400;position:relative;z-index:2;text-wrap:initial}.if-hero h1>span{display:block;position:relative}.if-hero h1>span+span{margin-top:1px}.if-hero-object{position:absolute;width:300px;height:auto;top:-44px;left:calc(50% + 125px);z-index:1;pointer-events:none;animation:if-float 10s ease-in-out infinite;filter:drop-shadow(0 16px 12px #00000012)}.if-down{display:block;width:72px;margin:96px auto 0;color:var(--accent-ink);line-height:0}.if-down svg{width:72px;height:104px;transition:transform .25s}.if-down:hover svg{transform:translateY(7px)}
@keyframes if-float{0%,100%{transform:translate(0,0) rotate(-14deg)}50%{transform:translate(12px,22px) rotate(12deg)}}
/* The introductory statement and three cards share one quiet surface. */
.if-vision{background:#fafafa;padding:48px 0 70px}.if-vision h2{font-size:3rem;font-weight:300;line-height:1.2;letter-spacing:-.02em;margin-top:16px;text-wrap:initial}.if-vision h2 em{font-weight:500}.if-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:90px 16px 0}.if-benefit{background:#f3f3f3;border-radius:30px;padding:36px 38px 30px;display:flex;align-items:flex-start;flex-direction:column;min-width:0;min-height:376px}.if-number{font-size:1.375rem;line-height:1.2;color:var(--accent-ink)}.if-line-icon{height:65px;width:65px;margin-top:60px;margin-bottom:17px;color:#818181}.if-benefit h3{font-size:2.25rem;letter-spacing:-.025em;line-height:1.03;margin-bottom:10px}.if-benefit p{font-size:1rem;line-height:1.4;color:var(--muted);margin-bottom:15px}.if-benefit .if-link{margin-top:auto;font-size:1.125rem}.if-benefit:last-child{background:#19191a;color:#fff;--muted:#c3c1c8;--accent-ink:#b29aff}.if-benefit:last-child .if-number{color:#fff}.if-benefit:last-child .if-line-icon{color:#a5a3a8}
/* Concrete method in the position occupied by the reference's result section. */
.if-method{padding-top:115px;padding-bottom:60px}.if-method-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:65px}.if-method h2{font-size:clamp(3.5rem,5.8vw,5.2rem);line-height:1.02;margin-top:25px}.if-method-heading>div:last-child>p{font-size:1.375rem;font-weight:300;line-height:1.5}.if-method-heading .if-link{margin-top:24px}.if-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.if-step{background:var(--soft);border-radius:30px;padding:32px 38px 34px;min-height:280px;display:flex;flex-direction:column;align-items:start}.if-step>.if-label{margin-bottom:65px}.if-step h3{font-size:2.2rem;color:var(--accent-ink);line-height:1.08;margin-top:auto;margin-bottom:14px}.if-step p{font-size:1rem;line-height:1.45;color:var(--muted)}.if-product-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px 30px;padding-top:66px;font-size:1.55rem;letter-spacing:-.04em;font-weight:600}.if-product-strip a:hover{color:var(--accent-ink)}
/* Large material panels stack while scrolling, as in the supplied reference. */
.if-services{margin:30px 10px 0;position:relative}.if-service{min-height:600px;height:74svh;max-height:820px;border-radius:30px;overflow:hidden;position:sticky;top:16px;background:#26252e;color:#fff;isolation:isolate}.if-service+ .if-service{margin-top:-45px}.if-service:before,.if-service:after{content:'';position:absolute;inset:0;z-index:-1}.if-service:before{background-image:url('/assets/node99-liquid.webp');background-size:cover;background-position:center}.if-service:after{background:linear-gradient(90deg,#12111775,transparent 90%)}.if-service-work{z-index:1}.if-service-commerce{z-index:2}.if-service-commerce:before{filter:grayscale(1) brightness(.9);background-position:35% 45%;transform:scale(1.35)}.if-service-commerce:after{background:linear-gradient(90deg,#365764b0,#35465540)}.if-service-custom{z-index:3}.if-service-custom:before{filter:hue-rotate(52deg) saturate(.8);background-position:70% center;transform:scale(1.1)}.if-service-custom:after{background:linear-gradient(90deg,#31222cb5,#47134140)}.if-service-content{padding:55px 48px 90px;position:relative;z-index:1}.if-service-kicker{font-size:.875rem;line-height:1.4}.if-service h2{font-size:clamp(3.9rem,7.5vw,6.8rem);line-height:1.08;font-weight:400;letter-spacing:-.045em;margin-top:22px;margin-bottom:48px;max-width:1100px}.if-service p{font-size:1.125rem;color:#efedf4;line-height:1.45}.if-service ul{font-size:1.125rem;line-height:1.8;padding-left:19px;margin-top:20px;margin-bottom:22px}.if-service .if-link{color:#fff}
/* Offset human product tiles mirror the reference's project composition. */
.if-projects{position:relative;isolation:isolate;padding:115px 0 95px;overflow:hidden}.if-projects:before{content:'';position:absolute;left:50%;top:235px;width:1600px;height:1600px;transform:translateX(-50%);border-radius:50%;background:var(--soft);z-index:-1}.if-center-heading{text-align:center}.if-center-heading h2{font-size:clamp(3.5rem,6.7vw,6rem);line-height:1.05;letter-spacing:-.045em;margin:20px 20px 0}.if-center-heading .if-down{margin-top:45px}.if-center-heading .if-down svg{height:92px}.if-project-grid{display:grid;grid-template-columns:minmax(0,390px) minmax(0,390px);justify-content:space-between;align-items:start;column-gap:75px;row-gap:70px;margin-top:0;scroll-margin-top:40px}.if-project:nth-child(even){margin-top:140px}.if-project:nth-child(3){margin-top:-75px}.if-project-image{display:block;position:relative;border-radius:30px;overflow:hidden;background:var(--line)}.if-project-image img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .5s}.if-project-image:hover img{transform:scale(1.045)}.if-project-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#15151bbf);pointer-events:none}.if-project-image>span{position:absolute;left:25px;bottom:23px;z-index:1;font-size:1.25rem;font-weight:500;line-height:1.25;color:#fff}.if-project-image>svg{position:absolute;right:24px;bottom:23px;color:#fff;width:25px;height:25px;z-index:1}.if-project:nth-child(1) img{object-position:55% center}.if-project:nth-child(2) img{object-position:center 35%}.if-project-copy{padding:22px 8px 0}.if-project-copy h3{font-size:1.75rem;line-height:1.15;margin-bottom:13px;letter-spacing:-.025em}.if-project-copy p{font-size:1rem;line-height:1.5;color:var(--muted)}.if-project-copy .if-link{font-size:1rem;margin-top:14px}.if-other-products{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-top:70px}.if-other-products>p{font-size:1.25rem}.if-other-products>div{display:flex;gap:26px;flex-wrap:wrap}.if-other-products .if-link{font-size:1rem}
/* A single team, a short conversation, a compact footer. */
.if-team{padding:100px 0 115px}.if-team h2{font-size:clamp(3rem,5.9vw,5.5rem);line-height:1.05;margin-top:24px;margin-bottom:40px}.if-team-copy{max-width:650px;margin-left:auto;font-size:1.25rem;font-weight:300;line-height:1.55}.if-team-copy p+p{font-size:1rem;font-weight:400;color:var(--muted)}.if-team-copy .if-link{margin-top:25px}.if-conversation{background:var(--soft);padding:75px 0 82px;text-align:center}.if-conversation h2{font-size:clamp(4rem,8vw,7rem);line-height:1.02;margin:24px auto 32px}.if-conversation p{font-size:1.125rem;line-height:1.5}.if-conversation .if-link{font-size:1.5rem;margin-top:26px}.if-conversation .if-link svg{width:34px;height:34px}.if-footer{padding-block:65px 26px}.if-footer-top{display:flex;align-items:center;flex-wrap:wrap;gap:28px 42px;padding-bottom:46px}.if-footer-top .logo{width:175px}.if-footer-top>span{font-size:.875rem;line-height:1.4;color:var(--muted);margin-right:auto}.if-footer-top>a:not(.logo){font-size:1rem}.if-footer-bottom{border-top:1px solid var(--line);display:flex;gap:18px 28px;flex-wrap:wrap;padding-top:24px;font-size:.8125rem;color:var(--muted)}.if-footer-bottom>span{margin-right:auto}.if-footer a:hover{color:var(--accent-ink)}
/* The short introductions continue on the existing product and solution pages. */
.if-detail .wrap{max-width:1200px;width:calc(100% - 144px)}.if-detail .detail-hero{padding-block:65px 80px}.if-detail .detail-title-grid h1{font-size:clamp(2.7rem,5.2vw,5rem)}.if-detail .product-title{font-size:clamp(3.5rem,6vw,6rem)}.if-detail .product-hero h1{font-weight:400}.if-detail .btn{border-radius:50px;background:var(--accent);color:#fff;border-color:var(--accent);padding:16px 24px}.if-detail .btn:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.if-detail .btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.if-detail .text-link{color:var(--accent-ink);border:0}.if-detail .flow-panel,.if-detail .catalog-card,.if-detail .contact-form{border-radius:30px;background:var(--soft);border:0}.if-detail .catalog-card,.if-detail .flow-panel{padding:36px}.if-detail .eyebrow{letter-spacing:.02em;font-size:.875rem}.if-detail .reading-section h2{font-weight:400}.if-detail .page-index nav a{font-size:.875rem}.if-detail .closing{margin:16px 10px 0;border-radius:30px;background:var(--soft);color:var(--ink)}.if-detail .closing .body-copy{color:var(--muted)}.if-detail .closing.compact{padding-block:60px}.if-detail .contact-form input,.if-detail .contact-form textarea,.if-detail .contact-form select{border-radius:10px}.if-detail .contact-form .btn{border-radius:50px}.if-detail .form-result{border-radius:18px}
/* Accessible dark counterpart without changing the reference's composition. */
html[data-theme=dark] .if-site{--paper:#171719;--white:#222225;--ink:#f5f4f8;--muted:#bab7c0;--line:#3b393f;--soft:#232326;--accent:#b39bff;--accent-ink:#b39bff;--dark:#111113}html[data-theme=dark] .if-vision{background:#1c1c1f}html[data-theme=dark] .if-benefit{background:#252528}html[data-theme=dark] .if-benefit:last-child{background:#0c0c0e}html[data-theme=dark] .if-benefit .if-line-icon{color:#b0acb8}html[data-theme=dark] .if-button,html[data-theme=dark] .if-detail .btn{background:var(--accent);border-color:var(--accent);color:#201335}html[data-theme=dark] .if-detail .btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}html[data-theme=dark] .if-hero-object{filter:drop-shadow(0 0 20px #b19bea28)}
@media(max-width:1100px){.if-wrap,.if-detail .wrap{width:calc(100% - 80px)}.if-panel .if-wrap{width:calc(100% - 70px)}.if-site .header-inner{gap:20px}.if-site .main-nav{gap:22px;font-size:.9375rem}.if-site .header .logo{width:130px}.if-header-actions{gap:7px}.if-header-actions>.if-link{font-size:.9375rem}.if-hero{min-height:760px;padding-top:130px}.if-hero h1{font-size:7.6vw}.if-hero-object{width:250px;left:calc(50% + 90px);top:-45px}.if-vision h2{font-size:2.6rem}.if-benefits{margin-inline:0;margin-top:70px}.if-benefit{padding:30px 25px}.if-benefit h3{font-size:1.95rem}.if-method-heading{gap:55px}.if-step{padding:28px}.if-step h3{font-size:1.8rem}.if-services{margin-top:20px}.if-service h2{font-size:7.2vw}.if-service-content{padding-inline:38px}.if-project-grid{column-gap:80px;grid-template-columns:minmax(0,350px) minmax(0,350px)}.if-project-copy h3{font-size:1.6rem}.if-footer-top{gap:24px 32px}}
@media(min-width:761px) and (max-width:900px){.if-site .header-inner{gap:10px}.if-site .main-nav{gap:16px;font-size:.875rem}.if-site .header .logo{width:112px}.if-header-actions>.if-link{font-size:.875rem;gap:5px}.if-header-actions>.if-link svg{width:22px}.if-header-actions{gap:5px}.if-site .theme-toggle{width:32px;min-width:32px}.if-header-actions .theme-toggle svg{width:17px;height:17px}}
@media(max-width:760px){.if-wrap,.if-detail .wrap{width:calc(100% - 40px)}.if-panel{margin-inline:8px;border-radius:24px}.if-panel .if-wrap{width:calc(100% - 36px)}.if-site .header-inner{display:flex;min-height:80px;width:calc(100% - 40px);gap:16px}.if-site .header .logo{width:140px;margin-right:auto}.if-site .mobile-toggle{display:flex;order:3;padding:7px 0;gap:7px;font-size:.9375rem}.if-header-actions{order:2}.if-header-actions>.if-link{display:none}.if-site .theme-toggle{order:initial;min-width:36px;width:36px}.if-site .main-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:10px 20px 20px;background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100dvh - 80px);overflow-y:auto;z-index:35}.if-site .main-nav .if-mobile-contact{display:block;color:var(--accent-ink)}.if-site .main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.if-site .main-nav>a:not(.btn){padding:18px 0;border-bottom:1px solid var(--line);font-size:1.125rem}.if-hero{height:calc(100svh - 80px);min-height:670px;padding:110px 18px 70px}.if-hero h1{font-size:clamp(2.9rem,8.9vw,4.3rem);line-height:.99;letter-spacing:-.055em}.if-hero-object{width:170px;left:calc(50% + 25px);top:-76px;opacity:.95}.if-down{margin-top:72px;width:60px}.if-down svg{width:60px;height:86px}.if-vision{padding:36px 0 38px}.if-label{font-size:.8125rem}.if-vision h2{font-size:clamp(1.85rem,6vw,2.6rem);line-height:1.2;margin-top:20px}.if-benefits{grid-template-columns:1fr;margin-top:38px;gap:12px}.if-benefit{padding:27px 30px;min-height:315px;border-radius:24px}.if-line-icon{margin-top:30px;margin-bottom:12px}.if-benefit h3{font-size:2rem}.if-benefit h3 br{display:none}.if-benefit .if-link{margin-top:12px;font-size:1rem}.if-method{padding-top:65px;padding-bottom:28px}.if-method-heading{display:block;margin-bottom:34px}.if-method h2{font-size:3.5rem;margin-top:24px}.if-method-heading>div:last-child{margin-top:28px}.if-method-heading>div:last-child>p{font-size:1.125rem}.if-steps{grid-template-columns:1fr;gap:12px}.if-step{min-height:205px;border-radius:24px;padding:26px 28px}.if-step>.if-label{margin-bottom:28px}.if-step h3{font-size:2rem;margin-top:0}.if-product-strip{gap:22px 26px;justify-content:flex-start;padding-top:38px;font-size:1.25rem}.if-services{margin:25px 8px 0}.if-service{top:8px;min-height:540px;height:75svh;max-height:730px;border-radius:24px}.if-service+.if-service{margin-top:-30px}.if-service-content{padding:36px 26px 68px}.if-service-kicker{font-size:.8125rem}.if-service h2{font-size:clamp(2.8rem,9vw,4rem);line-height:1.1;margin-top:26px;margin-bottom:32px}.if-service p,.if-service ul{font-size:1rem}.if-service .if-link{font-size:1rem}.if-projects{padding-top:65px;padding-bottom:50px}.if-projects:before{top:185px;width:1000px;height:100%;border-radius:45% 45% 0 0}.if-center-heading h2{font-size:clamp(2.75rem,9vw,4rem);margin-top:22px}.if-center-heading .if-down{margin-top:25px}.if-center-heading .if-down svg{height:72px;width:50px}.if-project-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.if-project:nth-child(even),.if-project:nth-child(3){margin-top:0}.if-project-image{border-radius:24px}.if-project-image img{aspect-ratio:1.15}.if-project-copy{padding:20px 5px 0}.if-project-copy h3{font-size:1.65rem}.if-other-products{padding-top:40px;display:block}.if-other-products>div{margin-block:18px 24px;gap:22px}.if-team{padding:65px 0}.if-team h2{font-size:clamp(2.5rem,8.5vw,3.75rem);margin-bottom:28px}.if-team-copy{font-size:1.125rem}.if-conversation{padding:45px 0 50px}.if-conversation h2{font-size:clamp(3rem,10.6vw,4.6rem);margin-block:26px}.if-conversation p{font-size:1rem}.if-conversation .if-link{font-size:1.25rem}.if-footer{padding:45px 0 24px}.if-footer-top{gap:24px;display:grid;grid-template-columns:1fr;padding-bottom:30px}.if-footer-top .logo{width:170px}.if-footer-top>span{margin:0}.if-footer-bottom{font-size:.8125rem;gap:16px 22px}.if-footer-bottom>span{width:100%}.if-detail .detail-hero{padding-block:35px 50px}.if-detail .detail-title-grid h1{font-size:clamp(2.5rem,8.5vw,3.5rem)}.if-detail .product-title{font-size:clamp(2.6rem,10vw,4rem)}.if-detail .flow-panel,.if-detail .catalog-card{padding:26px}.if-detail .contact-form{margin-inline:0;padding:26px 20px;border-radius:24px}.if-detail .closing{margin-inline:8px;border-radius:24px}.if-detail .closing.compact{padding-block:40px}}
@media(prefers-reduced-motion:reduce){.if-site *,.if-site *:before{animation:none!important;transition:none!important}}

/* Original document copy: retain the composition while giving longer text room. */
.if-document-copy .if-hero h1{font-size:clamp(3rem,6.2vw,6rem);line-height:1.04;letter-spacing:-.055em}
.if-document-copy .if-hero{height:auto;min-height:850px}
.if-document-copy .if-vision-statement{font-size:3rem;font-weight:300;line-height:1.2;letter-spacing:-.02em;margin-top:18px}
.if-document-copy .if-vision-copy{max-width:760px;font-size:1.125rem;line-height:1.6;margin:30px 0 0 auto}
.if-document-actions{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:24px}
.if-document-copy .if-solution-index-title{font-size:1.8rem;font-weight:400;margin-top:65px;max-width:900px}
.if-document-copy .if-benefits{margin-top:35px}
.if-document-copy .if-benefit h3{margin-bottom:24px}
.if-document-copy .if-benefit .if-link{font-size:1rem}
.if-document-copy .if-step h3{font-size:1.8rem;line-height:1.12}
.if-document-copy .if-step p+p{margin-top:16px}
.if-document-copy .if-service{height:auto;min-height:640px;max-height:none}
.if-document-copy .if-service-content>p{max-width:780px}
.if-document-copy .if-project-copy p+p{margin-top:16px}
.if-document-copy .if-project-copy .if-document-actions{margin-top:14px}
.if-document-copy .if-project-copy .if-link{margin-top:0}
.if-document-copy .if-conversation h2{max-width:1000px}
@media(max-width:1100px){.if-document-copy .if-hero{min-height:760px}.if-document-copy .if-hero h1{font-size:6.7vw}.if-document-copy .if-vision-statement{font-size:2.6rem}.if-document-copy .if-method h2{font-size:4rem}.if-document-copy .if-step{padding:28px}.if-document-copy .if-step h3{font-size:1.6rem}}
@media(max-width:760px){.if-document-copy .if-hero{min-height:670px}.if-document-copy .if-hero h1{font-size:clamp(2.7rem,8vw,4rem);line-height:1.08}.if-document-copy .if-vision-statement{font-size:clamp(1.85rem,6vw,2.6rem)}.if-document-copy .if-vision-copy{font-size:1rem;margin-top:25px}.if-document-copy .if-solution-index-title{font-size:1.6rem;margin-top:40px}.if-document-copy .if-benefits{margin-top:28px}.if-document-copy .if-method h2{font-size:3rem}.if-document-copy .if-step h3{font-size:1.8rem}.if-document-copy .if-service{min-height:540px}.if-document-copy .if-service h2{font-size:clamp(2.6rem,8vw,4rem)}.if-document-copy .if-document-actions{gap:12px 22px}.if-document-copy .if-document-actions .if-link{font-size:1rem}.if-document-copy .if-team h2{font-size:clamp(2.4rem,8vw,3.5rem)}.if-document-copy .if-conversation h2{font-size:clamp(2.7rem,9vw,4rem)}}
