@property --wfs-angle { syntax: "<angle>"; initial-value: 45deg; inherits: false; }

.wfs-main { padding: 0; }
.wfs-page, .wfs-page * { box-sizing: border-box; }
.wfs-page { --wfs-dark:#000; --wfs-light:#f5f5f5; --wfs-text-dark:#181b25; --wfs-text-muted:#525866; --wfs-text-on-dark:#cacfd8; --wfs-turquoise:#50828e; --wfs-turquoise-light:#72a1ab; overflow-x:hidden; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.wfs-page .wfs-title { margin:0; font-family:inherit; font-weight:500; letter-spacing:-.02em; }
.wfs-page .wfs-title--dark { background:linear-gradient(90deg,#fff 6.96%,#50828e 100%); background-clip:text; color:transparent; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.wfs-page .wfs-title--light { background:linear-gradient(90deg,#50828e 0%,#262f3e 100%); background-clip:text; color:transparent; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

.wfs-page .rd-button { display:inline-flex; align-items:center; justify-content:center; width:fit-content; padding:.625rem 1.25rem; border:1px solid transparent; border-radius:.75rem; font-family:inherit; font-weight:500; line-height:1.5; letter-spacing:-.02em; text-decoration:none; white-space:nowrap; transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease; }
.wfs-page .rd-button--sm { font-size:.875rem; }
.wfs-page .rd-button--md { font-size:1rem; }
.wfs-page .rd-button--dark { border-color:rgb(255 255 255 / 30%); background:rgb(255 255 255 / 5%); color:#fff; }
.wfs-page .rd-button--dark:hover { border-color:#fff; background:rgb(255 255 255 / 10%); color:#fff; }
.wfs-page .rd-button--light { border-color:var(--wfs-turquoise-light); background:rgb(114 161 171 / 15%); color:var(--wfs-turquoise-light); }
.wfs-page .rd-button--light:hover { background:rgb(114 161 171 / 30%); color:var(--wfs-turquoise-light); }
.wfs-page .rd-button:focus-visible,.wfs-page .wfs-anchor-card:focus-visible,.wfs-page .wfs-cookie-nav:focus-visible,.wfs-page .wfs-cookie-toggle:focus-visible,.wfs-page .wfs-cookie-carousel:focus-visible { outline:2px solid #7ad7d2; outline-offset:4px; }

.wfs-hero { padding:80px 24px; background:var(--wfs-dark); color:#fff; }
.wfs-hero__inner { display:flex; max-width:1200px; margin:0 auto; flex-direction:column; align-items:center; gap:16px; text-align:center; }
.wfs-hero .wfs-title { max-width:900px; font-size:clamp(40px,6vw,64px); line-height:1.15; }
.wfs-hero__inner>p { max-width:680px; margin:0; color:var(--wfs-text-on-dark); font-size:18px; line-height:1.6; }
.wfs-hero__action { margin-top:8px; }
.wfs-hero__anchors { display:flex; margin:48px auto 0; flex-wrap:wrap; justify-content:center; gap:16px; }
.wfs-anchor-card { display:block; color:inherit; text-decoration:none; }
.wfs-anchor-card__inner { position:relative; z-index:1; display:flex; width:152px; height:142px; flex-direction:column; align-items:center; justify-content:center; gap:10px; border:1px solid rgb(255 255 255 / 12%); border-radius:1.75rem; background:linear-gradient(145deg,#151515,#080808); text-align:center; transition:transform 300ms ease-out; }
.wfs-anchor-card__inner::after,.wfs-anchor-card__inner::before { position:absolute; z-index:-1; inset:-1px; padding:2px; border-radius:inherit; background:conic-gradient(from var(--wfs-angle),#5f9cf2 0 35deg,transparent 45deg 260deg,#111 270deg,#5f9cf2 360deg); content:""; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:subtract; opacity:0; pointer-events:none; }
.wfs-anchor-card__inner::before { padding:3px; filter:blur(4px); }
.wfs-anchor-card:hover .wfs-anchor-card__inner { transform:translateY(-4px); }
.wfs-anchor-card:hover .wfs-anchor-card__inner::after { animation:wfs-card-spin 4s linear 1 forwards; }
.wfs-anchor-card:hover .wfs-anchor-card__inner::before { animation:wfs-card-spin-glow 4s linear 1 forwards; }
.wfs-anchor-card__icon { display:flex; width:40px; height:40px; align-items:center; justify-content:center; color:#fff; }
.wfs-anchor-card__icon img { display:block; width:100%; height:100%; }
.wfs-anchor-card__label { max-width:120px; color:#fff; font-size:13px; font-weight:500; line-height:1.3; letter-spacing:-.01em; }
@keyframes wfs-card-spin { 0%{--wfs-angle:60deg;opacity:1} 80%{--wfs-angle:450deg;opacity:1} 100%{--wfs-angle:510deg;opacity:0} }
@keyframes wfs-card-spin-glow { 0%{--wfs-angle:60deg;opacity:.7} 80%{--wfs-angle:450deg;opacity:.7} 100%{--wfs-angle:510deg;opacity:0} }

.wfs-section { width:100%; }
.wfs-section--light,.wfs-cookie-section,.wfs-cta { background-color:var(--wfs-light); color:var(--wfs-text-dark); }
.wfs-section--dark { background-color:var(--wfs-dark); color:#fff; }
.wfs-section__inner { display:flex; width:100%; max-width:1200px; margin:0 auto; padding:clamp(56px,8vh,64px) 24px; flex-direction:column; align-items:center; justify-content:center; }
.wfs-two-col { display:grid; width:100%; grid-template-columns:5fr 7fr; align-items:center; gap:4rem; }
.wfs-two-col__left { display:flex; flex-direction:column; align-items:flex-start; gap:1.25rem; }
.wfs-two-col .wfs-title { font-size:clamp(28px,3.5vw,44px); line-height:1.1; }
.wfs-two-col__left>p { margin:0; color:var(--wfs-text-muted); font-size:16px; line-height:1.6; }
.wfs-service-grid { display:grid; width:100%; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.wfs-service-card { display:flex; padding:24px; flex-direction:column; gap:12px; border:1px solid #99a0ae; border-radius:1.25rem; background:var(--wfs-light); transition:border-color 200ms ease,box-shadow 200ms ease,transform 200ms ease; }
.wfs-service-card:hover { border-color:#293442; box-shadow:0 8px 24px rgb(0 0 0 / 10%); transform:translateY(-4px); }
.wfs-service-card__icon { display:flex; width:48px; height:48px; align-items:center; justify-content:center; color:var(--wfs-turquoise); }
.wfs-service-card__icon img { display:block; width:100%; height:100%; }
.wfs-service-card h3,.wfs-cookie-card h3 { margin:0; color:var(--wfs-text-dark); font-size:18px; font-weight:500; line-height:1.3; letter-spacing:-.01em; }
.wfs-service-card p,.wfs-cookie-card p { margin:0; color:var(--wfs-text-muted); font-size:14px; line-height:1.6; }

.wfs-seo-intro { display:flex; max-width:780px; margin:0 auto; flex-direction:column; align-items:center; gap:1.25rem; text-align:center; }
.wfs-seo-intro .wfs-title,.wfs-cookie-hero .wfs-title { font-size:clamp(32px,4vw,48px); line-height:1.1; }
.wfs-seo-intro>p { max-width:68ch; margin:0; color:var(--wfs-text-on-dark); font-size:16px; line-height:1.65; }
.wfs-seo-intro>.rd-button { margin-top:.5rem; }
.wfs-seo-grid { display:grid; width:100%; max-width:960px; margin:4rem auto 0; grid-template-columns:repeat(2,1fr); gap:4rem 3rem; }
.wfs-seo-card { display:flex; flex-direction:column; align-items:center; gap:1.25rem; text-align:center; }
.wfs-seo-card__icon { display:flex; width:40px; height:40px; align-items:center; justify-content:center; color:#fff; opacity:.85; }
.wfs-seo-card__icon img { display:block; width:40px; height:40px; filter:brightness(0) invert(1); }
.wfs-seo-card h3 { margin:0; color:#fff; font-size:24px; font-weight:500; line-height:1.2; letter-spacing:-.01em; }
.wfs-seo-card p { max-width:36ch; margin:0; color:var(--wfs-text-on-dark); font-size:16px; line-height:1.65; }

.wfs-cookie-section { padding:80px 24px; overflow:hidden; }
.wfs-cookie-section__inner { display:flex; max-width:1200px; margin:0 auto; flex-direction:column; gap:3rem; }
.wfs-cookie-hero { display:flex; max-width:680px; flex-direction:column; align-items:flex-start; gap:1.25rem; }
.wfs-cookie-hero>p { max-width:60ch; margin:0; color:var(--wfs-text-muted); font-size:16px; line-height:1.6; }
.wfs-cookie-hero>.rd-button { margin-top:.5rem; }
.wfs-cookie-carousel-region { position:relative; padding-top:56px; }
.wfs-cookie-carousel-wrapper { position:relative; display:flex; align-items:stretch; gap:1rem; }
.wfs-cookie-nav { display:flex; width:48px; height:48px; flex:0 0 48px; align-self:center; align-items:center; justify-content:center; padding:0; border:1px solid #99a0ae; border-radius:50%; background:#fff; color:var(--wfs-turquoise); cursor:pointer; transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease,opacity 200ms ease,transform 200ms ease; }
.wfs-cookie-nav:hover { border-color:var(--wfs-turquoise); background:var(--wfs-turquoise); color:#fff; transform:scale(1.05); }
.wfs-cookie-nav:disabled { opacity:.3; cursor:not-allowed; pointer-events:none; }
.wfs-cookie-nav img { display:block; width:20px; height:20px; transition:filter 200ms ease; }
.wfs-cookie-nav:hover img { filter:brightness(0) invert(1); }
.wfs-cookie-carousel { display:flex; min-width:0; flex:1; align-items:stretch; gap:1.5rem; padding:8px 0; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
.wfs-cookie-carousel::-webkit-scrollbar { display:none; }
.wfs-cookie-carousel__item { display:flex; min-width:280px; flex:0 0 calc(33.333% - 1rem); scroll-snap-align:start; }
.wfs-cookie-toggle { position:absolute; top:-56px; right:0; display:inline-flex; min-width:48px; height:40px; align-items:center; justify-content:center; padding:0 14px; border:1px solid #99a0ae; border-radius:999px; background:#fff; color:var(--wfs-text-dark); cursor:pointer; font-weight:700; }
.wfs-cookie-toggle:hover { border-color:var(--wfs-turquoise); background:var(--wfs-turquoise); color:#fff; }
.wfs-cookie-card { display:flex; width:100%; min-width:280px; height:100%; padding:32px; flex-direction:column; align-items:flex-start; gap:1rem; border:1px solid #99a0ae; border-radius:1.5rem; background:var(--wfs-light); transition:border-color 200ms ease,box-shadow 200ms ease,transform 200ms ease; }
.wfs-cookie-card:hover { border-color:#293442; box-shadow:0 8px 24px rgb(0 0 0 / 10%); transform:translateY(-2px); }
.wfs-cookie-card__icon { display:flex; width:40px; height:40px; flex:0 0 40px; align-items:center; justify-content:center; color:var(--wfs-turquoise); }
.wfs-cookie-card__icon img { display:block; width:100%; height:100%; }

.wfs-page>.rd-faq { width:100%; }
.wfs-page>.rd-faq.rd-faq--dark { background:var(--wfs-dark); }
.wfs-page>.rd-faq { padding-block:clamp(56px,8vh,64px); }
.wfs-cta { --wfs-cta-black:#060606; --wfs-cta-image:url("../../assets/media/DATAMIMIC-Mockup.jpg"); position:relative; isolation:isolate; min-height:clamp(720px,66.6667vw,960px); overflow:hidden; background-color:var(--wfs-cta-black); background-image:none; color:#fff; }
.wfs-cta::before { content:""; position:absolute; z-index:0; inset-block:0; left:50%; width:min(100%,1440px); transform:translateX(-50%); pointer-events:none; background:var(--wfs-cta-image) center / contain no-repeat; }
.wfs-cta::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(180deg,var(--wfs-cta-black) 0%,rgb(6 6 6 / 70%) 5%,transparent 15%,transparent 69%,rgb(6 6 6 / 55%) 84%,var(--wfs-cta-black) 100%),linear-gradient(90deg,var(--wfs-cta-black) 0%,rgb(6 6 6 / 72%) 5%,transparent 14%,transparent 82%,rgb(6 6 6 / 58%) 94%,var(--wfs-cta-black) 100%); }
.wfs-cta__inner { position:relative; z-index:2; display:flex; width:100%; max-width:1200px; margin:0 auto; padding:60px 24px 80px; flex-direction:column; align-items:flex-start; }
.wfs-cta .wfs-title { font-size:clamp(28px,4vw,48px); line-height:1.2; background:none; color:#fff; -webkit-text-fill-color:#fff; text-shadow:0 2px 18px rgb(0 0 0 / 55%); }
.wfs-cta__inner>p { max-width:560px; margin:12px 0 0; color:#fff; font-size:16px; line-height:1.6; text-shadow:0 2px 12px rgb(0 0 0 / 70%); }
.wfs-cta__action { margin-top:32px; }

@media (min-width:1441px) {
	.wfs-cta::before { width:1440px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
}

@media (max-width:1024px) {
	.wfs-hero { padding:60px 24px; }
	.wfs-two-col { grid-template-columns:1fr; gap:2.5rem; }
	.wfs-service-grid { gap:1rem; }
	.wfs-seo-grid { margin-top:3rem; gap:3rem 2rem; }
	.wfs-cookie-section { padding:60px 24px; }
	.wfs-cookie-carousel__item { flex-basis:calc(50% - .75rem); }
	.wfs-cta::before { width:100%; background-position:62% center; background-size:cover; }
	.wfs-cta__inner { height:100%; justify-content:flex-start; }
}
@media (max-width:768px) {
	.wfs-section__inner { padding:clamp(48px,7vh,60px) 16px; }
	.wfs-cookie-section { padding:48px 16px; }
	.wfs-cookie-hero { max-width:100%; }
	.wfs-cookie-carousel__item { min-width:0; flex-basis:100%; }
	.wfs-cookie-card { min-width:240px; padding:24px; }
	.wfs-cookie-nav { display:none; }
	.wfs-cta::before { width:100%; background-position:62% center; background-size:cover; }
	.wfs-cta__inner { padding:48px 16px 64px; }
}
@media (max-width:600px) {
	.wfs-cta { min-height:620px; }
	.wfs-hero { padding:48px 16px; }
	.wfs-hero__inner { align-items:flex-start; text-align:left; }
	.wfs-hero .wfs-title { font-size:36px; }
	.wfs-anchor-card__icon { width:48px; height:48px; }
	.wfs-anchor-card__label { font-size:16px; }
	.wfs-section__inner { padding:clamp(40px,7vh,48px) 16px; }
	.wfs-service-grid,.wfs-seo-grid { grid-template-columns:1fr; }
	.wfs-seo-grid { margin-top:2.5rem; gap:2.5rem; }
	.wfs-seo-intro { align-items:flex-start; text-align:left; }
	.wfs-cookie-section { padding:40px 16px; }
	.wfs-cookie-hero .wfs-title,.wfs-cta .wfs-title { font-size:28px; }
	.wfs-cta::before { background-position:40% center; background-size:cover; }
	.wfs-cta::after { display:none; }
	.wfs-cta__inner { height:auto; padding:40px 16px 56px; }
	.wfs-cta__action { margin-top:24px; }
}
@media (prefers-reduced-motion:reduce) {
	.wfs-page *,.wfs-page *::before,.wfs-page *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
